fix(migration): restore macOS startup and desktop return - #2880
Merged
bobleer merged 1 commit intoSep 8, 2026
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fix two legacy migration regressions: macOS Desktop could exit immediately after handing off to Data Migrator, and development builds closed after choosing Do not remind me or Remind me later instead of returning to Desktop.
ps, preserving application paths with spaces and reporting inspection failures explicitly.desktop:dev, Rust hot reload.Type and Areas
Type: Bug fix / regression fix
Areas: Desktop/Tauri, Data Migrator, local migration service, development scripts
Motivation / Impact
Previously, macOS process inspection returned an unimplemented error during migrator bootstrap, after Desktop had already exited. Separately, all Debug builds deliberately skipped restarting Desktop when migration was dismissed or completed. The development supervisor now waits for a matching migration completion handoff and relaunches the development host with the handled run ID, avoiding another onboarding prompt for that return.
Verification
cargo test -p openbitfun-legacy-migration --lib handoff::tests— 9 passed, including real macOS process inventory.cargo test -p openbitfun-data-migrator --lib— 8 passed, including saved-choice ordering, restart failure visibility, and matching development handoffs.node --test scripts/desktop-dev-migration.test.mjs scripts/data-migrator-tauri-build.test.mjs scripts/frontend-workbench-dev-baseline.test.mjs scripts/prepare-dsh-profile.test.mjs— 21 passed.node --check scripts/dev.cjs,pnpm run fmt:rs,pnpm run check:repo-hygiene, andgit diff --check— passed.pnpm run desktop:dev— rebuilt successfully on macOS; native startup logs confirmed main-window creation, display, and frontend page-load completion. The reporter also confirmed the initial macOS startup fix.The new dismissal-to-relaunch behavior is covered by Rust and Node regression tests; it was not repeated manually through the migration UI. Windows, Linux, packaged release builds, remote workspaces, remote control, Peer Device Mode, and Detached Dispatch were not exercised.
Reviewer Notes
AI-assisted implementation; testing level: focused automated tests plus local macOS startup verification. The temporary restart channel is Debug-only and supplied by the development launcher. Persisted migration formats and remote protocols are unchanged. Release builds continue to restart the trusted sibling Desktop executable. No migration of user data was performed during verification.
Checklist