mirror of
https://github.com/stablyai/orca.git
synced 2026-11-13 09:27:29 +00:00
refactor: group WSL and Orcad migration owners (#41148)
This commit is contained in:
@@ -35,7 +35,6 @@ on:
|
||||
- '!**/*.test.ts'
|
||||
- '!**/*.test.tsx'
|
||||
- 'src/main/wsl/orcad/wsl-orcad-real-distro-lane.test.ts'
|
||||
- 'src/main/persistence/moving-wsl-projects/wsl-move-real-pause.test.ts'
|
||||
- 'src/main/wsl/orcad/wsl-orcad-real-distro-idle-release-lane.test.ts'
|
||||
- '.github/workflows/wsl-orcad-e2e.yml'
|
||||
- 'config/ci/wsl-lifecycle/**'
|
||||
@@ -343,18 +342,6 @@ jobs:
|
||||
run: |
|
||||
node node_modules/vitest/vitest.mjs run --config config/vitest.config.ts src/main/wsl/orcad/wsl-orcad-real-distro-lane.test.ts --reporter=verbose 2>&1 | Tee-Object (Join-Path $env:ORCA_WSL_ORCAD_LANE_RECEIPTS 'survive.log')
|
||||
if ($global:LASTEXITCODE -ne 0) { throw "survive phase failed: $global:LASTEXITCODE" }
|
||||
# The WSL move's pause on real distro shells: Sleep ends them, the daemon proves the exit,
|
||||
# the journal keeps each pane's folder, and a new shell opens there.
|
||||
- name: 'WSL move: pause real distro terminals'
|
||||
if: ${{ !cancelled() && steps.import.outcome == 'success' }}
|
||||
timeout-minutes: 10
|
||||
env:
|
||||
ORCA_WSL_MOVE_REAL_PAUSE_DISTRO: ${{ env.PLAIN_DISTRO }}
|
||||
run: |
|
||||
New-Item -ItemType Directory -Force $env:ORCA_WSL_ORCAD_LANE_RECEIPTS | Out-Null
|
||||
node node_modules/vitest/vitest.mjs run --config config/vitest.config.ts src/main/persistence/moving-wsl-projects/wsl-move-real-pause.test.ts --reporter=verbose 2>&1 | Tee-Object (Join-Path $env:ORCA_WSL_ORCAD_LANE_RECEIPTS 'wsl-move-real-pause.log')
|
||||
if ($global:LASTEXITCODE -ne 0) { throw "WSL move real pause failed: $global:LASTEXITCODE" }
|
||||
wsl.exe --terminate $env:PLAIN_DISTRO
|
||||
# R40: with no terminal left, orcad idle-exits and the holder lets the distro stop on its own.
|
||||
- name: 'Phase 3: idle orcad releases the distro'
|
||||
timeout-minutes: 30
|
||||
|
||||
@@ -30,18 +30,18 @@
|
||||
2 src/main/persistence/loading-store/profile-writing/state-serialization-secret-handling.ts
|
||||
4 src/main/persistence/loading-store/workspace-sessions/workspace-session-snapshot-publication.ts
|
||||
4 src/main/persistence/loading-store/workspace-sessions/workspace-session-terminal-binding-replay.ts
|
||||
2 src/main/persistence/migrating-orcad-catalog/orcad-destination-client-state.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/orcad-destination-workspace-session.ts
|
||||
3 src/main/persistence/migrating-orcad-catalog/orcad-dormant-state-records.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/orcad-migration-source-retention.ts
|
||||
2 src/main/persistence/migrating-orcad-catalog/orcad-source-client-subtraction.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/orcad-source-dormant-state.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/orcad-source-scrollback-state.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/orcad-source-workspace-session-eligibility.ts
|
||||
3 src/main/persistence/migrating-orcad-catalog/orcad-source-workspace-session-layout.ts
|
||||
4 src/main/persistence/migrating-orcad-catalog/orcad-source-workspace-session-subtraction.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/orcad-source-workspace-session.ts
|
||||
2 src/main/persistence/moving-wsl-projects/wsl-move-main-rewrite-stores.ts
|
||||
2 src/main/persistence/migrating-orcad-catalog/destination/orcad-destination-client-state.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/destination/orcad-destination-workspace-session.ts
|
||||
3 src/main/persistence/migrating-orcad-catalog/destination/orcad-dormant-state-records.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/retained-source/orcad-migration-source-retention.ts
|
||||
2 src/main/persistence/migrating-orcad-catalog/source/clients/orcad-source-client-subtraction.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/source/dormancy/orcad-source-dormant-state.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/source/scrollback/orcad-source-scrollback-state.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/source/sessions/orcad-source-workspace-session-eligibility.ts
|
||||
3 src/main/persistence/migrating-orcad-catalog/source/sessions/orcad-source-workspace-session-layout.ts
|
||||
4 src/main/persistence/migrating-orcad-catalog/source/sessions/orcad-source-workspace-session-subtraction.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/source/sessions/orcad-source-workspace-session.ts
|
||||
2 src/main/persistence/moving-wsl-projects/desktop-state/wsl-move-main-rewrite-stores.ts
|
||||
1 src/main/persistence/restoring-sessions/folder-workspace-operations.ts
|
||||
1 src/main/persistence/restoring-sessions/invalid-workspace-layout-purge.ts
|
||||
5 src/main/persistence/restoring-sessions/session-owner-fields.ts
|
||||
|
||||
@@ -375,18 +375,18 @@
|
||||
1 src/main/orcad/serve-profile-ssh-targets.ts
|
||||
6 src/main/persistence/atomic-snapshot-writer.ts
|
||||
5 src/main/persistence/loading-store/user-data-path.ts
|
||||
9 src/main/persistence/migrating-orcad-catalog/migration-journal-directory.ts
|
||||
4 src/main/persistence/migrating-orcad-catalog/orcad-migration-blob-installers.ts
|
||||
3 src/main/persistence/migrating-orcad-catalog/orcad-migration-blob-staging.ts
|
||||
17 src/main/persistence/migrating-orcad-catalog/orcad-migration-staged-file.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/orcad-scrollback-snapshot-transfer.ts
|
||||
11 src/main/persistence/migrating-orcad-catalog/orcad-shell-history-installer.ts
|
||||
7 src/main/persistence/migrating-orcad-catalog/orcad-terminal-history-installer.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/orcad-terminal-restore-hint-store.ts
|
||||
1 src/main/persistence/moving-wsl-projects/wsl-move-orchestration-history-rewrite.ts
|
||||
1 src/main/persistence/moving-wsl-projects/wsl-move-orchestrator-store.ts
|
||||
6 src/main/persistence/moving-wsl-projects/wsl-move-slept-scrollback.ts
|
||||
2 src/main/persistence/moving-wsl-projects/wsl-move-slept-spool-sweep.ts
|
||||
9 src/main/persistence/migrating-orcad-catalog/cutover-journals/migration-journal-directory.ts
|
||||
4 src/main/persistence/migrating-orcad-catalog/blob-transfer/orcad-migration-blob-installers.ts
|
||||
3 src/main/persistence/migrating-orcad-catalog/blob-transfer/orcad-migration-blob-staging.ts
|
||||
17 src/main/persistence/migrating-orcad-catalog/blob-transfer/orcad-migration-staged-file.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/terminal-history/orcad-scrollback-snapshot-transfer.ts
|
||||
11 src/main/persistence/migrating-orcad-catalog/terminal-history/orcad-shell-history-installer.ts
|
||||
7 src/main/persistence/migrating-orcad-catalog/terminal-history/orcad-terminal-history-installer.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/terminal-history/orcad-terminal-restore-hint-store.ts
|
||||
1 src/main/persistence/moving-wsl-projects/desktop-state/wsl-move-orchestration-history-rewrite.ts
|
||||
1 src/main/persistence/moving-wsl-projects/orchestration/wsl-move-orchestrator-store.ts
|
||||
6 src/main/persistence/moving-wsl-projects/terminal-state/wsl-move-slept-scrollback.ts
|
||||
2 src/main/persistence/moving-wsl-projects/terminal-state/wsl-move-slept-spool-sweep.ts
|
||||
5 src/main/persistence/preferences/active-view-preference.ts
|
||||
4 src/main/persistence/profile-state/legacy-json/profile-state-authority-exports.ts
|
||||
2 src/main/persistence/profile-state/legacy-json/profile-state-export-path.ts
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
2 src/main/orca-profiles/project-transfer/profile-project-transfer-payload.ts
|
||||
1 src/main/orca-profiles/project-transfer/profile-project-worktree-identity.ts
|
||||
1 src/main/persistence/leasing-ssh-ptys/ssh-target-reassignment.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/orcad-source-ownership.ts
|
||||
1 src/main/persistence/migrating-orcad-catalog/source/catalog/orcad-source-ownership.ts
|
||||
2 src/main/persistence/restoring-sessions/folder-scope-migration.ts
|
||||
1 src/main/persistence/restoring-sessions/tab-terminal-pane-binding-repair.ts
|
||||
1 src/main/persistence/tracking-repos/local-worktree-metadata-scan-expectation.ts
|
||||
|
||||
@@ -2619,7 +2619,6 @@
|
||||
"src/main/orca-profiles/project-transfer/profile-project-transfer-migration.test.ts": 1642,
|
||||
"src/main/orca-profiles/project-transfer/profile-project-transfer.test.ts": 1456,
|
||||
"src/main/orca-profiles/profile-telemetry-consent-seed.test.ts": 536,
|
||||
"src/main/persistence/migrating-orcad-catalog/orcad-migration-export-holds.test.ts": 231,
|
||||
"src/main/orcad/electron-serve-provider-selection.test.ts": 554,
|
||||
"src/main/orcad/electron-sidecar-tab-registry.test.ts": 105,
|
||||
"src/main/orcad/external-chromium-browser-session.test.ts": 152,
|
||||
@@ -2660,9 +2659,8 @@
|
||||
"src/main/orcad/orcad-startup-qualification.test.ts": 102,
|
||||
"src/main/orcad/orcad-stop-request-shutdown.integration.test.ts": 293,
|
||||
"src/main/orcad/orcad-windows-conpty-breakaway.integration.test.ts": 79,
|
||||
"src/main/persistence/migrating-orcad-catalog/persistence-local-only-worktree-meta.test.ts": 1948,
|
||||
"src/main/persistence/preferences/persistence-onboarding-language-cohort.test.ts": 1760,
|
||||
"src/main/persistence/migrating-orcad-catalog/persistence-orcad-migration-wsl-generation-reuse.test.ts": 1658,
|
||||
"src/main/persistence/migrating-orcad-catalog/catalog-commit/persistence-orcad-migration-wsl-generation-reuse.test.ts": 1658,
|
||||
"src/main/persistence/applying-settings/persistence-automation-extra-agent-args.test.ts": 2268,
|
||||
"src/main/persistence/applying-settings/persistence-automation-mode-precondition.test.ts": 1595,
|
||||
"src/main/persistence/applying-settings/persistence-automations.test.ts": 2573,
|
||||
@@ -2697,54 +2695,45 @@
|
||||
"src/main/persistence/loading-store/workspace-sessions/workspace-session-partitions.test.ts": 545,
|
||||
"src/main/persistence/loading-store/workspace-sessions/workspace-session-terminal-binding-replay.test.ts": 95,
|
||||
"src/main/persistence/loading-store/worktree-metadata/worktree-meta-write-normalization.test.ts": 127,
|
||||
"src/main/persistence/migrating-orcad-catalog/migration-journal-directory.test.ts": 91,
|
||||
"src/main/persistence/migrating-orcad-catalog/orcad-destination-workspace-session.test.ts": 296,
|
||||
"src/main/persistence/migrating-orcad-catalog/orcad-migration-blob-staging.test.ts": 466,
|
||||
"src/main/persistence/migrating-orcad-catalog/orcad-scrollback-snapshot-transfer.test.ts": 375,
|
||||
"src/main/persistence/migrating-orcad-catalog/orcad-source-client-state.test.ts": 518,
|
||||
"src/main/persistence/migrating-orcad-catalog/orcad-source-export.test.ts": 1898,
|
||||
"src/main/persistence/migrating-orcad-catalog/orcad-source-ownership.test.ts": 380,
|
||||
"src/main/persistence/migrating-orcad-catalog/orcad-source-partial-partition.test.ts": 808,
|
||||
"src/main/persistence/migrating-orcad-catalog/orcad-source-scrollback-state.test.ts": 303,
|
||||
"src/main/persistence/migrating-orcad-catalog/orcad-source-workspace-session-ambiguity.test.ts": 275,
|
||||
"src/main/persistence/migrating-orcad-catalog/persistence-orcad-migration-blobs.test.ts": 1840,
|
||||
"src/main/persistence/migrating-orcad-catalog/persistence-orcad-migration-catalog.test.ts": 2232,
|
||||
"src/main/persistence/migrating-orcad-catalog/persistence-orcad-migration-received-blob-durability.test.ts": 1796,
|
||||
"src/main/persistence/migrating-orcad-catalog/persistence-orcad-migration-shell-history-install-safety.test.ts": 1886,
|
||||
"src/main/persistence/migrating-orcad-catalog/persistence-orcad-migration-shell-history-login-shell.test.ts": 2041,
|
||||
"src/main/persistence/migrating-orcad-catalog/persistence-orcad-migration-shell-history.test.ts": 2085,
|
||||
"src/main/persistence/migrating-orcad-catalog/persistence-orcad-migration-terminal-restore-hints.test.ts": 2098,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-cutover-journal.test.ts": 795,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-delta-plan.test.ts": 774,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-driver-commit-reproof.test.ts": 1159,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-driver-fault-injection.test.ts": 7608,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-driver-preview-settle.test.ts": 1031,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-exit-proof.test.ts": 92,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-gate-facts.test.ts": 145,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-gate-stub-agent-hooks.test.ts": 743,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-guest-foreground.test.ts": 260,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-guest-process-table-cost.test.ts": 323,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-manifest-export.test.ts": 863,
|
||||
"src/main/persistence/migrating-orcad-catalog/cutover-journals/migration-journal-directory.test.ts": 91,
|
||||
"src/main/persistence/migrating-orcad-catalog/destination/orcad-destination-workspace-session.test.ts": 296,
|
||||
"src/main/persistence/migrating-orcad-catalog/blob-transfer/orcad-migration-blob-staging.test.ts": 466,
|
||||
"src/main/persistence/migrating-orcad-catalog/terminal-history/orcad-scrollback-snapshot-transfer.test.ts": 375,
|
||||
"src/main/persistence/migrating-orcad-catalog/source/clients/orcad-source-client-state.test.ts": 518,
|
||||
"src/main/persistence/migrating-orcad-catalog/source/catalog/orcad-source-export.test.ts": 1898,
|
||||
"src/main/persistence/migrating-orcad-catalog/source/catalog/orcad-source-ownership.test.ts": 380,
|
||||
"src/main/persistence/migrating-orcad-catalog/source/catalog/orcad-source-partial-partition.test.ts": 808,
|
||||
"src/main/persistence/migrating-orcad-catalog/source/scrollback/orcad-source-scrollback-state.test.ts": 303,
|
||||
"src/main/persistence/migrating-orcad-catalog/source/sessions/orcad-source-workspace-session-ambiguity.test.ts": 275,
|
||||
"src/main/persistence/migrating-orcad-catalog/blob-transfer/persistence-orcad-migration-blobs.test.ts": 1840,
|
||||
"src/main/persistence/migrating-orcad-catalog/catalog-commit/persistence-orcad-migration-catalog.test.ts": 2232,
|
||||
"src/main/persistence/migrating-orcad-catalog/blob-transfer/persistence-orcad-migration-received-blob-durability.test.ts": 1796,
|
||||
"src/main/persistence/migrating-orcad-catalog/terminal-history/persistence-orcad-migration-shell-history-install-safety.test.ts": 1886,
|
||||
"src/main/persistence/migrating-orcad-catalog/terminal-history/persistence-orcad-migration-shell-history-login-shell.test.ts": 2041,
|
||||
"src/main/persistence/migrating-orcad-catalog/terminal-history/persistence-orcad-migration-shell-history.test.ts": 2085,
|
||||
"src/main/persistence/migrating-orcad-catalog/terminal-history/persistence-orcad-migration-terminal-restore-hints.test.ts": 2098,
|
||||
"src/main/persistence/moving-wsl-projects/cutover-recovery/wsl-move-cutover-journal.test.ts": 795,
|
||||
"src/main/persistence/moving-wsl-projects/manifest-scope/wsl-move-delta-plan.test.ts": 774,
|
||||
"src/main/persistence/moving-wsl-projects/quiescence/wsl-move-exit-proof.test.ts": 92,
|
||||
"src/main/persistence/moving-wsl-projects/quiescence/wsl-move-gate-facts.test.ts": 145,
|
||||
"src/main/persistence/moving-wsl-projects/quiescence/wsl-move-guest-foreground.test.ts": 260,
|
||||
"src/main/persistence/moving-wsl-projects/manifest-scope/wsl-move-manifest-export.test.ts": 863,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-orchestration-history-rewrite.test.ts": 1245,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-orchestrator-stage1.test.ts": 338,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-orchestrator-user-choices.test.ts": 638,
|
||||
"src/main/persistence/moving-wsl-projects/orchestration/wsl-move-orchestrator-stage1.test.ts": 338,
|
||||
"src/main/persistence/moving-wsl-projects/orchestration/wsl-move-orchestrator-user-choices.test.ts": 638,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-orchestrator.test.ts": 567,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-quiesce.test.ts": 413,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-real-pause.test.ts": 1939,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-reset.test.ts": 891,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-retention.test.ts": 2285,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-rewrite-ledger.test.ts": 641,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-scope-guard.test.ts": 639,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-scope.test.ts": 104,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-seeded-view-state.test.ts": 398,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-session-freeze.test.ts": 2013,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-session-rewrite.test.ts": 411,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-shell-history-blobs.test.ts": 194,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-slept-scrollback.test.ts": 466,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-terminal-gate.test.ts": 137,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-two-desktops.test.ts": 2512,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-ui-routing-rewrite.test.ts": 465,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-undo-host-automations.test.ts": 691,
|
||||
"src/main/persistence/moving-wsl-projects/quiescence/wsl-move-quiesce.test.ts": 413,
|
||||
"src/main/persistence/moving-wsl-projects/cutover-recovery/wsl-move-reset.test.ts": 891,
|
||||
"src/main/persistence/moving-wsl-projects/cutover-recovery/wsl-move-rewrite-ledger.test.ts": 641,
|
||||
"src/main/persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard.test.ts": 639,
|
||||
"src/main/persistence/moving-wsl-projects/manifest-scope/wsl-move-scope.test.ts": 104,
|
||||
"src/main/persistence/moving-wsl-projects/desktop-state/wsl-move-seeded-view-state.test.ts": 398,
|
||||
"src/main/persistence/moving-wsl-projects/terminal-state/wsl-move-session-freeze.test.ts": 2013,
|
||||
"src/main/persistence/moving-wsl-projects/terminal-state/wsl-move-session-rewrite.test.ts": 411,
|
||||
"src/main/persistence/moving-wsl-projects/terminal-state/wsl-move-shell-history-blobs.test.ts": 194,
|
||||
"src/main/persistence/moving-wsl-projects/terminal-state/wsl-move-slept-scrollback.test.ts": 466,
|
||||
"src/main/persistence/moving-wsl-projects/quiescence/wsl-move-terminal-gate.test.ts": 137,
|
||||
"src/main/persistence/moving-wsl-projects/desktop-state/wsl-move-ui-routing-rewrite.test.ts": 465,
|
||||
"src/main/persistence/persistence-async-write-syscalls.test.ts": 3419,
|
||||
"src/main/persistence/persistence-cohort-and-identity-migration.test.ts": 2224,
|
||||
"src/main/persistence/persistence-flush-and-save-scheduling.test.ts": 3361,
|
||||
@@ -4046,18 +4035,18 @@
|
||||
"src/main/managed-server/migration/catalog/orcad-migration-catalog-client-source-kind.test.ts": 400,
|
||||
"src/main/managed-server/migration/catalog/orcad-migration-catalog-client.test.ts": 400,
|
||||
"src/main/managed-server/migration/cutover/orcad-migration-cutover-coordinator.test.ts": 2408,
|
||||
"src/main/persistence/migrating-orcad-catalog/orcad-migration-cutover-journal.test.ts": 369,
|
||||
"src/main/persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal.test.ts": 369,
|
||||
"src/main/managed-server/migration/cutover/orcad-migration-delta-move.test.ts": 3812,
|
||||
"src/main/managed-server/migration/cutover/orcad-migration-delta-snapshot.test.ts": 2611,
|
||||
"src/main/managed-server/migration/linking/orcad-migration-repository-link.test.ts": 4281,
|
||||
"src/main/managed-server/migration/transfers/orcad-migration-snapshot-coordinator.test.ts": 309,
|
||||
"src/main/ssh/migration-source/orcad-migration-source-fence.test.ts": 2000,
|
||||
"src/main/persistence/migrating-orcad-catalog/orcad-migration-source-retention.test.ts": 2297,
|
||||
"src/main/persistence/migrating-orcad-catalog/retained-source/orcad-migration-source-retention.test.ts": 2297,
|
||||
"src/main/managed-server/migration/cutover/orcad-migration-stuck-host-profiles.test.ts": 2402,
|
||||
"src/main/ssh/migration-source/orcad-migration-terminal-gate.test.ts": 63,
|
||||
"src/main/managed-server/install/orcad-remote-deploy.test.ts": 537,
|
||||
"src/main/managed-server/activation/orcad-retained-fence-takeover.test.ts": 210,
|
||||
"src/main/persistence/migrating-orcad-catalog/orcad-retained-source-changes.test.ts": 2185,
|
||||
"src/main/persistence/migrating-orcad-catalog/retained-source/orcad-retained-source-changes.test.ts": 2185,
|
||||
"src/main/managed-server/lifecycle/orcad-runtime-maintenance.test.ts": 916,
|
||||
"src/main/managed-server/host-state/orcad-snapshot-room.test.ts": 402,
|
||||
"src/main/managed-server/lifecycle/orcad-stdio-bridge.test.ts": 627,
|
||||
@@ -4373,7 +4362,7 @@
|
||||
"src/main/workspaces/removal/retirement/worktree-retirement-discovery-wsl.test.ts": 355,
|
||||
"src/main/workspaces/creation/worktree-root-preparation.test.ts": 180,
|
||||
"src/main/workspaces/removal/worktree-trash.test.ts": 126,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-approved-root-race.wsl.test.ts": 102,
|
||||
"src/main/persistence/moving-wsl-projects/quiescence/wsl-approved-root-race.wsl.test.ts": 102,
|
||||
"src/main/wsl/discovery/wsl-background-distro-gate.test.ts": 674,
|
||||
"src/main/wsl/discovery/wsl-console-running-distros.test.ts": 57,
|
||||
"src/main/wsl/discovery/wsl-distro-list-output.test.ts": 43,
|
||||
@@ -4381,7 +4370,7 @@
|
||||
"src/main/wsl/execution/wsl-interop-spawn-directory.test.ts": 52,
|
||||
"src/main/wsl/discovery/wsl-last-seen-running-age.test.ts": 84,
|
||||
"src/main/wsl/execution/wsl-managed-cli-path-restore.test.ts": 68,
|
||||
"src/main/persistence/moving-wsl-projects/wsl-move-incidental-writes.test.ts": 1170,
|
||||
"src/main/persistence/moving-wsl-projects/quiescence/wsl-move-incidental-writes.test.ts": 1170,
|
||||
"src/main/wsl/discovery/wsl-running-distro-stop.test.ts": 42,
|
||||
"src/main/wsl/discovery/wsl-running-distros.test.ts": 201,
|
||||
"src/main/wsl/filesystem/wsl-running-path-filter.test.ts": 57,
|
||||
|
||||
@@ -35,7 +35,7 @@ const MANAGED_SSH_HARNESS =
|
||||
|
||||
// An enabled SSH automation moves with its host and is re-enabled on the server (#29083).
|
||||
const ENABLED_AUTOMATION_MOVE =
|
||||
/^src\/(?:main\/(?:persistence\/(?:migrating-orcad-catalog\/orcad-(?:source-automation-state|source-dormant-state|source-dependency-census|destination-automation-state)|scheduling-automations\/automation-schedule-operations)|automations\/(?:run-target-resolution|automation-dispatch-request|orcad-fenced-automation)|ssh\/orcad-migration-(?:moved-automations|source-retention))|shared\/orcad-migration\/orcad-migration-(?:dormant-automation-validation|source-cutover))\.ts$/
|
||||
/^src\/(?:main\/(?:persistence\/(?:migrating-orcad-catalog\/(?:source\/(?:automations\/orcad-source-automation-state|dormancy\/orcad-source-dormant-state|sessions\/orcad-source-dependency-census)|destination\/orcad-destination-automation-state)|scheduling-automations\/automation-schedule-operations)|automations\/(?:run-target-resolution|automation-dispatch-request|orcad-fenced-automation)|persistence\/migrating-orcad-catalog\/retained-source\/orcad-migration-(?:moved-automations|source-retention))|shared\/orcad-migration\/orcad-migration-(?:dormant-automation-validation|source-cutover))\.ts$/
|
||||
|
||||
export const PR_E2E_SOURCE_ROUTES = [
|
||||
...PR_BROWSER_E2E_SOURCE_ROUTES,
|
||||
@@ -174,7 +174,7 @@ export const PR_E2E_SOURCE_ROUTES = [
|
||||
MANAGED_SSH_HARNESS.test(file) ||
|
||||
ENABLED_AUTOMATION_MOVE.test(file) ||
|
||||
(isProductSource(file) &&
|
||||
/^src\/(?:main\/(?:ipc\/ssh\/(?:ssh-connect-flow|ssh-host-server-)|ssh\/(?:ssh-session-start-failure|ssh-host-server-|connection\/ssh-connection-manager|orcad-migration-refusal-reason|targets\/ssh-target-orcad-preflight)|managed-server\/lifecycle\/orcad-runtime-conversion|persistence\/migrating-orcad-catalog\/orcad-source-(?:automation-state|leave-behind-view))|renderer\/src\/(?:ssh\/(?:ssh-host-server-status-copy|ssh-connect-failure-toast)|components\/settings\/(?:SshTargetServerStatus|SshHostMoveAnywayAction|SshTargetCard)))/.test(
|
||||
/^src\/(?:main\/(?:ipc\/ssh\/(?:ssh-connect-flow|ssh-host-server-)|ssh\/(?:ssh-session-start-failure|ssh-host-server-|connection\/ssh-connection-manager|orcad-migration-refusal-reason|targets\/ssh-target-orcad-preflight)|managed-server\/lifecycle\/orcad-runtime-conversion|persistence\/migrating-orcad-catalog\/source\/(?:automations\/orcad-source-automation-state|catalog\/orcad-source-leave-behind-view))|renderer\/src\/(?:ssh\/(?:ssh-host-server-status-copy|ssh-connect-failure-toast)|components\/settings\/(?:SshTargetServerStatus|SshHostMoveAnywayAction|SshTargetCard)))/.test(
|
||||
file
|
||||
))
|
||||
},
|
||||
@@ -352,7 +352,7 @@ export const PR_E2E_SOURCE_ROUTES = [
|
||||
matches: (file) =>
|
||||
MANAGED_SSH_HARNESS.test(file) ||
|
||||
(isProductSource(file) &&
|
||||
/^src\/main\/(?:persistence\/migrating-orcad-catalog\/orcad-source-(?:draft-rename|workspace-session|session-copy-resolution|export)|ssh\/orcad-migration-source-retention|ipc\/ssh\/ssh)\.ts$/.test(
|
||||
/^src\/main\/(?:persistence\/migrating-orcad-catalog\/source\/(?:worktrees\/orcad-source-draft-rename|sessions\/orcad-source-(?:workspace-session|session-copy-resolution)|catalog\/orcad-source-export)|persistence\/migrating-orcad-catalog\/retained-source\/orcad-migration-source-retention|ipc\/ssh\/ssh)\.ts$/.test(
|
||||
file
|
||||
))
|
||||
},
|
||||
|
||||
@@ -22,7 +22,7 @@ export const PR_WSL_E2E_SOURCE_ROUTES = [
|
||||
id: 'wsl-move.fence',
|
||||
specs: ['tests/e2e/wsl-move-fence.spec.ts'],
|
||||
matches: (file) =>
|
||||
/^src\/(?:main\/(?:persistence\/moving-wsl-projects\/wsl-move-(?:scope-guard|fence|reset|startup|startup-rewrite|cutover-journal)|ipc\/pty\/host-env\/spawn-cwd|wsl\/host-lifecycle\/wsl-host-gate(?:-startup)?)|shared\/wsl-move\/wsl-move-cutover)\.ts$/.test(
|
||||
/^src\/(?:main\/(?:persistence\/moving-wsl-projects\/(?:quiescence\/wsl-move-(?:scope-guard|fence)|cutover-recovery\/wsl-move-(?:reset|cutover-journal)|startup\/wsl-move-(?:startup|startup-rewrite))|ipc\/pty\/host-env\/spawn-cwd|wsl\/host-lifecycle\/wsl-host-gate(?:-startup)?)|shared\/wsl-move\/wsl-move-cutover)\.ts$/.test(
|
||||
file
|
||||
)
|
||||
},
|
||||
|
||||
@@ -30,7 +30,7 @@ import type { CommitMessageAgentEnvironmentResolvers } from '../../text-generati
|
||||
import type { AgentGenerationFailureOutput } from '../../text-generation/agent-failure-output'
|
||||
import { resolveGenerationTarget } from './first-work-generation-target'
|
||||
import { runFolderWorkspaceTitleAutoRename } from './first-work-workspace-title-rename'
|
||||
import { isWslMoveRepoBlocked } from '../../persistence/moving-wsl-projects/wsl-move-background-backoff'
|
||||
import { isWslMoveRepoBlocked } from '../../persistence/moving-wsl-projects/orchestration/wsl-move-background-backoff'
|
||||
import {
|
||||
clearFirstWorkGenerationFailures,
|
||||
isFirstWorkGenerationBackingOff,
|
||||
|
||||
@@ -6,7 +6,7 @@ import type { FirstWorkBranchRenameDeps } from './first-work-branch-rename'
|
||||
import { rememberBranchRenameFailureOutput } from './branch-rename-failure-output'
|
||||
import { renameWorktreeFolderOnFirstWork } from './first-work-folder-rename'
|
||||
import { moveWorktree } from '../../git/worktrees/movement/worktree-move'
|
||||
import { isWslMoveFolderWorkspaceBlocked } from '../../persistence/moving-wsl-projects/wsl-move-background-backoff'
|
||||
import { isWslMoveFolderWorkspaceBlocked } from '../../persistence/moving-wsl-projects/orchestration/wsl-move-background-backoff'
|
||||
import type { Store } from '../../persistence/loading-store/store'
|
||||
import type { RuntimeStore } from '../../runtime/construction/runtime-store-contract'
|
||||
import type { OrcaRuntimeService } from '../../runtime/orca-runtime'
|
||||
|
||||
@@ -12,11 +12,11 @@ import { seedWslMoveCutover } from '../persistence/__fixtures__/wsl-mover/wsl-mo
|
||||
import {
|
||||
loadWslMoveFence,
|
||||
resetWslMoveFenceForTests
|
||||
} from '../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
import { runWslMoveDesktopRewritePass } from '../persistence/moving-wsl-projects/wsl-move-desktop-rewrite'
|
||||
import { resetWslMoveDesktopRewriteStoresForTests } from '../persistence/moving-wsl-projects/wsl-move-desktop-rewrite-stores'
|
||||
import { registerWslMoveMainRewriteStores } from '../persistence/moving-wsl-projects/wsl-move-main-rewrite-stores'
|
||||
import { registerWslMoveOrchestrationHistoryStore } from '../persistence/moving-wsl-projects/wsl-move-orchestration-history-rewrite'
|
||||
} from '../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { runWslMoveDesktopRewritePass } from '../persistence/moving-wsl-projects/desktop-state/wsl-move-desktop-rewrite'
|
||||
import { resetWslMoveDesktopRewriteStoresForTests } from '../persistence/moving-wsl-projects/desktop-state/wsl-move-desktop-rewrite-stores'
|
||||
import { registerWslMoveMainRewriteStores } from '../persistence/moving-wsl-projects/desktop-state/wsl-move-main-rewrite-stores'
|
||||
import { registerWslMoveOrchestrationHistoryStore } from '../persistence/moving-wsl-projects/desktop-state/wsl-move-orchestration-history-rewrite'
|
||||
import { orchestrationDbFile } from '../runtime/orchestration/db/orchestration-db-file'
|
||||
import { WSL_HOSTS_INTERNAL_GATE_ENV } from '../../shared/wsl-host-internal-gate'
|
||||
import { OrchestrationDb } from '../runtime/orchestration/db/orchestration-db'
|
||||
|
||||
@@ -8,7 +8,7 @@ import { seedWslMoveCutover } from '../persistence/__fixtures__/wsl-mover/wsl-mo
|
||||
import {
|
||||
loadWslMoveFence,
|
||||
resetWslMoveFenceForTests
|
||||
} from '../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
} from '../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import {
|
||||
NO_DISPATCH_HOST,
|
||||
WSL_MOVE_IN_PROGRESS,
|
||||
|
||||
@@ -3,7 +3,7 @@ import type { Store } from '../persistence/loading-store/store'
|
||||
import type { Automation } from '../../shared/automations/automation-definition'
|
||||
import { resolveAutomationRunTarget, type AutomationRunTargetResult } from './run-target-resolution'
|
||||
import type { AutomationRunWriter } from './automation-run-writer'
|
||||
import { wslMoveRepoBackoff } from '../persistence/moving-wsl-projects/wsl-move-background-backoff'
|
||||
import { wslMoveRepoBackoff } from '../persistence/moving-wsl-projects/orchestration/wsl-move-background-backoff'
|
||||
import { isOrcadFencedAutomation } from './orcad-fenced-automation'
|
||||
import { blockedWslDistroForPath } from '../wsl/filesystem/wsl-unc-access-gate'
|
||||
import { getLocalProjectWorktreeGitOptions } from '../workspaces/execution-host/project-runtime-git-options'
|
||||
|
||||
@@ -4,7 +4,7 @@ import type { SshTarget } from '../../shared/ssh-types'
|
||||
import type { Store } from '../persistence/loading-store/store'
|
||||
import { isManagedOrcadSshTarget } from '../ssh/targets/ssh-target-runtime-ownership'
|
||||
import { moveProjectToManagedHostFirst } from '../../shared/managed-orcad-ssh-owner'
|
||||
import { listOrcadMigrationCutoverChainForTarget } from '../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
import { listOrcadMigrationCutoverChainForTarget } from '../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
|
||||
export const ORCAD_FENCED_AUTOMATION = "This automation now runs on its SSH host's Orca server."
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
import { broadcastWhenWslDistroRunning } from '../preflight-wsl-refusal-retry'
|
||||
import { resolveRepoForExecutionHost } from '../worktrees/repo-host-ownership'
|
||||
import type { WorktreeIpcContext } from '../worktrees/worktree-ipc-context'
|
||||
import { assertWslMoveRepoWritable } from '../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
import { assertWslMoveRepoWritable } from '../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
|
||||
/** Route private command overrides to the owning host without changing shared hook settings. */
|
||||
export function registerWorktreeHookFileHandlers(context: WorktreeIpcContext): void {
|
||||
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
WslMoveProjectFencedError,
|
||||
loadWslMoveFence,
|
||||
resetWslMoveFenceForTests
|
||||
} from '../../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
} from '../../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { assertWorkspaceAcceptsNewPty } from './spawn-cwd'
|
||||
|
||||
const { listLiveDaemonPtyIds } = vi.hoisted(() => ({
|
||||
|
||||
@@ -23,7 +23,7 @@ import {
|
||||
wslMoveHostDistro,
|
||||
wslMoveProjectRefForWorkspace,
|
||||
WslMoveProjectFencedError
|
||||
} from '../../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
} from '../../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { listLiveDaemonPtyIds } from '../../../daemon/providers/lifecycle/daemon-provider-state'
|
||||
import { wslDistroHoldMessage } from '../../../../shared/wsl-distro-stopped-hold'
|
||||
import {
|
||||
|
||||
@@ -2,7 +2,7 @@ import { splitWorktreeIdForFilesystem } from '../../../../shared/worktree/id'
|
||||
import { triggerTerminalSpawnPushTargetMaterialization } from '../../../runtime/terminal/launch/runtime-terminal-spawn-push-target-materialization'
|
||||
import type { PtySpawnIpcArgs, PtySpawnIpcDeps } from './spawn-types'
|
||||
import { getRepoExecutionHostId, LOCAL_EXECUTION_HOST_ID } from '../../../../shared/execution-host'
|
||||
import { isWslMoveWorktreeBlocked } from '../../../persistence/moving-wsl-projects/wsl-move-background-backoff'
|
||||
import { isWslMoveWorktreeBlocked } from '../../../persistence/moving-wsl-projects/orchestration/wsl-move-background-backoff'
|
||||
|
||||
// GUI terminals can run Git before Orca sync; request deferred push-target setup on spawn and reattach (#17828).
|
||||
export function triggerPtySpawnPushTargetMaterialization(
|
||||
|
||||
@@ -9,8 +9,8 @@ import { applyCommandToSession } from '../persistence/terminal-topology/terminal
|
||||
import type { PersistedUIState } from '../../shared/persisted-ui-state-types'
|
||||
import type { WorkspaceSessionState } from '../../shared/workspace-session/workspace-session-state-types'
|
||||
import type { Store } from '../persistence/loading-store/store'
|
||||
import { isFrozenOrcadSourceSessionPartition } from '../persistence/migrating-orcad-catalog/orcad-source-visibility'
|
||||
import { isWslMoveWindowWriteHeld } from '../persistence/moving-wsl-projects/wsl-move-window-write-hold'
|
||||
import { isFrozenOrcadSourceSessionPartition } from '../persistence/migrating-orcad-catalog/source/catalog/orcad-source-visibility'
|
||||
import { isWslMoveWindowWriteHeld } from '../persistence/moving-wsl-projects/quiescence/wsl-move-window-write-hold'
|
||||
import { windowViewSaveForMain, type ReconnectFactsFor } from '../persistence/window-save-view'
|
||||
import { reportWindowSaveDrift } from '../persistence/window-save-divergence'
|
||||
import { ORCA_LAYOUT_OWNER_IS_MAIN } from '../../shared/layout-owner-switch'
|
||||
|
||||
@@ -60,7 +60,7 @@ import {
|
||||
WslMoveProjectFencedError,
|
||||
loadWslMoveFence,
|
||||
resetWslMoveFenceForTests
|
||||
} from '../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
} from '../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
|
||||
const { handleMock, mockStore } = reposMocks
|
||||
|
||||
|
||||
@@ -16,12 +16,12 @@ import {
|
||||
FolderWorkspaceUpdateArgs,
|
||||
parseProjectGroupIpcArgs
|
||||
} from './repo-ipc-arg-schemas'
|
||||
import { visibleFolderWorkspaces } from '../../persistence/migrating-orcad-catalog/orcad-source-visibility'
|
||||
import { visibleFolderWorkspaces } from '../../persistence/migrating-orcad-catalog/source/catalog/orcad-source-visibility'
|
||||
import { createFolderWorkspaceWithPluginHooks } from '../../plugins/hooks/workspace-create-plugin-hook'
|
||||
import {
|
||||
isLocalWslMoveRow,
|
||||
shouldDropWslMoveProjectUpdate
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
|
||||
export function registerFolderWorkspaceHandlers(
|
||||
mainWindow: BrowserWindow,
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import type { BrowserWindow } from 'electron'
|
||||
import { ipcMain } from 'electron'
|
||||
import { type BrowserWindow, ipcMain } from 'electron'
|
||||
import type { Store } from '../../persistence/loading-store/store'
|
||||
import type { Repo } from '../../../shared/repo-types'
|
||||
import type { RepoHostTarget } from '../../../shared/repo-host-identity'
|
||||
@@ -18,9 +17,9 @@ import {
|
||||
import {
|
||||
assertWslMoveProjectWritable,
|
||||
assertWslMoveRepoWritable
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { activeNestedRepoScans, runNestedRepoScanForIpc } from './nested-repo-scan-ipc'
|
||||
import { visibleProjectGroups } from '../../persistence/migrating-orcad-catalog/orcad-source-visibility'
|
||||
import { visibleProjectGroups } from '../../persistence/migrating-orcad-catalog/source/catalog/orcad-source-visibility'
|
||||
|
||||
export function registerProjectGroupHandlers(mainWindow: BrowserWindow, store: Store): void {
|
||||
ipcMain.handle('projectGroups:list', () => visibleProjectGroups(store))
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import type { BrowserWindow } from 'electron'
|
||||
import { ipcMain } from 'electron'
|
||||
import { type BrowserWindow, ipcMain } from 'electron'
|
||||
import type { Store } from '../../persistence/loading-store/store'
|
||||
import type { Repo } from '../../../shared/repo-types'
|
||||
import type {
|
||||
@@ -37,7 +36,7 @@ import { getSshTargetRegistryStore } from '../../ssh/targets/ssh-target-registry
|
||||
import {
|
||||
assertWslMoveHostSetupIdWritable,
|
||||
assertWslMoveHostSetupWritable
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
|
||||
function buildProjectHostSetupResult(store: Store, repo: Repo): ProjectHostSetupResult {
|
||||
const setup = getProjectHostSetupForRepo(store.getProjectHostSetups(), repo)
|
||||
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
WslMoveProjectFencedError,
|
||||
loadWslMoveFence,
|
||||
resetWslMoveFenceForTests
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { RuntimeProjectHostSetupController } from '../../runtime/repositories/runtime-project-host-setup-controller'
|
||||
import { RuntimeRepositoryIssueCommand } from '../../runtime/repositories/runtime-repository-issue-command'
|
||||
import { RuntimeRepositorySettingsController } from '../../runtime/repositories/runtime-repository-settings-controller'
|
||||
|
||||
@@ -16,13 +16,13 @@ import { ProjectUpdateIpcArgs, parseProjectGroupIpcArgs } from './repo-ipc-arg-s
|
||||
import {
|
||||
visibleProjectHostSetups,
|
||||
visibleRepos
|
||||
} from '../../persistence/migrating-orcad-catalog/orcad-source-visibility'
|
||||
} from '../../persistence/migrating-orcad-catalog/source/catalog/orcad-source-visibility'
|
||||
import {
|
||||
assertWslMoveProjectWritable,
|
||||
assertWslMoveReposWritable,
|
||||
isWslMoveSourceHost
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
import { listWslMovedProjects } from '../../persistence/moving-wsl-projects/wsl-moved-projects'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { listWslMovedProjects } from '../../persistence/moving-wsl-projects/desktop-state/wsl-moved-projects'
|
||||
import { listHostRepoCatalogSnapshots } from '../../host-repo-catalog-snapshot/host-repo-catalog-snapshot-recorder'
|
||||
import { listEnvironments } from '../../../shared/remote-runtime/host-store/runtime-environment-store'
|
||||
import { getRuntimeEnvironmentRegistryRoot } from '../runtime-environments/runtime-environment-registry-root'
|
||||
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
WslMoveProjectFencedError,
|
||||
loadWslMoveFence,
|
||||
resetWslMoveFenceForTests
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { RuntimeRepositorySettingsController } from '../../runtime/repositories/runtime-repository-settings-controller'
|
||||
import { registerFolderWorkspaceHandlers } from './folder-workspace-handlers'
|
||||
import { runtimeRepoSelectorText } from '../../runtime/workspaces/catalog/runtime-repo-selector'
|
||||
|
||||
@@ -1,15 +1,21 @@
|
||||
import type { BrowserWindow } from 'electron'
|
||||
import { ipcMain } from 'electron'
|
||||
import { type BrowserWindow, ipcMain } from 'electron'
|
||||
import type { Store } from '../../persistence/loading-store/store'
|
||||
import type { Repo } from '../../../shared/repo-types'
|
||||
import type { RepoHostTarget } from '../../../shared/repo-host-identity'
|
||||
import { isFolderRepo } from '../../../shared/repo-kind'
|
||||
import type { ExecutionHostId } from '../../../shared/execution-host'
|
||||
import { getRepoExecutionHostId, normalizeExecutionHostId } from '../../../shared/execution-host'
|
||||
|
||||
import {
|
||||
type ExecutionHostId,
|
||||
getRepoExecutionHostId,
|
||||
normalizeExecutionHostId
|
||||
} from '../../../shared/execution-host'
|
||||
import { normalizeRepoBadgeColor } from '../../../shared/repo-badge-color'
|
||||
import { sanitizeRepoIcon } from '../../../shared/repo-icon'
|
||||
import { normalizeGhAccountBinding } from '../../../shared/github/account-binding'
|
||||
import type { GhAccountBinding } from '../../../shared/github/account-binding'
|
||||
import {
|
||||
normalizeGhAccountBinding,
|
||||
type GhAccountBinding
|
||||
} from '../../../shared/github/account-binding'
|
||||
|
||||
import { normalizeRepoSourceControlAiOverrides } from '../../../shared/source-control/ai/settings/source-control-ai-repo-settings'
|
||||
import {
|
||||
normalizeCustomWorktreeVisibilitySources,
|
||||
@@ -23,7 +29,7 @@ import { notifyReposChanged } from './repos-changed-notification'
|
||||
import {
|
||||
assertWslMoveProjectWritable,
|
||||
isWslMoveSourceHost
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
|
||||
export function registerRepoUpdateHandler(mainWindow: BrowserWindow, store: Store): void {
|
||||
ipcMain.handle(
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import type { BrowserWindow } from 'electron'
|
||||
import { ipcMain } from 'electron'
|
||||
import { type BrowserWindow, ipcMain } from 'electron'
|
||||
import { randomUUID } from 'node:crypto'
|
||||
import type { Store } from '../../persistence/loading-store/store'
|
||||
import type { SparsePreset } from '../../../shared/worktree/create-types'
|
||||
@@ -11,7 +10,7 @@ import {
|
||||
SparsePresetValidationError,
|
||||
type SparsePresetFailure
|
||||
} from '../../../shared/worktree/sparse-preset-failure'
|
||||
import { assertWslMoveProjectWritable } from '../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
import { assertWslMoveProjectWritable } from '../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
|
||||
export function registerSparsePresetHandlers(mainWindow: BrowserWindow, store: Store): void {
|
||||
ipcMain.handle('sparsePresets:list', (_event, args: { repoId: string }) => {
|
||||
|
||||
@@ -17,7 +17,7 @@ import {
|
||||
orcadMigrationDestinationFor,
|
||||
orcadServerAutomationEnablerFor
|
||||
} from '../../managed-server/lifecycle/orcad-runtime-conversion-wiring'
|
||||
import { enableMovedOrcadAutomationsForTarget } from '../../persistence/migrating-orcad-catalog/orcad-migration-moved-automations'
|
||||
import { enableMovedOrcadAutomationsForTarget } from '../../persistence/migrating-orcad-catalog/retained-source/orcad-migration-moved-automations'
|
||||
import { requiredString } from './orcad-runtime-lifecycle-handlers'
|
||||
import { publishResolvedChangedHostStatus } from './runtime-environment-managed-tunnel'
|
||||
import { runTargetLifecycle } from '../ssh/ssh-target-lifecycle-queue'
|
||||
|
||||
@@ -54,7 +54,7 @@ import { assertWslHostReachable, isGatedOffWslHost } from '../../wsl/host-lifecy
|
||||
import {
|
||||
isHostSpawnFencedForWslMoveUndo,
|
||||
wslMoveUndoSpawnFencedResponse
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-undo-spawn-fence'
|
||||
} from '../../persistence/moving-wsl-projects/cutover-recovery/wsl-move-undo-spawn-fence'
|
||||
|
||||
export { isRuntimeEnvironmentManuallyDisconnected }
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@ import { ipcMain } from 'electron'
|
||||
import type { Store } from '../persistence/loading-store/store'
|
||||
import type { OrcaRuntimeService } from '../runtime/orca-runtime'
|
||||
import { parseTerminalSurfaceCloseTarget } from '../../shared/workspace-layout/terminal-surface-close-target'
|
||||
import { isFrozenOrcadSourceSessionPartition } from '../persistence/migrating-orcad-catalog/orcad-source-visibility'
|
||||
import { isWslMoveWindowWriteHeld } from '../persistence/moving-wsl-projects/wsl-move-window-write-hold'
|
||||
import { visibleSessionHostIds } from '../persistence/migrating-orcad-catalog/orcad-retained-source-session'
|
||||
import { isFrozenOrcadSourceSessionPartition } from '../persistence/migrating-orcad-catalog/source/catalog/orcad-source-visibility'
|
||||
import { isWslMoveWindowWriteHeld } from '../persistence/moving-wsl-projects/quiescence/wsl-move-window-write-hold'
|
||||
import { visibleSessionHostIds } from '../persistence/migrating-orcad-catalog/retained-source/orcad-retained-source-session'
|
||||
import { markAgentLaunchesClosedByUser } from '../agent-launch/agent-launch-pane-attachment'
|
||||
import { windowViewPatchForMain, windowViewSaveForMain } from '../persistence/window-save-view'
|
||||
import { reportWindowSaveDrift } from '../persistence/window-save-divergence'
|
||||
|
||||
@@ -4,10 +4,10 @@ import {
|
||||
managedOrcadServerName
|
||||
} from '../../../shared/managed-orcad-ssh-owner'
|
||||
import { listEnvironments } from '../../../shared/remote-runtime/host-store/runtime-environment-store'
|
||||
import { findOrcadMigrationSourceCutoverForTarget } from '../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
import { findOrcadMigrationSourceCutoverForTarget } from '../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import { abandonOrcadConversion } from '../../managed-server/migration/cutover/orcad-conversion-abandon'
|
||||
import { retainOrcadMigrationSource } from '../../persistence/migrating-orcad-catalog/orcad-migration-source-retention'
|
||||
import { enableMovedOrcadAutomationsForTarget } from '../../persistence/migrating-orcad-catalog/orcad-migration-moved-automations'
|
||||
import { retainOrcadMigrationSource } from '../../persistence/migrating-orcad-catalog/retained-source/orcad-migration-source-retention'
|
||||
import { enableMovedOrcadAutomationsForTarget } from '../../persistence/migrating-orcad-catalog/retained-source/orcad-migration-moved-automations'
|
||||
import { hasOrcadTemplate } from '../../orcad/orcad-artifact-materializer'
|
||||
import { isOrcadHostUnavailableFixableOnHost } from '../../orcad/orcad-host-unavailable'
|
||||
import { managedServerUpdateDeps } from '../../ssh/host-server/managed-server-update-deps'
|
||||
|
||||
@@ -65,9 +65,9 @@ import { resetSshShutdownDrain } from './ssh-shutdown-drain'
|
||||
import { registerSshTargetCrudHandlers } from './ssh-target-crud-handlers'
|
||||
import { targetLifecycleInFlight } from './ssh-target-lifecycle-queue'
|
||||
import { disposeOrcadManagedTunnels } from '../../managed-server/lifecycle/orcad-managed-tunnel'
|
||||
import { retainUnretainedOrcadMigrationSources } from '../../persistence/migrating-orcad-catalog/orcad-migration-source-retention'
|
||||
import { reconcileManagedOrcadSshTargets } from '../../persistence/migrating-orcad-catalog/orcad-retained-source'
|
||||
import { installOrcadMigrationScrollbackRetention } from '../../persistence/migrating-orcad-catalog/orcad-migration-scrollback-retention-wiring'
|
||||
import { retainUnretainedOrcadMigrationSources } from '../../persistence/migrating-orcad-catalog/retained-source/orcad-migration-source-retention'
|
||||
import { reconcileManagedOrcadSshTargets } from '../../persistence/migrating-orcad-catalog/retained-source/orcad-retained-source'
|
||||
import { installOrcadMigrationScrollbackRetention } from '../../persistence/migrating-orcad-catalog/terminal-history/orcad-migration-scrollback-retention-wiring'
|
||||
import { getAppEnvironment } from '../../../shared/app-environment'
|
||||
import { registerLegacyRelayBridgeIpc } from '../../ssh/legacy-relay/bridge/legacy-relay-bridge-ipc'
|
||||
import {
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import { BrowserWindow, ipcMain, webContents, type WebContents } from 'electron'
|
||||
import type { Store } from '../persistence/loading-store/store'
|
||||
import type { PersistedUIState } from '../../shared/persisted-ui-state-types'
|
||||
import { isFeatureInteractionId } from '../../shared/feature-interactions'
|
||||
import { isWslMoveWindowWriteHeld } from '../persistence/moving-wsl-projects/wsl-move-window-write-hold'
|
||||
import { isWslMoveWindowWriteHeld } from '../persistence/moving-wsl-projects/quiescence/wsl-move-window-write-hold'
|
||||
import { isTrustedMainRendererSender } from './main-renderer-sender-trust'
|
||||
|
||||
let trustedUIRendererWebContentsId: number | null = null
|
||||
|
||||
@@ -182,7 +182,7 @@ import {
|
||||
openWorktreeCreatePathClaim,
|
||||
type WorktreeCreatePathClaim
|
||||
} from '../workspaces/creation/worktree-create-in-flight'
|
||||
import { isWslMoveWorktreeBlocked } from '../persistence/moving-wsl-projects/wsl-move-background-backoff'
|
||||
import { isWslMoveWorktreeBlocked } from '../persistence/moving-wsl-projects/orchestration/wsl-move-background-backoff'
|
||||
import {
|
||||
hostWorktreeTarget,
|
||||
type HostWorktreeTarget
|
||||
|
||||
@@ -12,8 +12,8 @@ import {
|
||||
addWorktreeCreatePhaseAttributes,
|
||||
withWorktreeSpan
|
||||
} from '../../../observability/instrumentation'
|
||||
import { workspaceSourceSchema } from '../../../../shared/telemetry-events'
|
||||
import type { WorkspaceSource } from '../../../../shared/telemetry-events'
|
||||
import { workspaceSourceSchema, type WorkspaceSource } from '../../../../shared/telemetry-events'
|
||||
|
||||
import { isFolderRepo } from '../../../../shared/repo-kind'
|
||||
import { createLocalWorktree, notifyWorktreesChanged } from '../../worktree-remote'
|
||||
import { SshHostNotServedError } from '../../../providers/ssh-host-not-served-error'
|
||||
@@ -29,7 +29,7 @@ import { getRepoExecutionHostId } from '../../../../shared/execution-host'
|
||||
import { workspaceLifecycleKey } from '../../../runtime/workspaces/lifecycle/workspace-lifecycle-commands'
|
||||
import type { WorktreeIpcContext } from '../worktree-ipc-context'
|
||||
import { beginWorkspaceCreateTelemetry } from '../../../workspaces/creation/workspace-create-telemetry'
|
||||
import { assertWslMoveRepoWritable } from '../../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
import { assertWslMoveRepoWritable } from '../../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { applyWorkspaceCreatePluginHook } from '../../../plugins/hooks/workspace-create-plugin-hook'
|
||||
import { withProjectWorktreeCreate } from '../../../workspaces/creation/worktree-create-in-flight'
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ import { pruneWorkspaceSpaceAnalysisSnapshots } from '../../../workspaces/space-
|
||||
import { isLocalWorktreeScanGenerationCurrent } from '../../../workspaces/catalog/local-worktree-scan-generation'
|
||||
import { localWorktreePathsExistOrAreUnverifiable } from '../../../workspaces/catalog/local-worktree-path-presence'
|
||||
import { worktreeRetentionPathComparisonKey } from '../../../workspaces/catalog/worktree-retention-path-comparison'
|
||||
import { isWslMoveRepoBlocked } from '../../../persistence/moving-wsl-projects/wsl-move-background-backoff'
|
||||
import { isWslMoveRepoBlocked } from '../../../persistence/moving-wsl-projects/orchestration/wsl-move-background-backoff'
|
||||
|
||||
type AuthoritativeLocalMetadataPruneStore = Pick<
|
||||
Store,
|
||||
|
||||
@@ -4,7 +4,7 @@ import type { Worktree, DetectedWorktree } from '../../../../shared/worktree/typ
|
||||
import type { WorktreeMeta } from '../../../../shared/worktree/meta-types'
|
||||
import type { Store } from '../../../persistence/loading-store/store'
|
||||
import { mergeWorktreeMetaForWrite } from '../../../persistence/loading-store/worktree-metadata/worktree-meta-write-normalization'
|
||||
import { isWslMoveRepoBlocked } from '../../../persistence/moving-wsl-projects/wsl-move-background-backoff'
|
||||
import { isWslMoveRepoBlocked } from '../../../persistence/moving-wsl-projects/orchestration/wsl-move-background-backoff'
|
||||
import { getRepoExecutionHostId } from '../../../../shared/execution-host'
|
||||
import {
|
||||
hostWorktreeTargetForRepo,
|
||||
|
||||
@@ -22,7 +22,7 @@ import {
|
||||
isWslMoveWorkspaceBlocked,
|
||||
shouldDropWslMoveProjectUpdate,
|
||||
wslMoveProjectRefForWorkspace
|
||||
} from '../../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
} from '../../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
|
||||
export function registerWorktreeMetadataHandlers(context: WorktreeIpcContext): void {
|
||||
const { mainWindow, store, runtime } = context
|
||||
|
||||
@@ -5,8 +5,12 @@ import type {
|
||||
} from '../../../../shared/worktree/create-types'
|
||||
import { parseWorktreeId } from '../../worktree-logic'
|
||||
import { resolveWorktreeRemovalRepoOwner } from '../../../workspaces/removal/worktree-removal-repo-owner'
|
||||
import { getRepoExecutionHostId, parseExecutionHostId } from '../../../../shared/execution-host'
|
||||
import type { ExecutionHostId } from '../../../../shared/execution-host'
|
||||
import {
|
||||
getRepoExecutionHostId,
|
||||
parseExecutionHostId,
|
||||
type ExecutionHostId
|
||||
} from '../../../../shared/execution-host'
|
||||
|
||||
import type { Repo } from '../../../../shared/repo-types'
|
||||
import { isFolderRepo } from '../../../../shared/repo-kind'
|
||||
import { getLocalPtyProvider } from '../../pty/provider/registry'
|
||||
@@ -39,7 +43,7 @@ import {
|
||||
assertWslMoveProjectWritable,
|
||||
assertWslMoveRepoWritable,
|
||||
isWslMoveSourceHost
|
||||
} from '../../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
} from '../../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { teardownStops } from '../../../runtime/workspaces/removal/owned-session-teardown-policy'
|
||||
|
||||
export function registerWorktreeForgetHandlers(context: WorktreeIpcContext): void {
|
||||
|
||||
@@ -23,7 +23,7 @@ import {
|
||||
waitForPendingWorktreeRemoval
|
||||
} from '../../../workspaces/removal/worktree-background-removal'
|
||||
import { runSerializedWorktreeRemovalAcceptance } from '../../../workspaces/removal/worktree-removal-acceptance-queue'
|
||||
import { assertWslMoveRepoWritable } from '../../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
import { assertWslMoveRepoWritable } from '../../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import {
|
||||
deleteLostContact,
|
||||
observeTerminals,
|
||||
|
||||
@@ -15,7 +15,7 @@ import { readProfileProjectTransferState } from '../../orca-profiles/project-tra
|
||||
import { getOrcaProfileListState } from '../../orca-profiles/profile-index-store'
|
||||
import { getProfileUserDataPath } from '../../orca-profiles/profile-storage-paths'
|
||||
import type { Store } from '../../persistence/loading-store/store'
|
||||
import { pauseWslMoveScope } from '../../persistence/moving-wsl-projects/wsl-move-driver-pause'
|
||||
import { pauseWslMoveScope } from '../../persistence/moving-wsl-projects/execution/wsl-move-driver-pause'
|
||||
import type { OrcaRuntimeService } from '../../runtime/orca-runtime'
|
||||
import { quitProcess } from '../../startup/process-quit-request'
|
||||
import { startWslDriveUncConversion } from '../../wsl/filesystem/wsl-drive-unc-conversion-run'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type * as WslMoveDriverPreviewModule from '../../persistence/moving-wsl-projects/wsl-move-driver-preview'
|
||||
import type * as WslMoveDriverPreviewModule from '../../persistence/moving-wsl-projects/execution/wsl-move-driver-preview'
|
||||
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
||||
import { WSL_HOSTS_INTERNAL_GATE_ENV } from '../../../shared/wsl-host-internal-gate'
|
||||
|
||||
@@ -16,17 +16,19 @@ const driver = vi.hoisted(() => ({
|
||||
moveProjectsToWslHost: vi.fn(async () => ({ outcome: 'moved' })),
|
||||
cancelWslMove: vi.fn(() => true)
|
||||
}))
|
||||
vi.mock('../../persistence/moving-wsl-projects/wsl-move-driver', () => driver)
|
||||
vi.mock('../../persistence/moving-wsl-projects/wsl-move-driver', () => ({
|
||||
moveProjectsToWslHost: driver.moveProjectsToWslHost
|
||||
}))
|
||||
|
||||
vi.mock(
|
||||
'../../persistence/moving-wsl-projects/wsl-move-driver-preview',
|
||||
'../../persistence/moving-wsl-projects/execution/wsl-move-driver-preview',
|
||||
async (importOriginal) => ({
|
||||
...(await importOriginal<typeof WslMoveDriverPreviewModule>()),
|
||||
previewWslMove: driver.previewWslMove
|
||||
})
|
||||
)
|
||||
const running = vi.hoisted(() => ({ any: false }))
|
||||
vi.mock('../../persistence/moving-wsl-projects/wsl-move-running-moves', () => ({
|
||||
vi.mock('../../persistence/moving-wsl-projects/orchestration/wsl-move-running-moves', () => ({
|
||||
isAnyWslMoveRunning: () => running.any,
|
||||
cancelWslMove: driver.cancelWslMove
|
||||
}))
|
||||
|
||||
@@ -22,42 +22,42 @@ import {
|
||||
import { HistoryReader } from '../../daemon/history/restoration/history-reader'
|
||||
import { orcadMigrationDestinationFor } from '../../managed-server/lifecycle/orcad-runtime-conversion-wiring'
|
||||
import type { Store } from '../../persistence/loading-store/store'
|
||||
import { exportWslMoveManifest } from '../../persistence/moving-wsl-projects/wsl-move-manifest-export'
|
||||
import { ensureWslMoveDestinationBrowserLogins } from '../../persistence/moving-wsl-projects/wsl-move-browser-cookie-copy'
|
||||
import { exportWslMoveManifest } from '../../persistence/moving-wsl-projects/manifest-scope/wsl-move-manifest-export'
|
||||
import { ensureWslMoveDestinationBrowserLogins } from '../../persistence/moving-wsl-projects/desktop-state/wsl-move-browser-cookie-copy'
|
||||
import { activeBrowserRoutePartitionOrcaProfileId } from '../../browser/routing/partitions/browser-route-partition-binding-runtime'
|
||||
import { wslHostBrowserRouteStorage } from '../../browser/routing/local-host-partitions/wsl-host-browser-route-partition'
|
||||
import { runGatedWslMoveDesktopRewritePass } from '../../persistence/moving-wsl-projects/wsl-move-desktop-rewrite'
|
||||
import { runGatedWslMoveDesktopRewritePass } from '../../persistence/moving-wsl-projects/desktop-state/wsl-move-desktop-rewrite'
|
||||
import type {
|
||||
WslMoveDriverDeps,
|
||||
WslMoveHost
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-driver-ports'
|
||||
import { proveWslMoveTerminalsExited } from '../../persistence/moving-wsl-projects/wsl-move-exit-proof'
|
||||
} from '../../persistence/moving-wsl-projects/execution/wsl-move-driver-ports'
|
||||
import { proveWslMoveTerminalsExited } from '../../persistence/moving-wsl-projects/quiescence/wsl-move-exit-proof'
|
||||
import {
|
||||
collectWslMoveGateInputs,
|
||||
listWslMovePanes,
|
||||
type WslMoveGateFactSources
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-gate-facts'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-gate-facts'
|
||||
import {
|
||||
classifyWslGuestPaneForeground,
|
||||
readWslGuestPaneShellCwd
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-guest-foreground'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-guest-foreground'
|
||||
import {
|
||||
listWslMoveSleptSessionPanes,
|
||||
readWslMoveSleptScrollbackFromHistory,
|
||||
withSleptSessionPanes,
|
||||
wslMoveTabTitle,
|
||||
wslMoveSleptSpoolRoot
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-slept-scrollback'
|
||||
import { scheduleWslMoveRewriteRetry } from '../../persistence/moving-wsl-projects/wsl-move-rewrite-retry'
|
||||
} from '../../persistence/moving-wsl-projects/terminal-state/wsl-move-slept-scrollback'
|
||||
import { scheduleWslMoveRewriteRetry } from '../../persistence/moving-wsl-projects/cutover-recovery/wsl-move-rewrite-retry'
|
||||
import {
|
||||
captureWslMoveRestoreHints,
|
||||
type WslMoveRestoreHintPane
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-restore-hints'
|
||||
} from '../../persistence/moving-wsl-projects/terminal-state/wsl-move-restore-hints'
|
||||
import {
|
||||
isWslMoveProjectFenced,
|
||||
wslMoveProjectRefForWorkspace
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
import { buildWslMoveShellHistoryBlobs } from '../../persistence/moving-wsl-projects/wsl-move-shell-history-blobs'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { buildWslMoveShellHistoryBlobs } from '../../persistence/moving-wsl-projects/terminal-state/wsl-move-shell-history-blobs'
|
||||
import { inspectPtyProviderProcessForRenderer } from '../../providers/pty-process-inspection'
|
||||
import type { OrcaRuntimeService } from '../../runtime/orca-runtime'
|
||||
import { getTrustedUIRendererWebContents, getTrustedUIRendererWindow } from '../ui'
|
||||
@@ -72,7 +72,7 @@ import {
|
||||
import {
|
||||
setWslMoveReloadLanding,
|
||||
setWslMoveReloadableWindow
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-window-write-hold'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-window-write-hold'
|
||||
import { commitRemoteOrcadMigrationCatalog } from '../../managed-server/migration/catalog/orcad-migration-catalog-client'
|
||||
import { listRemoteOrcadRepositories } from '../../managed-server/migration/linking/orcad-server-repositories'
|
||||
import { stageRemoteOrcadMigrationBlobChunk } from '../../managed-server/migration/transfers/orcad-migration-chunk-client'
|
||||
|
||||
@@ -5,12 +5,12 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
||||
import { WSL_HOSTS_INTERNAL_GATE_ENV } from '../../../shared/wsl-host-internal-gate'
|
||||
import { wslMoveCutoverFixture as cutover } from '../../persistence/__fixtures__/wsl-mover/wsl-move-cutover-fixture'
|
||||
import { seedWslMoveCutover } from '../../persistence/__fixtures__/wsl-mover/wsl-move-journal-seeding'
|
||||
import { listWslMoveCutovers } from '../../persistence/moving-wsl-projects/wsl-move-cutover-journal'
|
||||
import { listWslMoveCutovers } from '../../persistence/moving-wsl-projects/cutover-recovery/wsl-move-cutover-journal'
|
||||
import {
|
||||
loadWslMoveFence,
|
||||
resetWslMoveFenceForTests
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
import { setWslMoveReloadableWindow } from '../../persistence/moving-wsl-projects/wsl-move-window-write-hold'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { setWslMoveReloadableWindow } from '../../persistence/moving-wsl-projects/quiescence/wsl-move-window-write-hold'
|
||||
|
||||
type Handler = (event: unknown, request?: unknown) => unknown
|
||||
|
||||
|
||||
@@ -19,15 +19,15 @@ import type { WslMoveUseLocallyResult } from '../../../shared/wsl-move/wsl-moved
|
||||
import {
|
||||
listPendingWslMoveRendererRewrites,
|
||||
recordWslMoveRendererStoreRewritten
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-desktop-rewrite'
|
||||
} from '../../persistence/moving-wsl-projects/desktop-state/wsl-move-desktop-rewrite'
|
||||
import {
|
||||
cancelWslMove,
|
||||
isAnyWslMoveRunning
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-running-moves'
|
||||
} from '../../persistence/moving-wsl-projects/orchestration/wsl-move-running-moves'
|
||||
import { moveProjectsToWslHost } from '../../persistence/moving-wsl-projects/wsl-move-driver'
|
||||
import { previewWslMove } from '../../persistence/moving-wsl-projects/wsl-move-driver-preview'
|
||||
import type { WslMoveDriverDeps } from '../../persistence/moving-wsl-projects/wsl-move-driver-ports'
|
||||
import { listUnfinishedWslMoves } from '../../persistence/moving-wsl-projects/wsl-move-host-automations-rewrite'
|
||||
import { previewWslMove } from '../../persistence/moving-wsl-projects/execution/wsl-move-driver-preview'
|
||||
import type { WslMoveDriverDeps } from '../../persistence/moving-wsl-projects/execution/wsl-move-driver-ports'
|
||||
import { listUnfinishedWslMoves } from '../../persistence/moving-wsl-projects/desktop-state/wsl-move-host-automations-rewrite'
|
||||
import { runTrackedWslMove } from '../../telemetry/wsl-move-telemetry'
|
||||
import { runTrackedWslMoveUndo } from '../../telemetry/wsl-move-undo-telemetry'
|
||||
|
||||
|
||||
@@ -14,23 +14,23 @@ import {
|
||||
type WslMoveOrchestratorUserAction
|
||||
} from '../../../shared/wsl-move/wsl-move-orchestrator-types'
|
||||
import type { Store } from '../../persistence/loading-store/store'
|
||||
import { listWslMoveCutoverChain } from '../../persistence/moving-wsl-projects/wsl-move-cutover-journal'
|
||||
import { listWslMoveCutoverChain } from '../../persistence/moving-wsl-projects/cutover-recovery/wsl-move-cutover-journal'
|
||||
import { moveProjectsToWslHost } from '../../persistence/moving-wsl-projects/wsl-move-driver'
|
||||
import { previewWslMove } from '../../persistence/moving-wsl-projects/wsl-move-driver-preview'
|
||||
import { wslMovedDistroVerdict } from '../../persistence/moving-wsl-projects/wsl-move-moved-distro-check'
|
||||
import { previewWslMove } from '../../persistence/moving-wsl-projects/execution/wsl-move-driver-preview'
|
||||
import { wslMovedDistroVerdict } from '../../persistence/moving-wsl-projects/quiescence/wsl-move-moved-distro-check'
|
||||
import { WslMoveOrchestrator } from '../../persistence/moving-wsl-projects/wsl-move-orchestrator'
|
||||
import type {
|
||||
WslMoveFinishedMove,
|
||||
WslMoveHostReadiness
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-orchestrator-ports'
|
||||
import { prepareWslMoveHost } from '../../persistence/moving-wsl-projects/wsl-move-host-readiness'
|
||||
} from '../../persistence/moving-wsl-projects/orchestration/wsl-move-orchestrator-ports'
|
||||
import { prepareWslMoveHost } from '../../persistence/moving-wsl-projects/quiescence/wsl-move-host-readiness'
|
||||
import { readConfirmedRunningWslDistros } from '../../wsl/discovery/wsl-background-distro-gate'
|
||||
import { defaultWslOrcadEnvironmentId } from '../../wsl/orcad/wsl-orcad-deploy'
|
||||
import {
|
||||
readWslMoveOrchestratorRecords,
|
||||
writeWslMoveOrchestratorRecords
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-orchestrator-store'
|
||||
import type { WslMoveDriverDeps } from '../../persistence/moving-wsl-projects/wsl-move-driver-ports'
|
||||
} from '../../persistence/moving-wsl-projects/orchestration/wsl-move-orchestrator-store'
|
||||
import type { WslMoveDriverDeps } from '../../persistence/moving-wsl-projects/execution/wsl-move-driver-ports'
|
||||
import {
|
||||
trackWslMoveOrchestrator,
|
||||
wslMoveOrchestratorEventProps
|
||||
@@ -49,7 +49,7 @@ import { onWslHostUserAction } from '../../wsl/host-lifecycle/wsl-host-user-acti
|
||||
import { getTrustedUIRendererWebContents, getTrustedUIRendererWindow } from '../ui'
|
||||
import { onWslMoveReleasedByUser, releaseWslMoveChainHere } from './wsl-move-release-here'
|
||||
import { createWslMoveUndoPorts } from './wsl-move-undo-wiring'
|
||||
import { isDistroInUse } from '../../persistence/moving-wsl-projects/wsl-move-distro-in-use'
|
||||
import { isDistroInUse } from '../../persistence/moving-wsl-projects/quiescence/wsl-move-distro-in-use'
|
||||
import { answerWslMoveSleptPanes, requestSleptPanes } from './wsl-move-orchestrator-slept-panes'
|
||||
import { wslHostRemovalPending } from './wsl-move-host-connect'
|
||||
import { wslMoveAutoMovesBridgeProjects } from '../../../shared/wsl-move/wsl-move-rollout-stage'
|
||||
|
||||
@@ -6,17 +6,17 @@ import type { WslMoveCutover } from '../../../shared/wsl-move/wsl-move-cutover'
|
||||
import { WSL_HOSTS_INTERNAL_GATE_ENV } from '../../../shared/wsl-host-internal-gate'
|
||||
import { wslMoveCutoverFixture as cutover } from '../../persistence/__fixtures__/wsl-mover/wsl-move-cutover-fixture'
|
||||
import { seedWslMoveCutover } from '../../persistence/__fixtures__/wsl-mover/wsl-move-journal-seeding'
|
||||
import { listWslMoveCutovers } from '../../persistence/moving-wsl-projects/wsl-move-cutover-journal'
|
||||
import { listWslMoveCutovers } from '../../persistence/moving-wsl-projects/cutover-recovery/wsl-move-cutover-journal'
|
||||
import {
|
||||
isWslMoveProjectBlocked,
|
||||
loadWslMoveFence,
|
||||
resetWslMoveFenceForTests
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
import { setWslMoveReloadableWindow } from '../../persistence/moving-wsl-projects/wsl-move-window-write-hold'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { setWslMoveReloadableWindow } from '../../persistence/moving-wsl-projects/quiescence/wsl-move-window-write-hold'
|
||||
import {
|
||||
registerWslMoveDesktopRewriteStore,
|
||||
resetWslMoveDesktopRewriteStoresForTests
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-desktop-rewrite-stores'
|
||||
} from '../../persistence/moving-wsl-projects/desktop-state/wsl-move-desktop-rewrite-stores'
|
||||
|
||||
type Handler = (event: unknown, request?: unknown) => unknown
|
||||
|
||||
|
||||
@@ -14,15 +14,15 @@ import {
|
||||
wslMoveRigRetentionStore,
|
||||
type WslMoveRig
|
||||
} from '../../persistence/__fixtures__/wsl-mover/wsl-move-kill-rig'
|
||||
import { resetWslMoveDesktopRewriteStoresForTests } from '../../persistence/moving-wsl-projects/wsl-move-desktop-rewrite-stores'
|
||||
import { resetWslMoveDesktopRewriteStoresForTests } from '../../persistence/moving-wsl-projects/desktop-state/wsl-move-desktop-rewrite-stores'
|
||||
import { moveProjectsToWslHost } from '../../persistence/moving-wsl-projects/wsl-move-driver'
|
||||
import { previewWslMove } from '../../persistence/moving-wsl-projects/wsl-move-driver-preview'
|
||||
import { runWslMoveRetentionPass } from '../../persistence/moving-wsl-projects/wsl-move-retention'
|
||||
import { previewWslMove } from '../../persistence/moving-wsl-projects/execution/wsl-move-driver-preview'
|
||||
import { runWslMoveRetentionPass } from '../../persistence/moving-wsl-projects/cutover-recovery/wsl-move-retention'
|
||||
import {
|
||||
claimWslMoveRun,
|
||||
releaseWslMoveRun,
|
||||
type RunningWslMove
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-running-moves'
|
||||
} from '../../persistence/moving-wsl-projects/orchestration/wsl-move-running-moves'
|
||||
import { releaseWslMovedProjectHere } from './wsl-move-release-here'
|
||||
|
||||
vi.mock('electron', () => ({
|
||||
|
||||
@@ -9,26 +9,26 @@ import {
|
||||
type WslMoveCutover
|
||||
} from '../../../shared/wsl-move/wsl-move-cutover'
|
||||
import type { WslMoveUseLocallyResult } from '../../../shared/wsl-move/wsl-moved-project'
|
||||
import { listWslMoveCutoverChain } from '../../persistence/moving-wsl-projects/wsl-move-cutover-journal'
|
||||
import type { WslMoveProjectRef } from '../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
import { fenceHostSpawnsForWslMoveUndo } from '../../persistence/moving-wsl-projects/wsl-move-undo-spawn-fence'
|
||||
import { listWslMoveCutoverChain } from '../../persistence/moving-wsl-projects/cutover-recovery/wsl-move-cutover-journal'
|
||||
import type { WslMoveProjectRef } from '../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { fenceHostSpawnsForWslMoveUndo } from '../../persistence/moving-wsl-projects/cutover-recovery/wsl-move-undo-spawn-fence'
|
||||
import {
|
||||
findWslMovedProjectMove,
|
||||
releaseWslMove,
|
||||
wslMoveReleaseRefusal,
|
||||
wslMoveWorkspacesInScope
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-use-locally'
|
||||
} from '../../persistence/moving-wsl-projects/cutover-recovery/wsl-move-use-locally'
|
||||
import {
|
||||
holdWslMoveWindowWrites,
|
||||
reloadWslMoveWindowWithWritesHeld
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-window-write-hold'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-window-write-hold'
|
||||
import type { WslMoveUndoPorts } from './wsl-move-undo-wiring'
|
||||
import {
|
||||
wslMoveHostCopiesSlept,
|
||||
wslMoveHostCopyOutcome
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-host-copy-stop'
|
||||
import { beginWslMoveUndoRun } from '../../persistence/moving-wsl-projects/wsl-move-running-moves'
|
||||
import { runWslMoveHostAutomationsExclusive } from '../../persistence/moving-wsl-projects/wsl-move-undo-host-automations'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-host-copy-stop'
|
||||
import { beginWslMoveUndoRun } from '../../persistence/moving-wsl-projects/orchestration/wsl-move-running-moves'
|
||||
import { runWslMoveHostAutomationsExclusive } from '../../persistence/moving-wsl-projects/cutover-recovery/wsl-move-undo-host-automations'
|
||||
import { listEnvironments } from '../../../shared/remote-runtime/host-store/runtime-environment-store'
|
||||
import { wasWslHostKeptForPeers } from '../../wsl/host-lifecycle/wsl-host-kept-for-peers'
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/** The app window as the WSL move's write hold reloads it (wsl-move-window-write-hold.ts). */
|
||||
import type { WebContents } from 'electron'
|
||||
import type { Store } from '../../persistence/loading-store/store'
|
||||
import type { WslMoveReloadableWindow } from '../../persistence/moving-wsl-projects/wsl-move-window-write-hold'
|
||||
import type { WslMoveReloadableWindow } from '../../persistence/moving-wsl-projects/quiescence/wsl-move-window-write-hold'
|
||||
|
||||
/**
|
||||
* Settings cannot restore its page, so a reload from it would open General (and keep reopening
|
||||
|
||||
@@ -8,17 +8,17 @@ import { seedWslMoveCutover } from '../../persistence/__fixtures__/wsl-mover/wsl
|
||||
import {
|
||||
loadWslMoveFence,
|
||||
resetWslMoveFenceForTests
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-scope-guard'
|
||||
import { setWslMoveReloadableWindow } from '../../persistence/moving-wsl-projects/wsl-move-window-write-hold'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { setWslMoveReloadableWindow } from '../../persistence/moving-wsl-projects/quiescence/wsl-move-window-write-hold'
|
||||
import {
|
||||
registerWslMoveDesktopRewriteStore,
|
||||
resetWslMoveDesktopRewriteStoresForTests
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-desktop-rewrite-stores'
|
||||
} from '../../persistence/moving-wsl-projects/desktop-state/wsl-move-desktop-rewrite-stores'
|
||||
import {
|
||||
isHostSpawnFencedForWslMoveUndo,
|
||||
resetWslMoveUndoSpawnFencesForTests
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-undo-spawn-fence'
|
||||
import type { WslMoveHostCopyStop } from '../../persistence/moving-wsl-projects/wsl-move-host-copy-stop'
|
||||
} from '../../persistence/moving-wsl-projects/cutover-recovery/wsl-move-undo-spawn-fence'
|
||||
import type { WslMoveHostCopyStop } from '../../persistence/moving-wsl-projects/quiescence/wsl-move-host-copy-stop'
|
||||
|
||||
type Handler = (event: unknown, request?: unknown) => unknown
|
||||
|
||||
|
||||
@@ -6,17 +6,17 @@ import { z } from 'zod'
|
||||
import { LOCAL_EXECUTION_HOST_ID } from '../../../shared/execution-host'
|
||||
import type { WslMoveCutover } from '../../../shared/wsl-move/wsl-move-cutover'
|
||||
import type { Store } from '../../persistence/loading-store/store'
|
||||
import { wslMoveDesktopRewriteContext } from '../../persistence/moving-wsl-projects/wsl-move-desktop-rewrite'
|
||||
import { wslMoveDesktopRewriteContext } from '../../persistence/moving-wsl-projects/desktop-state/wsl-move-desktop-rewrite'
|
||||
import {
|
||||
probeWslMoveHostCopies,
|
||||
stopWslMoveHostCopies,
|
||||
type WslMoveHostCopyOutcome,
|
||||
type WslMoveHostCopyPort,
|
||||
type WslMoveHostCopyStop
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-host-copy-stop'
|
||||
import { wslMoveRewriteScope } from '../../persistence/moving-wsl-projects/wsl-move-rewrite-scope'
|
||||
import { wslMoveReleasedSessionFocusPatch } from '../../persistence/moving-wsl-projects/wsl-move-session-rewrite'
|
||||
import { applyWslMoveSessionFocus } from '../../persistence/moving-wsl-projects/wsl-move-main-rewrite-stores'
|
||||
} from '../../persistence/moving-wsl-projects/quiescence/wsl-move-host-copy-stop'
|
||||
import { wslMoveRewriteScope } from '../../persistence/moving-wsl-projects/desktop-state/wsl-move-rewrite-scope'
|
||||
import { wslMoveReleasedSessionFocusPatch } from '../../persistence/moving-wsl-projects/terminal-state/wsl-move-session-rewrite'
|
||||
import { applyWslMoveSessionFocus } from '../../persistence/moving-wsl-projects/desktop-state/wsl-move-main-rewrite-stores'
|
||||
import { listEnvironments } from '../../../shared/remote-runtime/host-store/runtime-environment-store'
|
||||
import { callRuntimeEnvironment } from '../runtime-environments/runtime-environment-transport-routing'
|
||||
import { wasWslHostKeptForPeers } from '../../wsl/host-lifecycle/wsl-host-kept-for-peers'
|
||||
@@ -24,8 +24,8 @@ import {
|
||||
stopWslMoveHostAutomations,
|
||||
wslMoveMovedAutomationIds,
|
||||
type WslMoveHostAutomationStop
|
||||
} from '../../persistence/moving-wsl-projects/wsl-move-undo-host-automations'
|
||||
import { scheduleWslMoveRewriteRetry } from '../../persistence/moving-wsl-projects/wsl-move-rewrite-retry'
|
||||
} from '../../persistence/moving-wsl-projects/cutover-recovery/wsl-move-undo-host-automations'
|
||||
import { scheduleWslMoveRewriteRetry } from '../../persistence/moving-wsl-projects/cutover-recovery/wsl-move-rewrite-retry'
|
||||
import { connectWslMoveHostService, wslHostRemovalPending } from './wsl-move-host-connect'
|
||||
import { getWslHostService } from '../../wsl/host-lifecycle/wsl-host-service-instance'
|
||||
import {
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
getOrcadSshDeployment,
|
||||
type KnownRuntimeEnvironment
|
||||
} from '../../../shared/remote-runtime/host-catalog/runtime-environments'
|
||||
import { listOrcadMigrationSourceCutovers } from '../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
import { listOrcadMigrationSourceCutovers } from '../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
|
||||
type OrcadManagedPendingMigration = {
|
||||
migrationId: string
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
import { redactRuntimeEnvironment } from '../../../shared/remote-runtime/host-catalog/runtime-environments'
|
||||
import type { KnownRuntimeEnvironment } from '../../../shared/remote-runtime/host-catalog/runtime-environments'
|
||||
import {
|
||||
redactRuntimeEnvironment,
|
||||
type KnownRuntimeEnvironment
|
||||
} from '../../../shared/remote-runtime/host-catalog/runtime-environments'
|
||||
|
||||
import type { OrcadManagedRollbackResult } from '../../../shared/orcad-managed-runtime'
|
||||
import { probeActiveOrcadReadiness } from '../activation/orcad-active-readiness'
|
||||
import { CURRENT_ORCAD_DAEMON_PROTOCOL } from '../activation/orcad-daemon-protocol-crossing'
|
||||
@@ -14,10 +17,14 @@ import { rollbackOrcad } from '../install/orcad-remote-rollback'
|
||||
import { collectManagedTerminalCensus } from './orcad-terminal-census-client'
|
||||
import { updateTerminalCounts } from '../activation/orcad-fenced-stop'
|
||||
import { findIncompleteManagedOrcadMigration } from './orcad-managed-migration-status'
|
||||
import { latestOrcadMigrationInto } from '../../persistence/migrating-orcad-catalog/orcad-migration-rollback-mark'
|
||||
import { latestOrcadMigrationInto } from '../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-rollback-mark'
|
||||
import { refreshMaintainedOrcadPairing } from './orcad-maintenance-pairing-refresh'
|
||||
import type { LifecycleArgs } from './orcad-managed-lifecycle'
|
||||
import { withManagedOrcadLifecycle, followLaunchedServerPort } from './orcad-managed-lifecycle'
|
||||
|
||||
import {
|
||||
type LifecycleArgs,
|
||||
withManagedOrcadLifecycle,
|
||||
followLaunchedServerPort
|
||||
} from './orcad-managed-lifecycle'
|
||||
|
||||
export function rollbackManagedOrcadEnvironment(
|
||||
userDataPath: string,
|
||||
|
||||
@@ -11,7 +11,10 @@ import {
|
||||
readRemoteOrcadMigrationCatalogState,
|
||||
stageRemoteOrcadMigrationCatalog
|
||||
} from '../migration/catalog/orcad-migration-catalog-client'
|
||||
import { listRemoteOrcadRepositories } from '../migration/linking/orcad-server-repositories'
|
||||
import {
|
||||
listRemoteOrcadRepositories,
|
||||
type OrcadServerRepository
|
||||
} from '../migration/linking/orcad-server-repositories'
|
||||
import {
|
||||
stageRemoteOrcadMigrationBlobChunk,
|
||||
stageRemoteOrcadMigrationSnapshotChunk
|
||||
@@ -21,11 +24,11 @@ import { abortRemoteOrcadMigrationCatalogByReference } from '../migration/catalo
|
||||
import {
|
||||
enableRemoteOrcadAutomation,
|
||||
type EnableServerAutomation
|
||||
} from '../../persistence/migrating-orcad-catalog/orcad-migration-moved-automations'
|
||||
} from '../../persistence/migrating-orcad-catalog/retained-source/orcad-migration-moved-automations'
|
||||
import { censusHostRelayTerminalsFor } from '../../ssh/legacy-relay/endpoints/ssh-host-relay-census-for-target'
|
||||
import { isBridgeableLease } from '../../ssh/legacy-relay/bridge/legacy-relay-bridge-leases'
|
||||
import type { OrcadManagedConversionArgs } from './orcad-runtime-conversion'
|
||||
import type { OrcadServerRepository } from '../migration/linking/orcad-server-repositories'
|
||||
|
||||
import {
|
||||
listRemoteOrcadFolderCatalog,
|
||||
type OrcadServerFolderCatalog
|
||||
|
||||
@@ -21,7 +21,7 @@ import {
|
||||
import {
|
||||
findOrcadMigrationSourceCutoverForTarget,
|
||||
removeOrcadMigrationJournalsForDestination
|
||||
} from '../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
} from '../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import type { SshTarget } from '../../../shared/ssh-types'
|
||||
import type { CensusHostRelayTerminals } from '../../ssh/migration-source/orcad-migration-terminal-gate'
|
||||
import { createManagedOrcadEnvironment } from './orcad-runtime-deployment'
|
||||
@@ -32,11 +32,11 @@ import {
|
||||
} from '../../ssh/targets/ssh-target-orcad-preflight'
|
||||
import { ORCAD_MIGRATION_LEAVE_BEHIND_TERMINALS_REASON } from '../../ssh/migration-source/orcad-migration-source-fence'
|
||||
import type { OrcadMigrationPaneLeasePredicate } from '../../ssh/migration-source/orcad-migration-bridged-panes'
|
||||
import { retainOrcadMigrationSource } from '../../persistence/migrating-orcad-catalog/orcad-migration-source-retention'
|
||||
import { retainOrcadMigrationSource } from '../../persistence/migrating-orcad-catalog/retained-source/orcad-migration-source-retention'
|
||||
import {
|
||||
enableMovedOrcadAutomations,
|
||||
type EnableServerAutomation
|
||||
} from '../../persistence/migrating-orcad-catalog/orcad-migration-moved-automations'
|
||||
} from '../../persistence/migrating-orcad-catalog/retained-source/orcad-migration-moved-automations'
|
||||
import {
|
||||
linkedOrcadMigrationCutoverPort,
|
||||
linkedOrcadMigrationProjects,
|
||||
|
||||
@@ -24,7 +24,7 @@ import {
|
||||
} from './orcad-managed-runtime-context'
|
||||
import { closeOrcadManagedTunnel, ensureOrcadManagedTunnel } from './orcad-managed-tunnel'
|
||||
import { clearManagedOrcadUpdateDeferral } from './orcad-managed-update-deferrals'
|
||||
import { removeOrcadMigrationJournalsForDestination } from '../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
import { removeOrcadMigrationJournalsForDestination } from '../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import { decommissionRemoteOrcad } from '../install/orcad-remote-decommission'
|
||||
import { withManagedOrcadLifecycle } from './orcad-managed-lifecycle'
|
||||
import { collectManagedTerminalCensus } from './orcad-terminal-census-client'
|
||||
|
||||
@@ -5,7 +5,7 @@ import { listEnvironments } from '../../../shared/remote-runtime/host-store/runt
|
||||
import {
|
||||
listOrcadMigrationSourceCutovers,
|
||||
writeOrcadMigrationSourceCutover
|
||||
} from '../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
} from '../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import { orcadMigrationCutoverFixture } from '../migration/cutover/testing/orcad-migration-cutover-fixture'
|
||||
import { createManagedLifecycleHarness } from './orcad-managed-lifecycle-test-fixture'
|
||||
import { isManagedOrcadSshTarget } from '../../ssh/targets/ssh-target-runtime-ownership'
|
||||
|
||||
@@ -11,7 +11,7 @@ import { encodePairingOffer } from '../../../shared/remote-runtime/pairing/pairi
|
||||
import { PAIRING_OFFER_VERSION } from '../../../shared/remote-runtime/pairing/mobile-relay-pairing-offer'
|
||||
|
||||
import { orcadMigrationCutoverFixture } from '../migration/cutover/testing/orcad-migration-cutover-fixture'
|
||||
import { writeOrcadMigrationSourceCutover } from '../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
import { writeOrcadMigrationSourceCutover } from '../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import {
|
||||
createManagedLifecycleHarness,
|
||||
MANAGED_LOCAL_PORT,
|
||||
|
||||
@@ -9,7 +9,7 @@ import {
|
||||
type OrcadMigrationCutoverContext,
|
||||
type OrcadMigrationDestinationCatalog
|
||||
} from './orcad-migration-cutover-coordinator'
|
||||
import { findOrcadMigrationSourceCutoverForTarget } from '../../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
import { findOrcadMigrationSourceCutoverForTarget } from '../../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import {
|
||||
releaseOrcadMigrationFence,
|
||||
releaseUndeployedMigrationFence
|
||||
|
||||
+2
-2
@@ -20,9 +20,9 @@ import { ORCAD_MIGRATION_DESTINATION_UNSUPPORTED } from '../catalog/orcad-migrat
|
||||
import {
|
||||
listOrcadMigrationSourceCutovers,
|
||||
writeOrcadMigrationSourceCutover
|
||||
} from '../../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
} from '../../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import { assertOrcadMigrationRequestFits } from '../catalog/orcad-migration-request-budget'
|
||||
import { createOrcadMigrationManifest } from '../../../persistence/migrating-orcad-catalog/orcad-migration-manifest-export'
|
||||
import { createOrcadMigrationManifest } from '../../../persistence/migrating-orcad-catalog/source/catalog/orcad-migration-manifest-export'
|
||||
import { MAX_ORCAD_MIGRATION_MANIFEST_BYTES } from '../../../../shared/orcad-migration/orcad-migration-manifest-validation'
|
||||
import { fenceOrcadMigrationSource } from '../../../ssh/migration-source/orcad-migration-source-fence'
|
||||
import { SshTargetOrcadClaims } from '../../../ssh/targets/ssh-target-orcad-claims'
|
||||
|
||||
@@ -24,7 +24,7 @@ import { orcadMigrationRequestFits } from '../catalog/orcad-migration-request-bu
|
||||
import {
|
||||
listOrcadMigrationSourceCutovers,
|
||||
writeOrcadMigrationSourceCutover
|
||||
} from '../../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
} from '../../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import type { OrcadMigrationSourceCutoverPort } from './orcad-migration-source'
|
||||
import {
|
||||
transferOrcadMigrationSnapshots,
|
||||
@@ -34,7 +34,7 @@ import {
|
||||
exportedOrcadMigrationBlobSource,
|
||||
transferOrcadMigrationBlobs
|
||||
} from '../transfers/orcad-migration-blob-coordinator'
|
||||
import type { OrcadMigrationExportedBlob } from '../../../persistence/migrating-orcad-catalog/orcad-migration-manifest-export'
|
||||
import type { OrcadMigrationExportedBlob } from '../../../persistence/migrating-orcad-catalog/source/catalog/orcad-migration-manifest-export'
|
||||
import type { OrcadMigrationPreflightStore } from '../../../ssh/targets/ssh-target-orcad-preflight'
|
||||
import { sshRelayMigrationCutoverPort } from '../../../ssh/migration-source/orcad-migration-ssh-relay-source'
|
||||
import type { SshTargetOrcadClaims } from '../../../ssh/targets/ssh-target-orcad-claims'
|
||||
|
||||
@@ -26,19 +26,19 @@ import {
|
||||
listOrcadMigrationCutoverChainForTarget,
|
||||
listOrcadMigrationSourceCutovers,
|
||||
writeOrcadMigrationSourceCutover
|
||||
} from '../../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
} from '../../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import { fakeOrcadMigrationDestination } from './testing/orcad-migration-destination-fake'
|
||||
import { keepOrcadServerVersion, runOrcadDeltaMove } from './orcad-migration-delta-move'
|
||||
import { orcadSourceStoreWithout, planOrcadDeltaMove } from './orcad-migration-delta-plan'
|
||||
import {
|
||||
createOrcadMigrationManifest,
|
||||
orcadMigrationCatalogIds
|
||||
} from '../../../persistence/migrating-orcad-catalog/orcad-migration-manifest-export'
|
||||
} from '../../../persistence/migrating-orcad-catalog/source/catalog/orcad-migration-manifest-export'
|
||||
|
||||
import { MAX_ORCAD_MIGRATION_MANIFEST_BYTES } from '../../../../shared/orcad-migration/orcad-migration-manifest-validation'
|
||||
import { retainOrcadMigrationSource } from '../../../persistence/migrating-orcad-catalog/orcad-migration-source-retention'
|
||||
import { reconcileManagedOrcadSshTargets } from '../../../persistence/migrating-orcad-catalog/orcad-retained-source'
|
||||
import { visibleRepos } from '../../../persistence/migrating-orcad-catalog/orcad-source-visibility'
|
||||
import { retainOrcadMigrationSource } from '../../../persistence/migrating-orcad-catalog/retained-source/orcad-migration-source-retention'
|
||||
import { reconcileManagedOrcadSshTargets } from '../../../persistence/migrating-orcad-catalog/retained-source/orcad-retained-source'
|
||||
import { visibleRepos } from '../../../persistence/migrating-orcad-catalog/source/catalog/orcad-source-visibility'
|
||||
import { SshConnectionStore } from '../../../ssh/targets/ssh-connection-store'
|
||||
import { resolveHostServerOnConnect } from '../../../ssh/host-server/ssh-host-server-on-connect'
|
||||
import { hostServerDepsStub } from '../../../ssh/host-server/testing/ssh-host-server-on-connect-test-deps'
|
||||
|
||||
@@ -19,7 +19,7 @@ import {
|
||||
listOrcadMigrationCutoverChainForTarget,
|
||||
removeOrcadMigrationSourceCutover,
|
||||
writeOrcadMigrationSourceCutover
|
||||
} from '../../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
} from '../../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import {
|
||||
committedOrcadMigrationChain,
|
||||
orcadDeltaSourceStore,
|
||||
@@ -28,7 +28,7 @@ import {
|
||||
type OrcadDeltaMovePlan
|
||||
} from './orcad-migration-delta-plan'
|
||||
import { assertOrcadMigrationRequestFits } from '../catalog/orcad-migration-request-budget'
|
||||
import { retainOrcadMigrationSource } from '../../../persistence/migrating-orcad-catalog/orcad-migration-source-retention'
|
||||
import { retainOrcadMigrationSource } from '../../../persistence/migrating-orcad-catalog/retained-source/orcad-migration-source-retention'
|
||||
import {
|
||||
assessOrcadMigrationTerminals,
|
||||
type OrcadMigrationTerminalVerdict,
|
||||
@@ -40,8 +40,8 @@ import {
|
||||
orcadCatalogFingerprint,
|
||||
unmovedOrcadSourceRows,
|
||||
withKeptOrcadSourceRows
|
||||
} from '../../../persistence/migrating-orcad-catalog/orcad-retained-source'
|
||||
import { collectOrcadMigrationSourceCatalog } from '../../../persistence/migrating-orcad-catalog/orcad-source-catalog'
|
||||
} from '../../../persistence/migrating-orcad-catalog/retained-source/orcad-retained-source'
|
||||
import { collectOrcadMigrationSourceCatalog } from '../../../persistence/migrating-orcad-catalog/source/catalog/orcad-source-catalog'
|
||||
import type { SshTargetOrcadClaims } from '../../../ssh/targets/ssh-target-orcad-claims'
|
||||
import { orcadMigrationRefusalReason } from './orcad-migration-refusal-reason'
|
||||
import { errorMessage } from '../../../../shared/error-message'
|
||||
|
||||
@@ -7,17 +7,20 @@ import type {
|
||||
OrcadMigrationCatalogPayload,
|
||||
OrcadMigrationManifest
|
||||
} from '../../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import { isRetainedOrcadMigrationSourceCutover } from '../../../../shared/orcad-migration/orcad-migration-source-cutover'
|
||||
import type { OrcadMigrationSourceCutover } from '../../../../shared/orcad-migration/orcad-migration-source-cutover'
|
||||
import {
|
||||
isRetainedOrcadMigrationSourceCutover,
|
||||
type OrcadMigrationSourceCutover
|
||||
} from '../../../../shared/orcad-migration/orcad-migration-source-cutover'
|
||||
|
||||
import type { SshTarget } from '../../../../shared/ssh-types'
|
||||
import type { Store } from '../../../persistence/loading-store/store'
|
||||
import { collectOrcadMigrationSourceCatalog } from '../../../persistence/migrating-orcad-catalog/orcad-source-catalog'
|
||||
import { listOrcadMigrationCutoverChainForTarget } from '../../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
import { collectOrcadMigrationSourceCatalog } from '../../../persistence/migrating-orcad-catalog/source/catalog/orcad-source-catalog'
|
||||
import { listOrcadMigrationCutoverChainForTarget } from '../../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import {
|
||||
createOrcadMigrationManifest,
|
||||
orcadMigrationCatalogIds,
|
||||
type OrcadMigrationCatalogIds
|
||||
} from '../../../persistence/migrating-orcad-catalog/orcad-migration-manifest-export'
|
||||
} from '../../../persistence/migrating-orcad-catalog/source/catalog/orcad-migration-manifest-export'
|
||||
import type { OrcadMigrationSnapshotSource } from '../transfers/orcad-migration-snapshot-coordinator'
|
||||
import { collectUntransferredDependentBlockers } from '../../../ssh/targets/ssh-target-orcad-dependents'
|
||||
import type { OrcadMigrationPreflightStore } from '../../../ssh/targets/ssh-target-orcad-preflight'
|
||||
|
||||
@@ -18,10 +18,10 @@ import {
|
||||
createSqliteTestStore
|
||||
} from '../../../persistence/persistence-test-harness'
|
||||
import { Store } from '../../../persistence/loading-store/store'
|
||||
import { listOrcadMigrationSourceCutovers } from '../../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
import { listOrcadMigrationSourceCutovers } from '../../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import { fakeOrcadMigrationDestination } from './testing/orcad-migration-destination-fake'
|
||||
import { runOrcadDeltaMove } from './orcad-migration-delta-move'
|
||||
import { reconcileManagedOrcadSshTargets } from '../../../persistence/migrating-orcad-catalog/orcad-retained-source'
|
||||
import { reconcileManagedOrcadSshTargets } from '../../../persistence/migrating-orcad-catalog/retained-source/orcad-retained-source'
|
||||
import { SshConnectionStore } from '../../../ssh/targets/ssh-connection-store'
|
||||
import { runTargetLifecycle } from '../../../ipc/ssh/ssh-target-lifecycle-queue'
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import type { OrcadMigrationSourceCutover } from '../../../../shared/orcad-migra
|
||||
import type {
|
||||
OrcadMigrationExportedBlob,
|
||||
OrcadMigrationManifestExportOptions
|
||||
} from '../../../persistence/migrating-orcad-catalog/orcad-migration-manifest-export'
|
||||
} from '../../../persistence/migrating-orcad-catalog/source/catalog/orcad-migration-manifest-export'
|
||||
import type {
|
||||
OrcadMigrationFenceResult,
|
||||
OrcadMigrationFenceState
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ import {
|
||||
} from '../../../ssh/migration-source/orcad-migration-terminal-gate'
|
||||
import { SshTargetOrcadClaims } from '../../../ssh/targets/ssh-target-orcad-claims'
|
||||
import { getManagedOrcadFenceEnvironmentId } from '../../../../shared/managed-orcad-ssh-owner'
|
||||
import { listOrcadMigrationSourceCutovers } from '../../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
import { listOrcadMigrationSourceCutovers } from '../../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import {
|
||||
leaveBehindClearsOrcadMigrationBlockers,
|
||||
onlyLeavableOrcadMigrationBlockers
|
||||
|
||||
@@ -14,7 +14,7 @@ import {
|
||||
} from '../../../persistence/persistence-test-harness'
|
||||
import { Store } from '../../../persistence/loading-store/store'
|
||||
import { stageOrcadMigrationDestination } from './orcad-migration-cutover-coordinator'
|
||||
import { listOrcadMigrationSourceCutovers } from '../../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
import { listOrcadMigrationSourceCutovers } from '../../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import { fakeOrcadMigrationDestination } from './testing/orcad-migration-destination-fake'
|
||||
import { fenceOrcadMigrationSource } from '../../../ssh/migration-source/orcad-migration-source-fence'
|
||||
import { releaseUnreachableOrcadSetup } from './orcad-unreachable-setup-release'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/** Release conversion setups stranded before staging by refused SSH forwarding. Stop any activated slot, unregister, then use undeployed-fence release; source rows remain intact for retry. */
|
||||
import { listEnvironments } from '../../../../shared/remote-runtime/host-store/runtime-environment-store'
|
||||
import { removeManagedOrcadEnvironment } from '../../../../shared/remote-runtime/host-store/runtime-environment-managed-orcad-store'
|
||||
import { findOrcadMigrationSourceCutoverForTarget } from '../../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
import { findOrcadMigrationSourceCutoverForTarget } from '../../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import { releaseUndeployedMigrationFence } from '../../../ssh/migration-source/orcad-migration-source-fence'
|
||||
import { closeOrcadManagedTunnel } from '../../lifecycle/orcad-managed-tunnel'
|
||||
import type { SshTargetOrcadClaims } from '../../../ssh/targets/ssh-target-orcad-claims'
|
||||
|
||||
@@ -22,7 +22,7 @@ import {
|
||||
import { Store } from '../../../persistence/loading-store/store'
|
||||
import type { OrcadMigrationDestinationCatalog } from '../cutover/orcad-migration-cutover-coordinator'
|
||||
import { storeBackedOrcadMigrationDestination } from '../cutover/testing/orcad-migration-destination-fake'
|
||||
import { removeOrcadMigrationJournalsForDestination } from '../../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
import { removeOrcadMigrationJournalsForDestination } from '../../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
|
||||
import { SshConnectionStore } from '../../../ssh/targets/ssh-connection-store'
|
||||
|
||||
|
||||
@@ -8,17 +8,26 @@ import type { SshManagedServerLinkedProject } from '../../../../shared/ssh-types
|
||||
import { parseWorkspaceKey } from '../../../../shared/workspace-scope'
|
||||
import { splitWorktreeId } from '../../../../shared/worktree/id'
|
||||
import type { Store } from '../../../persistence/loading-store/store'
|
||||
import { abortOrcadMigrationCutover } from '../cutover/orcad-migration-cutover-coordinator'
|
||||
import type { OrcadMigrationDestinationCatalog } from '../cutover/orcad-migration-cutover-coordinator'
|
||||
import { writeOrcadMigrationSourceCutover } from '../../../persistence/migrating-orcad-catalog/orcad-migration-cutover-journal'
|
||||
import { orcadSourceStoreWithout } from '../cutover/orcad-migration-delta-plan'
|
||||
import type { OrcadDeltaSourceStore } from '../cutover/orcad-migration-delta-plan'
|
||||
import { createOrcadMigrationManifest } from '../../../persistence/migrating-orcad-catalog/orcad-migration-manifest-export'
|
||||
import {
|
||||
abortOrcadMigrationCutover,
|
||||
type OrcadMigrationDestinationCatalog
|
||||
} from '../cutover/orcad-migration-cutover-coordinator'
|
||||
|
||||
import { writeOrcadMigrationSourceCutover } from '../../../persistence/migrating-orcad-catalog/cutover-journals/orcad-migration-cutover-journal'
|
||||
import {
|
||||
orcadSourceStoreWithout,
|
||||
type OrcadDeltaSourceStore
|
||||
} from '../cutover/orcad-migration-delta-plan'
|
||||
|
||||
import { createOrcadMigrationManifest } from '../../../persistence/migrating-orcad-catalog/source/catalog/orcad-migration-manifest-export'
|
||||
import type { OrcadMigrationSourceCutoverPort } from '../cutover/orcad-migration-source'
|
||||
import { sshRelayMigrationCutoverPort } from '../../../ssh/migration-source/orcad-migration-ssh-relay-source'
|
||||
import { orcadCatalogFingerprint } from '../../../persistence/migrating-orcad-catalog/orcad-retained-source'
|
||||
import { folderWorkspacesHeldByServer } from './orcad-server-folder-workspaces'
|
||||
import type { OrcadServerFolderCatalog } from './orcad-server-folder-workspaces'
|
||||
import { orcadCatalogFingerprint } from '../../../persistence/migrating-orcad-catalog/retained-source/orcad-retained-source'
|
||||
import {
|
||||
folderWorkspacesHeldByServer,
|
||||
type OrcadServerFolderCatalog
|
||||
} from './orcad-server-folder-workspaces'
|
||||
|
||||
import { projectGroupsHeldByServer, serverHeldProjectGroups } from './orcad-server-project-groups'
|
||||
|
||||
import type { SshTargetOrcadClaims } from '../../../ssh/targets/ssh-target-orcad-claims'
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ import { ORCAD_MIGRATION_BLOB_CHANNEL_RUNTIME_CAPABILITY } from '../../../../sha
|
||||
import {
|
||||
inspectOrcadMigrationBlobUploads,
|
||||
stageOrcadMigrationBlobChunk
|
||||
} from '../../../persistence/migrating-orcad-catalog/orcad-migration-blob-staging'
|
||||
} from '../../../persistence/migrating-orcad-catalog/blob-transfer/orcad-migration-blob-staging'
|
||||
import {
|
||||
transferOrcadMigrationBlobs,
|
||||
type OrcadMigrationBlobDestination
|
||||
|
||||
@@ -3,11 +3,12 @@
|
||||
* blob staging and commit can fail at named points (the fault-injection pattern of #29826), and
|
||||
* terminals that pause on request. The journal is the real one, in a temp directory.
|
||||
*/
|
||||
import type {
|
||||
OrcadMigrationBlobDescriptor,
|
||||
OrcadMigrationBlobUploadState
|
||||
|
||||
import {
|
||||
type OrcadMigrationBlobDescriptor,
|
||||
type OrcadMigrationBlobUploadState,
|
||||
ORCAD_MIGRATION_BLOB_KIND_CONTRACTS
|
||||
} from '../../../../shared/orcad-migration/orcad-migration-blob-transfer'
|
||||
import { ORCAD_MIGRATION_BLOB_KIND_CONTRACTS } from '../../../../shared/orcad-migration/orcad-migration-blob-transfer'
|
||||
import type {
|
||||
OrcadMigrationCatalogState,
|
||||
OrcadMigrationManifest
|
||||
@@ -20,19 +21,22 @@ import { getDefaultPersistedState } from '../../../../shared/constants'
|
||||
import { terminalTab } from './wsl-mover-profile-rows'
|
||||
import type { Repo } from '../../../../shared/repo-types'
|
||||
import type { WslMoveProgressEvent } from '../../../../shared/wsl-move/wsl-move-driver-types'
|
||||
import { collectOrcadMigrationSourceDormantState } from '../../migrating-orcad-catalog/orcad-source-dormant-state'
|
||||
import { exportWslMoveManifest } from '../../moving-wsl-projects/wsl-move-manifest-export'
|
||||
import { runWslMoveDesktopRewritePass } from '../../moving-wsl-projects/wsl-move-desktop-rewrite'
|
||||
import { collectOrcadMigrationSourceDormantState } from '../../migrating-orcad-catalog/source/dormancy/orcad-source-dormant-state'
|
||||
import {
|
||||
exportWslMoveManifest,
|
||||
type WslMoveManifestExport
|
||||
} from '../../moving-wsl-projects/manifest-scope/wsl-move-manifest-export'
|
||||
import { runWslMoveDesktopRewritePass } from '../../moving-wsl-projects/desktop-state/wsl-move-desktop-rewrite'
|
||||
import {
|
||||
readWslMoveSleptScrollbackFromHistory,
|
||||
wslMoveSleptSpoolRoot
|
||||
} from '../../moving-wsl-projects/wsl-move-slept-scrollback'
|
||||
} from '../../moving-wsl-projects/terminal-state/wsl-move-slept-scrollback'
|
||||
import type {
|
||||
WslMoveDriverDeps,
|
||||
WslMoveHost,
|
||||
WslMoveManifestExport
|
||||
} from '../../moving-wsl-projects/wsl-move-driver-ports'
|
||||
import type { WslMoveGateInputs } from '../../moving-wsl-projects/wsl-move-terminal-gate'
|
||||
WslMoveHost
|
||||
} from '../../moving-wsl-projects/execution/wsl-move-driver-ports'
|
||||
|
||||
import type { WslMoveGateInputs } from '../../moving-wsl-projects/quiescence/wsl-move-terminal-gate'
|
||||
|
||||
export class WslMoveWorldCrash extends Error {}
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ import {
|
||||
import {
|
||||
listWslMoveCutovers,
|
||||
writeWslMoveCutover
|
||||
} from '../../moving-wsl-projects/wsl-move-cutover-journal'
|
||||
import { setWslMoveDesktopRewriteRegistryCompleteForTests } from '../../moving-wsl-projects/wsl-move-desktop-rewrite-stores'
|
||||
} from '../../moving-wsl-projects/cutover-recovery/wsl-move-cutover-journal'
|
||||
import { setWslMoveDesktopRewriteRegistryCompleteForTests } from '../../moving-wsl-projects/desktop-state/wsl-move-desktop-rewrite-stores'
|
||||
|
||||
export function seedWslMoveCutover(userDataPath: string, cutover: WslMoveCutover): void {
|
||||
const existing = listWslMoveCutovers(userDataPath).find(
|
||||
|
||||
@@ -12,23 +12,23 @@ import type { Store } from '../../loading-store/store'
|
||||
import {
|
||||
listWslMoveCutoverChain,
|
||||
listWslMoveCutovers
|
||||
} from '../../moving-wsl-projects/wsl-move-cutover-journal'
|
||||
import { runWslMoveDesktopRewritePass } from '../../moving-wsl-projects/wsl-move-desktop-rewrite'
|
||||
} from '../../moving-wsl-projects/cutover-recovery/wsl-move-cutover-journal'
|
||||
import { runWslMoveDesktopRewritePass } from '../../moving-wsl-projects/desktop-state/wsl-move-desktop-rewrite'
|
||||
import {
|
||||
registerWslMoveDesktopRewriteStore,
|
||||
resetWslMoveDesktopRewriteStoresForTests,
|
||||
setWslMoveDesktopRewriteRegistryCompleteForTests
|
||||
} from '../../moving-wsl-projects/wsl-move-desktop-rewrite-stores'
|
||||
import { resolveWslMoveFence } from '../../moving-wsl-projects/wsl-move-fence'
|
||||
} from '../../moving-wsl-projects/desktop-state/wsl-move-desktop-rewrite-stores'
|
||||
import { resolveWslMoveFence } from '../../moving-wsl-projects/quiescence/wsl-move-fence'
|
||||
import {
|
||||
listWslMoveOwedHostAborts,
|
||||
settleWslMoveOwedHostAborts
|
||||
} from '../../moving-wsl-projects/wsl-move-owed-host-aborts'
|
||||
} from '../../moving-wsl-projects/cutover-recovery/wsl-move-owed-host-aborts'
|
||||
import {
|
||||
recoverInterruptedWslMoves,
|
||||
resetWslMoveToZero
|
||||
} from '../../moving-wsl-projects/wsl-move-reset'
|
||||
import { runWslMoveRetentionPass } from '../../moving-wsl-projects/wsl-move-retention'
|
||||
} from '../../moving-wsl-projects/cutover-recovery/wsl-move-reset'
|
||||
import { runWslMoveRetentionPass } from '../../moving-wsl-projects/cutover-recovery/wsl-move-retention'
|
||||
import { createWslMoveWorld, type WslMoveWorld } from './wsl-move-driver-world'
|
||||
import {
|
||||
createWslMoveKillSwitch,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* schema defaults the host's load fills in, ids it derives, and representation changes the move
|
||||
* makes on purpose. Each known gap is a real loss, named here so a fix has to remove it.
|
||||
*/
|
||||
import { isRecord } from '../../moving-wsl-projects/wsl-move-canonical-form'
|
||||
import { isRecord } from '../../moving-wsl-projects/manifest-scope/wsl-move-canonical-form'
|
||||
|
||||
/** Session fields the real pipeline does not carry yet, with why; each still differs today. */
|
||||
export const WSL_MOVE_ROUND_TRIP_KNOWN_GAPS: Readonly<Record<string, string>> = {
|
||||
|
||||
@@ -14,7 +14,7 @@ import {
|
||||
ORCAD_MIGRATION_LOCAL_WSL_SOURCE_RUNTIME_CAPABILITY
|
||||
} from '../../../../shared/orcad-runtime-capabilities'
|
||||
import type { Store } from '../../loading-store/store'
|
||||
import type { WslMoveHost } from '../../moving-wsl-projects/wsl-move-driver-ports'
|
||||
import type { WslMoveHost } from '../../moving-wsl-projects/execution/wsl-move-driver-ports'
|
||||
|
||||
export class WslMoveKilled extends Error {}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import type { FolderWorkspace } from '../../../../shared/folder-workspaces/folde
|
||||
import type { ProjectGroup } from '../../../../shared/project-group-types'
|
||||
import type { WorkspaceLineage } from '../../../../shared/worktree/lineage-types'
|
||||
import { folderWorkspaceKey, worktreeWorkspaceKey } from '../../../../shared/workspace-scope'
|
||||
import type { WslMoveProjectionInput } from '../../moving-wsl-projects/wsl-move-state-projection'
|
||||
import type { WslMoveProjectionInput } from '../../moving-wsl-projects/manifest-scope/wsl-move-state-projection'
|
||||
import {
|
||||
project,
|
||||
repo,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { WorkspaceSessionState } from '../../../../shared/workspace-session/workspace-session-state-types'
|
||||
import type { WslMoveProjectionInput } from '../../moving-wsl-projects/wsl-move-state-projection'
|
||||
import type { WslMoveProjectionInput } from '../../moving-wsl-projects/manifest-scope/wsl-move-state-projection'
|
||||
import {
|
||||
project,
|
||||
repo,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import type {
|
||||
WslMoveProjectionInput,
|
||||
WslMoveProjectionScope
|
||||
} from '../../moving-wsl-projects/wsl-move-state-projection'
|
||||
} from '../../moving-wsl-projects/manifest-scope/wsl-move-state-projection'
|
||||
import { foldersAndAutomationsWslMoverProfile } from './wsl-mover-folders-profile'
|
||||
import { heavyWslMoverProfile } from './wsl-mover-heavy-profile'
|
||||
import {
|
||||
|
||||
@@ -32,12 +32,12 @@ import {
|
||||
removeWorkspaceLineageForRemovedFolder
|
||||
} from '../workspace-lineage/metadata-lineage-operations'
|
||||
import { bumpLocalWorktreeScanGeneration } from '../../../workspaces/catalog/local-worktree-scan-generation'
|
||||
import { dropOrcadTerminalRestoreHintsForWorktrees } from '../../migrating-orcad-catalog/orcad-terminal-restore-hint-store'
|
||||
import { dropOrcadTerminalRestoreHintsForWorktrees } from '../../migrating-orcad-catalog/terminal-history/orcad-terminal-restore-hint-store'
|
||||
import { folderWorkspaceKey } from '../../../../shared/workspace-scope'
|
||||
import {
|
||||
applyWslMoveRetainedMarks,
|
||||
type WslMoveRetainedMark
|
||||
} from '../../moving-wsl-projects/wsl-move-retained-marks'
|
||||
} from '../../moving-wsl-projects/cutover-recovery/wsl-move-retained-marks'
|
||||
|
||||
type ProjectCollectionOperationsRuntime = Pick<
|
||||
StoreRuntimeState,
|
||||
|
||||
@@ -31,8 +31,8 @@ import type { StoreRuntimeState } from '../store-runtime-state'
|
||||
|
||||
import { type WriteSchedulingOperations, scheduleSave } from '../profile-writing/write-scheduling'
|
||||
import { pruneDeregisteredRepoUiResidue } from './repo-lifecycle-ui-residue'
|
||||
import { isWslMoveProjectSessionFrozen } from '../../moving-wsl-projects/wsl-move-scope-guard'
|
||||
import { dropOrcadTerminalRestoreHintsForWorktrees } from '../../migrating-orcad-catalog/orcad-terminal-restore-hint-store'
|
||||
import { isWslMoveProjectSessionFrozen } from '../../moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import { dropOrcadTerminalRestoreHintsForWorktrees } from '../../migrating-orcad-catalog/terminal-history/orcad-terminal-restore-hint-store'
|
||||
import { getRepoIdFromWorktreeId } from '../../../../shared/worktree/id'
|
||||
import { applyNewWindowsDriveProjectDefault } from '../../../wsl/filesystem/wsl-drive-project-new-default'
|
||||
|
||||
|
||||
@@ -28,9 +28,9 @@ import { LayoutCommandPersistence } from '../terminal-topology/layout-command-pe
|
||||
import { SshProfileOperations } from './ssh-state/ssh-profile-operations'
|
||||
import { RetiredWorktreeNamePersistence } from './project-catalog/retired-worktree-name-persistence'
|
||||
import { SshLeaseRecoveryOperations } from './ssh-state/ssh-lease-recovery-operations'
|
||||
import { OrcadSourceExportPersistence } from '../migrating-orcad-catalog/orcad-source-export'
|
||||
import { OrcadSourceExportPersistence } from '../migrating-orcad-catalog/source/catalog/orcad-source-export'
|
||||
import { OrcadCatalogImportPersistence } from '../migrating-orcad-catalog/orcad-catalog-import'
|
||||
import { OrcadMigrationBlobInstallPersistence } from '../migrating-orcad-catalog/orcad-migration-blob-install-persistence'
|
||||
import { OrcadMigrationBlobInstallPersistence } from '../migrating-orcad-catalog/blob-transfer/orcad-migration-blob-install-persistence'
|
||||
|
||||
export type StoreDomainOperations = WriteSchedulingOperations &
|
||||
PrimaryStateWriteOperations &
|
||||
|
||||
@@ -33,8 +33,8 @@ import type {
|
||||
} from '../scheduling-automations/automation-owner-projection'
|
||||
import type { ProfileStatePersistenceAuthority } from './profile-writing/profile-state-authority'
|
||||
import type { AutomationRun } from '../../../shared/automations/history/automation-run'
|
||||
import { resolveNewPaneShellPath } from '../migrating-orcad-catalog/orcad-shell-history-installer'
|
||||
import { OrcadTerminalRestoreHintStore } from '../migrating-orcad-catalog/orcad-terminal-restore-hint-store'
|
||||
import { resolveNewPaneShellPath } from '../migrating-orcad-catalog/terminal-history/orcad-shell-history-installer'
|
||||
import { OrcadTerminalRestoreHintStore } from '../migrating-orcad-catalog/terminal-history/orcad-terminal-restore-hint-store'
|
||||
|
||||
export type DurableProfileStateMutation<T> = {
|
||||
value: T
|
||||
|
||||
@@ -23,7 +23,7 @@ import { preserveRuntimeAuthoredWorkspaceSessionFields } from '../../runtime-aut
|
||||
import { dropClosedTerminalTabs } from '../../closed-terminal-tab-write-fence'
|
||||
import { findWorktreeIdForTab } from '../../restoring-sessions/pane-identity-migration'
|
||||
import { invalidateLocalWorktreeMetadataPruneInputs } from '../../../workspaces/catalog/local-worktree-metadata-prune-gate'
|
||||
import { isWslMoveWorkspaceSessionFrozen } from '../../moving-wsl-projects/wsl-move-scope-guard'
|
||||
import { isWslMoveWorkspaceSessionFrozen } from '../../moving-wsl-projects/quiescence/wsl-move-scope-guard'
|
||||
import {
|
||||
removeWorkspaceSessionOwner,
|
||||
workspaceSessionPartitionIdsForHost
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ import {
|
||||
withRequiredWorkspaceSessionMaps
|
||||
} from './session-host-partitions'
|
||||
import { dropClosedTerminalTabs } from '../../closed-terminal-tab-write-fence'
|
||||
import { keepWslMoveFrozenSessionsForStore } from '../../moving-wsl-projects/wsl-move-session-freeze'
|
||||
import { keepWslMoveFrozenSessionsForStore } from '../../moving-wsl-projects/terminal-state/wsl-move-session-freeze'
|
||||
import { type WriteSchedulingOperations, scheduleSave } from '../profile-writing/write-scheduling'
|
||||
import { orderTerminalRowsByTabGroups } from '../../../../shared/workspace-layout/terminal-row-order'
|
||||
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ import {
|
||||
} from '../../../pty/scrollback/terminal-scrollback-snapshot-async-migration'
|
||||
import { preserveRuntimeAuthoredWorkspaceSessionFields } from '../../runtime-authored-workspace-session-fields'
|
||||
import { dropClosedTerminalTabs } from '../../closed-terminal-tab-write-fence'
|
||||
import { keepWslMoveFrozenSessionsForStore } from '../../moving-wsl-projects/wsl-move-session-freeze'
|
||||
import { keepWslMoveFrozenSessionsForStore } from '../../moving-wsl-projects/terminal-state/wsl-move-session-freeze'
|
||||
import { registerPersistedPaneKeyAlias } from '../../restoring-sessions/pane-alias-normalization'
|
||||
import {
|
||||
normalizeWorkspaceSessionPaneIdentities,
|
||||
|
||||
+8
-8
@@ -1,14 +1,14 @@
|
||||
import { ORCAD_MIGRATION_BLOB_KIND_CONTRACTS } from '../../../shared/orcad-migration/orcad-migration-blob-transfer'
|
||||
import type { OrcadMigrationManifest } from '../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import type { PersistedState } from '../../../shared/persisted-state-types'
|
||||
import { parsePaneKey } from '../../../shared/workspace-layout/stable-pane-id'
|
||||
import { getDaemonHistoryDir } from '../../daemon/launch/daemon-launch-paths'
|
||||
import { getHistoryRoot } from '../../pty/history/terminal-history-paths'
|
||||
import type { StoreRuntimeState } from '../loading-store/store-runtime-state'
|
||||
import { ORCAD_MIGRATION_BLOB_KIND_CONTRACTS } from '../../../../shared/orcad-migration/orcad-migration-blob-transfer'
|
||||
import type { OrcadMigrationManifest } from '../../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import type { PersistedState } from '../../../../shared/persisted-state-types'
|
||||
import { parsePaneKey } from '../../../../shared/workspace-layout/stable-pane-id'
|
||||
import { getDaemonHistoryDir } from '../../../daemon/launch/daemon-launch-paths'
|
||||
import { getHistoryRoot } from '../../../pty/history/terminal-history-paths'
|
||||
import type { StoreRuntimeState } from '../../loading-store/store-runtime-state'
|
||||
import {
|
||||
findOrcadMigrationImportReceipt,
|
||||
isOrcadMigrationCommitDurable
|
||||
} from './orcad-catalog-receipt-ledger'
|
||||
} from '../catalog-commit/orcad-catalog-receipt-ledger'
|
||||
import { installOrcadMigrationReceivedBlobs } from './orcad-migration-blob-installers'
|
||||
import { listOrcadMigrationReceivedBlobNames } from './orcad-migration-blob-staging'
|
||||
import type { OrcadMigrationRequestIdentity } from './orcad-migration-staged-file'
|
||||
+8
-8
@@ -1,15 +1,15 @@
|
||||
// Validate blob contents before commit; install only advertised kinds after durable commit.
|
||||
import { servesWslMovedPaneHistory } from '../../orcad/orcad-migration-wsl-destination'
|
||||
import { servesWslMovedPaneHistory } from '../../../orcad/orcad-migration-wsl-destination'
|
||||
import { readFileSync, rmSync } from 'node:fs'
|
||||
import { dirname } from 'node:path'
|
||||
import type { OrcadMigrationBlobKind } from '../../../shared/orcad-migration/orcad-migration-blob-transfer'
|
||||
import type { OrcadMigrationManifest } from '../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import type { OrcadMigrationBlobKind } from '../../../../shared/orcad-migration/orcad-migration-blob-transfer'
|
||||
import type { OrcadMigrationManifest } from '../../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import {
|
||||
ORCAD_MIGRATION_TERMINAL_RESTORE_HINTS_KEY,
|
||||
parseOrcadMigrationTerminalRestoreHintsText,
|
||||
type OrcadMigrationTerminalRestoreHint
|
||||
} from '../../../shared/orcad-migration/orcad-migration-terminal-restore-hints'
|
||||
import { syncDirectoryDurablySync } from '../../filesystem/durable-file-write'
|
||||
} from '../../../../shared/orcad-migration/orcad-migration-terminal-restore-hints'
|
||||
import { syncDirectoryDurablySync } from '../../../filesystem/durable-file-write'
|
||||
import {
|
||||
getOrcadMigrationReceivedBlobPath,
|
||||
stagedOrcadMigrationBlobFiles
|
||||
@@ -21,15 +21,15 @@ import {
|
||||
import {
|
||||
assertOrcadMigrationShellHistoryValid,
|
||||
installOrcadMigrationShellHistory
|
||||
} from './orcad-shell-history-installer'
|
||||
} from '../terminal-history/orcad-shell-history-installer'
|
||||
import {
|
||||
assertOrcadMigrationTerminalHistoryValid,
|
||||
installOrcadMigrationTerminalHistory
|
||||
} from './orcad-terminal-history-installer'
|
||||
} from '../terminal-history/orcad-terminal-history-installer'
|
||||
import type {
|
||||
OrcadTerminalRestoreHintPlacement,
|
||||
OrcadTerminalRestoreHintStore
|
||||
} from './orcad-terminal-restore-hint-store'
|
||||
} from '../terminal-history/orcad-terminal-restore-hint-store'
|
||||
|
||||
type OrcadMigrationStagedBlobFile = {
|
||||
key: string
|
||||
+3
-3
@@ -3,9 +3,9 @@ import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync, mkdirSync
|
||||
import { tmpdir } from 'node:os'
|
||||
import { dirname, join } from 'node:path'
|
||||
import { afterEach, beforeEach, describe, expect, it } from 'vitest'
|
||||
import type { OrcadMigrationBlobDescriptor } from '../../../shared/orcad-migration/orcad-migration-blob-transfer'
|
||||
import { ORCAD_MIGRATION_MANIFEST_VERSION } from '../../../shared/orcad-migration/orcad-migration-manifest-validation'
|
||||
import type { OrcadMigrationManifest } from '../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import type { OrcadMigrationBlobDescriptor } from '../../../../shared/orcad-migration/orcad-migration-blob-transfer'
|
||||
import { ORCAD_MIGRATION_MANIFEST_VERSION } from '../../../../shared/orcad-migration/orcad-migration-manifest-validation'
|
||||
import type { OrcadMigrationManifest } from '../../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import {
|
||||
assertOrcadMigrationBlobsReady,
|
||||
commitOrcadMigrationBlobs,
|
||||
+3
-3
@@ -13,9 +13,9 @@ import {
|
||||
type OrcadMigrationBlobDescriptor,
|
||||
type OrcadMigrationBlobKind,
|
||||
type OrcadMigrationBlobUploadState
|
||||
} from '../../../shared/orcad-migration/orcad-migration-blob-transfer'
|
||||
import type { OrcadMigrationManifest } from '../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import { syncDirectoryDurablySync } from '../../filesystem/durable-file-write'
|
||||
} from '../../../../shared/orcad-migration/orcad-migration-blob-transfer'
|
||||
import type { OrcadMigrationManifest } from '../../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import { syncDirectoryDurablySync } from '../../../filesystem/durable-file-write'
|
||||
import {
|
||||
appendOrcadMigrationStagedChunk,
|
||||
ensureOrcadMigrationDirectory,
|
||||
+2
-2
@@ -15,8 +15,8 @@ import {
|
||||
writeSync
|
||||
} from 'node:fs'
|
||||
import { join } from 'node:path'
|
||||
import type { OrcadMigrationManifest } from '../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import { syncDirectoryDurablySync } from '../../filesystem/durable-file-write'
|
||||
import type { OrcadMigrationManifest } from '../../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import { syncDirectoryDurablySync } from '../../../filesystem/durable-file-write'
|
||||
|
||||
export const ORCAD_MIGRATION_STAGING_DIRECTORY = '.orcad-migration-staging'
|
||||
|
||||
+4
-4
@@ -3,10 +3,10 @@ import { createHash } from 'node:crypto'
|
||||
import { mkdtempSync, readFileSync, rmSync } from 'node:fs'
|
||||
import { tmpdir } from 'node:os'
|
||||
import { join } from 'node:path'
|
||||
import type { OrcadMigrationBlobDescriptor } from '../../../shared/orcad-migration/orcad-migration-blob-transfer'
|
||||
import type { OrcadMigrationBlobDescriptor } from '../../../../shared/orcad-migration/orcad-migration-blob-transfer'
|
||||
import { getOrcadMigrationReceivedBlobPath } from './orcad-migration-blob-staging'
|
||||
import { manifest } from './persistence-orcad-migration-catalog-fixture'
|
||||
import { createStore, testState } from '../persistence-test-harness'
|
||||
import { manifest } from '../catalog-commit/persistence-orcad-migration-catalog-fixture'
|
||||
import { createStore, testState } from '../../persistence-test-harness'
|
||||
|
||||
vi.mock('electron', () => ({
|
||||
app: { getPath: () => testState.dir },
|
||||
@@ -17,7 +17,7 @@ vi.mock('electron', () => ({
|
||||
}
|
||||
}))
|
||||
|
||||
vi.mock('../../telemetry/client', () => ({ track: vi.fn() }))
|
||||
vi.mock('../../../telemetry/client', () => ({ track: vi.fn() }))
|
||||
|
||||
// Use a blob kind without an installer to isolate channel behavior.
|
||||
const bytes = Buffer.from('session record one\nsession record two\n')
|
||||
+6
-6
@@ -6,20 +6,20 @@ import { join } from 'node:path'
|
||||
import {
|
||||
ORCAD_MIGRATION_BLOB_CHUNK_BYTES,
|
||||
type OrcadMigrationBlobDescriptor
|
||||
} from '../../../shared/orcad-migration/orcad-migration-blob-transfer'
|
||||
import type { OrcadMigrationManifest } from '../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
} from '../../../../shared/orcad-migration/orcad-migration-blob-transfer'
|
||||
import type { OrcadMigrationManifest } from '../../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import { getOrcadMigrationReceivedBlobPath } from './orcad-migration-blob-staging'
|
||||
import {
|
||||
commitStagedOrcadMigrationCatalogDurably,
|
||||
getOrcadMigrationCatalogState
|
||||
} from '../../runtime/hosts/migration/orcad-migration-catalog-import'
|
||||
} from '../../../runtime/hosts/migration/orcad-migration-catalog-import'
|
||||
import {
|
||||
DORMANT_LEAF_ID,
|
||||
DORMANT_WORKTREE_ID,
|
||||
dormantState,
|
||||
manifest
|
||||
} from './persistence-orcad-migration-catalog-fixture'
|
||||
import { createStore, readDataFile, testState, writeDataFile } from '../persistence-test-harness'
|
||||
} from '../catalog-commit/persistence-orcad-migration-catalog-fixture'
|
||||
import { createStore, readDataFile, testState, writeDataFile } from '../../persistence-test-harness'
|
||||
|
||||
vi.mock('electron', () => ({
|
||||
app: { getPath: () => testState.dir },
|
||||
@@ -30,7 +30,7 @@ vi.mock('electron', () => ({
|
||||
}
|
||||
}))
|
||||
|
||||
vi.mock('../../telemetry/client', () => ({ track: vi.fn() }))
|
||||
vi.mock('../../../telemetry/client', () => ({ track: vi.fn() }))
|
||||
|
||||
type Store = ReturnType<typeof createStore>
|
||||
|
||||
+6
-6
@@ -2,20 +2,20 @@ import { describe, it, expect, vi } from 'vitest'
|
||||
import {
|
||||
createWorkerMaintenanceFixture,
|
||||
maintenanceBarrier
|
||||
} from '../loading-store/profile-writing/profile-state-maintenance-fixture'
|
||||
import { ProfileStateWriterError } from '../profile-state/writer/profile-state-writer-errors'
|
||||
import { hostWorktreeTarget } from '../../../shared/worktree/host-qualified-identity'
|
||||
} from '../../loading-store/profile-writing/profile-state-maintenance-fixture'
|
||||
import { ProfileStateWriterError } from '../../profile-state/writer/profile-state-writer-errors'
|
||||
import { hostWorktreeTarget } from '../../../../shared/worktree/host-qualified-identity'
|
||||
import {
|
||||
DORMANT_AUTOMATION_RUN,
|
||||
dormantState,
|
||||
manifest
|
||||
} from './persistence-orcad-migration-catalog-fixture'
|
||||
|
||||
vi.mock('../../telemetry/client', () => ({ track: vi.fn() }))
|
||||
vi.mock('../../telemetry/cohort-classifier', () => ({
|
||||
vi.mock('../../../telemetry/client', () => ({ track: vi.fn() }))
|
||||
vi.mock('../../../telemetry/cohort-classifier', () => ({
|
||||
getCohortAtEmit: () => ({ nth_repo_added: 1 })
|
||||
}))
|
||||
vi.mock('../../ssh/config/ssh-config-parser', () => ({
|
||||
vi.mock('../../../ssh/config/ssh-config-parser', () => ({
|
||||
loadUserSshConfig: () => ({ hosts: [] }),
|
||||
sshConfigHostsToTargets: () => []
|
||||
}))
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
import { WORKTREE_METADATA_DOMAINS } from '../profile-save-domains'
|
||||
import { WORKSPACE_SESSION_DOMAINS } from '../workspace-session-domains'
|
||||
import { WORKTREE_METADATA_DOMAINS } from '../../profile-save-domains'
|
||||
import { WORKSPACE_SESSION_DOMAINS } from '../../workspace-session-domains'
|
||||
|
||||
/** An imported catalog adds repos, workspaces and their dormant state, and records its receipts. */
|
||||
export const ORCAD_CATALOG_COMMIT_DOMAINS = [
|
||||
+6
-6
@@ -1,16 +1,16 @@
|
||||
// Commit receipts remain authoritative indefinitely; abandoned stages expire.
|
||||
import { MAX_ORCAD_MIGRATION_IMPORT_RECEIPTS } from '../../../shared/orcad-migration/orcad-migration-manifest-validation'
|
||||
import { MAX_ORCAD_MIGRATION_IMPORT_RECEIPTS } from '../../../../shared/orcad-migration/orcad-migration-manifest-validation'
|
||||
import type {
|
||||
OrcadMigrationImportReceipt,
|
||||
OrcadMigrationManifest
|
||||
} from '../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import { MAX_ORCAD_MIGRATION_EVICTED_RECEIPTS } from '../../../shared/orcad-migration/orcad-migration-evicted-receipts'
|
||||
import type { PersistedState } from '../../../shared/persisted-state-types'
|
||||
import type { StoreRuntimeState } from '../loading-store/store-runtime-state'
|
||||
} from '../../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import { MAX_ORCAD_MIGRATION_EVICTED_RECEIPTS } from '../../../../shared/orcad-migration/orcad-migration-evicted-receipts'
|
||||
import type { PersistedState } from '../../../../shared/persisted-state-types'
|
||||
import type { StoreRuntimeState } from '../../loading-store/store-runtime-state'
|
||||
import {
|
||||
orcadMigrationStagingKey,
|
||||
type OrcadMigrationRequestIdentity
|
||||
} from './orcad-migration-staged-file'
|
||||
} from '../blob-transfer/orcad-migration-staged-file'
|
||||
|
||||
// Allow a week for clients that went offline mid-move.
|
||||
export const ORCAD_MIGRATION_STAGE_TTL_MS = 7 * 24 * 60 * 60 * 1000
|
||||
+10
-10
@@ -1,29 +1,29 @@
|
||||
import type { FolderWorkspace } from '../../../shared/folder-workspaces/folder-workspace-types'
|
||||
import type { FolderWorkspace } from '../../../../shared/folder-workspaces/folder-workspace-types'
|
||||
import {
|
||||
serializeOrcadMigrationValue,
|
||||
type OrcadMigrationImportReceipt,
|
||||
type OrcadMigrationManifest
|
||||
} from '../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import type { ProjectGroup } from '../../../shared/project-group-types'
|
||||
import type { Repo } from '../../../shared/repo-types'
|
||||
import { normalizeRuntimePathForComparison } from '../../../shared/cross-platform-path'
|
||||
import { isRepoOnCatalogHost } from '../../../shared/execution-host'
|
||||
} from '../../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import type { ProjectGroup } from '../../../../shared/project-group-types'
|
||||
import type { Repo } from '../../../../shared/repo-types'
|
||||
import { normalizeRuntimePathForComparison } from '../../../../shared/cross-platform-path'
|
||||
import { isRepoOnCatalogHost } from '../../../../shared/execution-host'
|
||||
import { assertOrcadMigrationStagedCatalogClaims } from './orcad-staged-catalog-claims'
|
||||
import {
|
||||
toOrcadDestinationFolderWorkspace,
|
||||
toOrcadDestinationProjectGroup,
|
||||
toOrcadDestinationRepository
|
||||
} from './orcad-destination-catalog-projection'
|
||||
} from '../destination/orcad-destination-catalog-projection'
|
||||
import {
|
||||
syncProjectHostSetupCompatibilityState,
|
||||
type RepoLifecycleOperations
|
||||
} from '../loading-store/project-catalog/repo-lifecycle-operations'
|
||||
import type { StoreRuntimeState } from '../loading-store/store-runtime-state'
|
||||
} from '../../loading-store/project-catalog/repo-lifecycle-operations'
|
||||
import type { StoreRuntimeState } from '../../loading-store/store-runtime-state'
|
||||
import {
|
||||
applyPreparedOrcadMigrationDormantState,
|
||||
prepareOrcadMigrationDormantState,
|
||||
type PreparedOrcadMigrationDormantState
|
||||
} from './orcad-dormant-state-records'
|
||||
} from '../destination/orcad-dormant-state-records'
|
||||
import { sameOrcadRepositoryConfiguration, selectNewRows } from './orcad-catalog-row-identity'
|
||||
|
||||
export type PreparedOrcadMigrationCatalog = {
|
||||
+2
-2
@@ -3,8 +3,8 @@ import type {
|
||||
OrcadMigrationCatalogReference,
|
||||
OrcadMigrationCatalogReferenceAbortResult,
|
||||
OrcadMigrationManifest
|
||||
} from '../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import type { StoreRuntimeState } from '../loading-store/store-runtime-state'
|
||||
} from '../../../../shared/orcad-migration/orcad-migration-manifest'
|
||||
import type { StoreRuntimeState } from '../../loading-store/store-runtime-state'
|
||||
|
||||
export function stagedManifests(state: StoreRuntimeState['state']): OrcadMigrationManifest[] {
|
||||
return (state.orcadMigrationStagedCatalogs ?? []).map((entry) => entry.manifest)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user