MCPcopy
hub / github.com/coder/mux / initialize

Method initialize

src/node/services/workspaceService.ts:2056–2092  ·  view source on GitHub ↗

* Best-effort startup recovery for non-task chats so restart auto-retry can resume * interrupted turns before the user explicitly opens each workspace.

()

Source from the content-addressed store, hash-verified

2054 * interrupted turns before the user explicitly opens each workspace.
2055 */
2056 async initialize(): Promise<void> {
2057 const startupStartedAt = Date.now();
2058
2059 try {
2060 const allMetadata = await this.config.getAllWorkspaceMetadata();
2061 let scheduledCount = 0;
2062 let skippedTaskCount = 0;
2063 let skippedArchivedCount = 0;
2064
2065 for (const metadata of allMetadata) {
2066 if (metadata.taskStatus) {
2067 skippedTaskCount += 1;
2068 continue;
2069 }
2070
2071 if (isWorkspaceArchived(metadata.archivedAt, metadata.unarchivedAt)) {
2072 skippedArchivedCount += 1;
2073 continue;
2074 }
2075
2076 this.startStartupRecovery(metadata.id);
2077 scheduledCount += 1;
2078 }
2079
2080 log.info("[startup] WorkspaceService.initialize completed", {
2081 totalMs: Date.now() - startupStartedAt,
2082 scheduledCount,
2083 skippedTaskCount,
2084 skippedArchivedCount,
2085 });
2086 } catch (error) {
2087 log.warn("[startup] WorkspaceService.initialize failed", {
2088 totalMs: Date.now() - startupStartedAt,
2089 error: error instanceof Error ? error.message : String(error),
2090 });
2091 }
2092 }
2093
2094 isExperimentEnabled(experimentId: (typeof EXPERIMENT_IDS)[keyof typeof EXPERIMENT_IDS]): boolean {
2095 return this.experimentsService?.isExperimentEnabled(experimentId) === true;

Callers

nothing calls this directly

Calls 3

startStartupRecoveryMethod · 0.95
isWorkspaceArchivedFunction · 0.90

Tested by

no test coverage detected