Phase 2: NavigationView shell with per-account workspaces #26

Merged
KofTwentyTwo merged 1 commits from dev into main 2026-07-04 20:49:04 +00:00
1 Commits
Author SHA1 Message Date
James MaesandClaude Fable 5 2d523d636f Phase 2: NavigationView shell with per-account workspaces (#16)
- MainViewModel becomes WorkspaceViewModel: optionally seeded from an
  Account (org/folder/options + token pulled from the vault, firing the
  org lookup naturally); AccountId/DisplayName/HasFailedRepos exposed;
  account syncs record their summary back to the store (failures
  logged, never crash a completed run)
- The workspace UI moves verbatim into WorkspacePage (UserControl) with
  its handlers, dialogs, and accessibility wiring; folder picker takes
  an injected window-handle provider
- MainWindow is now the shell: MenuBar + NavigationView with pinned
  Quick Sync, one item per saved account (last-sync tooltip), and an
  Add-account footer stub (wizard lands in Phase 4); workspaces are
  created on first visit and cached so switching never interrupts a
  running sync; pane badges show running/failed for offscreen
  workspaces; all cached VMs disposed on close
- 6 new tests (152 total)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 15:43:37 -05:00