fix(web): isolate project refresh recovery

This commit is contained in:
2026-07-22 13:39:48 +08:00
parent 89d2f4659f
commit 51c6fea343
5 changed files with 175 additions and 49 deletions

View File

@@ -3,6 +3,7 @@ import { existsSync, readFileSync } from 'node:fs'
const requiredFiles = [
'src/app/App.tsx',
'src/app/mutation-refresh.ts',
'src/app/project-refresh-coordinator.ts',
'src/pages/login.tsx',
'src/pages/workspace-body.tsx',
'src/pages/workspace-home.tsx',
@@ -31,6 +32,7 @@ const requiredFiles = [
'scripts/workspace-refresh-gate.test.mjs',
'scripts/mutation-refresh.test.mjs',
'scripts/mutation-wiring.test.mjs',
'scripts/project-refresh-coordinator.test.mjs',
]
const failures = requiredFiles.filter((file) => !existsSync(file)).map((file) => `missing ${file}`)
@@ -62,7 +64,7 @@ if (existsSync('src/app/App.tsx')) {
failures.push(`src/app/App.tsx still contains ${forbidden}`)
}
}
for (const required of ['createWorkspaceRefreshGate', 'captureProjectInbox', 'refreshProjectWorkspace']) {
for (const required of ['createProjectRefreshCoordinator', 'pendingRefreshProjectIDs', 'captureProjectInbox', 'refreshProjectWorkspace']) {
if (!appSource.includes(required)) failures.push(`src/app/App.tsx must include ${required}`)
}
}