fix(desktop): unify shell dialogs and recovery screens with emcn
Merged
WA
2mo ago+1562+1562+0123456789012345678901234567890123456789-794-794-012345678901234567890123456789
Summary
- Bundle shared EMCN components for desktop server settings, offline pages, and application dialogs. Use title-only headers and size compact dialogs to their content so the server picker does not scroll.
- Replace native terminal confirmations and align browser, workspace, and OAuth error screens with the shared components.
- Keep isolated preload permissions, safe keyboard defaults, and recovery when a bundled renderer fails. Preserve the synchronous OS unload decision required by Electron.
Type of Change
- Bug fix
Testing
- All eight cleanup passes; repository lint, 46 audits (including API validation), docs manifest, and all 26 workspace type-checks passed.
- 1,614 desktop tests, 234 shared EMCN tests, 4 terminal confirmation tests, and 8 Electron smoke tests passed.
- All 3 packaged smoke tests passed on arm64 with production fuses. Local packaging uses the PNG icon because Icon Composer requires Xcode 26; CI validates the standard universal package.
Checklist
- Code follows project style guidelines
- Self-reviewed my changes
- Tests added/updated and passing
- No new warnings introduced
- I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)