4
4
* See License-AGPL.txt in the project root for license information.
5
5
*/
6
6
7
- import { inject , injectable } from "inversify" ;
7
+ import { inject , injectable , interfaces } from "inversify" ;
8
8
import { MessageBusIntegration } from "./messagebus-integration" ;
9
9
import { Disposable , WorkspaceInstance , Queue , WorkspaceInstancePort , PortVisibility , RunningWorkspaceInfo , DisposableCollection } from "@gitpod/gitpod-protocol" ;
10
10
import { WorkspaceStatus , WorkspacePhase , GetWorkspacesRequest , WorkspaceConditionBool , PortVisibility as WsManPortVisibility , WorkspaceType , PromisifiedWorkspaceManagerClient } from "@gitpod/ws-manager/lib" ;
@@ -20,7 +20,7 @@ import { Timestamp } from "google-protobuf/google/protobuf/timestamp_pb";
20
20
import { Configuration } from "./config" ;
21
21
import { WorkspaceCluster } from "@gitpod/gitpod-protocol/lib/workspace-cluster" ;
22
22
import { repeat } from "@gitpod/gitpod-protocol/lib/util/repeat" ;
23
- import { PreparingUpdateEmulator } from "./preparing-update-emulator" ;
23
+ import { PreparingUpdateEmulator , PreparingUpdateEmulatorFactory } from "./preparing-update-emulator" ;
24
24
25
25
export const WorkspaceManagerBridgeFactory = Symbol ( "WorkspaceManagerBridgeFactory" ) ;
26
26
@@ -51,6 +51,9 @@ export class WorkspaceManagerBridge implements Disposable {
51
51
@inject ( Configuration )
52
52
protected readonly config : Configuration ;
53
53
54
+ @inject ( PreparingUpdateEmulatorFactory )
55
+ protected readonly preparingUpdateEmulatorFactory : interfaces . Factory < PreparingUpdateEmulator > ;
56
+
54
57
@inject ( IAnalyticsWriter )
55
58
protected readonly analytics : IAnalyticsWriter ;
56
59
@@ -88,7 +91,7 @@ export class WorkspaceManagerBridge implements Disposable {
88
91
startStatusUpdateHandler ( false ) ;
89
92
90
93
// emulate WorkspaceInstance updates for all Workspaces in the "preparing" phase in this cluster
91
- const updateEmulator = new PreparingUpdateEmulator ( ) ;
94
+ const updateEmulator = this . preparingUpdateEmulatorFactory ( ) as PreparingUpdateEmulator ;
92
95
this . disposables . push ( updateEmulator ) ;
93
96
updateEmulator . start ( cluster . name ) ;
94
97
}
0 commit comments