Skip to content

Improve plugin conflict recovery and startup experience - #96

Merged
wisdomqin merged 2 commits into
mainfrom
codex/plugin-recovery-experience
Aug 19, 2026
Merged

Improve plugin conflict recovery and startup experience#96
wisdomqin merged 2 commits into
mainfrom
codex/plugin-recovery-experience

Conversation

@wisdomqin

Copy link
Copy Markdown
Contributor

What changed

  • replace the native startup failure dialog with a localized DSH Desktop recovery surface
  • detect and present one or more offending plugins, remove only those plugins, and continue checking after restart
  • refresh the startup screen with the pixel whale animation and remove the progress bar
  • require a stable Harness health window before leaving the startup screen
  • route manual Harness restarts through the active recovery state machine
  • guard window navigation so stale startup or recovery loads cannot replace the latest view

Why

A failed plugin could stop Harness before the normal application loaded. Restarting Harness from the recovery screen bypassed the pending recovery action, leaving the app permanently stuck on the startup screen.

Impact

Users get a clear recovery flow that preserves workspaces, sessions, model configuration, and unrelated plugins. If the same conflict remains after a manual restart, DSH Desktop returns to the recovery screen instead of hanging.

Validation

  • npm test — 24 files, 135 tests passed
  • npm run typecheck
  • npm run build
  • npm run package:dev:dir
  • git diff --check
  • packaged macOS development build tested with a real dsh-better-sidebar conflict; manual restart briefly showed the startup screen and returned to recovery without hanging

@wisdomqin
wisdomqin merged commit dbbb996 into main Aug 19, 2026
4 checks passed
@wisdomqin
wisdomqin deleted the codex/plugin-recovery-experience branch August 19, 2026 12:13
sendlan pushed a commit to sendlan/dsh-desktop that referenced this pull request Aug 20, 2026
…ery-experience

Improve plugin conflict recovery and startup experience
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