Skip to content

fix(desktop): restore startup with legacy MiniApp workspace history - #3315

Merged
bobleer merged 2 commits into
GCWing:mainfrom
bobleer:bob/fix-miniapp-workspace-startup
Oct 9, 2026
Merged

bobleer merged 2 commits into
GCWing:mainfrom
bobleer:bob/fix-miniapp-workspace-startup

Conversation

@bobleer

@bobleer bobleer commented Oct 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fix desktop startup exiting immediately when an existing current-format workspace catalog includes a MiniApp-owned directory in recent history. Accept those records and normalize only recent-project history after restoring the current workspace, preserving workspace IDs, opened/current references, and remote records. Show AppState initialization failures and the startup log path through the existing fatal-startup error reporter.

Type and Areas

Type: regression fix

Areas: workspace persistence, shared workspace startup, desktop/Tauri

Motivation / Impact

pnpm run desktop:dev compiled successfully but exited after OpenBitFun Desktop Starting. The actual error was only in early-startup.log: a MiniApp workspace in recent_workspaces caused the entire catalog to be rejected. Existing catalogs now load without resetting user data or requiring manual migration.

Verification

  • Passed: cargo test -p openbitfun-services-core --no-default-features --features workspace-persistence --lib workspace_persistence::tests (4 tests).
  • Passed: cargo test --locked -p openbitfun-core --no-default-features --features agent-runtime,git --lib legacy_miniapp_history (1 test).
  • Passed: cargo build -p openbitfun-desktop.
  • Passed: pnpm run fmt:rs and git diff --check.
  • Manual macOS: launched pnpm run desktop:dev against the existing catalog and verified the main UI opened. All 25 workspace records and current/opened selections were retained; only the MiniApp entry was removed from recent-project history.
  • Remote scope: unit tests cover offline remote records, including a remote path matching the local MiniApp root. No end-to-end remote workspace, remote control, Peer Device Mode, or Detached Dispatch validation was performed.

Reviewer Notes

AI-assisted implementation; focused tests, desktop build, and local startup verification completed. Persistence schema/version and opaque workspace identities remain unchanged. Local workspace data and diagnostic logs are not included in this PR.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

@bobleer
bobleer merged commit 2b74337 into GCWing:main Oct 9, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant