Skip to content

refactor: migrate shell navigation to Astryx - #1729

Closed
Astro-Han wants to merge 4 commits into
mainfrom
refactor/slice11-astryx-shell-navigation
Closed

refactor: migrate shell navigation to Astryx#1729
Astro-Han wants to merge 4 commits into
mainfrom
refactor/slice11-astryx-shell-navigation

Conversation

@Astro-Han

Copy link
Copy Markdown
Contributor

Summary

  • Compose the Electron shell directly with Astryx AppShell and SideNav while preserving Maka's titlebar drag regions, resize/collapse behavior, routing, and narrow-window controls.
  • Migrate chronological session navigation to Astryx List/Item and project navigation to TreeList, removing parallel arrow-key and expansion ownership. Session rename remains menu-owned and now contains Home/End/Arrow keys inside the editor.
  • Reclassify the workspace workbar as Astryx TabList/Tab navigation while preserving dock persistence, browser keep-alive, disabled-state guards, and responsive right/bottom placement.
  • Replace the drifting app-shell Storybook scaffold with the real shell composition and representative session/project fixtures. No shared Tabs/Item/Empty/Spinner barrel authority, Settings content, or Conversation composition is changed.

Verification

  • npm run format:check
  • npm run lint
  • npm run typecheck
  • npm test --workspace @maka/ui
  • npm test --workspace @maka/desktop (2012 tests passed)
  • npm test --workspace @maka/runtime (full suite passed, including the POSIX cancellation timing case)
  • npm run build
  • npm run build-storybook --workspace @maka/desktop
  • npm run smoke:storybook --workspace @maka/desktop (27 renderer/play checks passed)
  • npx playwright test --config e2e/playwright.config.ts e2e/project-management.spec.ts e2e/sidebar-geometry.spec.ts e2e/sidebar-navigation.spec.ts e2e/session-workbar.spec.ts e2e/topbar-overflow.spec.ts e2e/window-titlebar.spec.ts (13 passed)

Review focus

  • Astryx owns generic shell/list/tree/tab interaction semantics; Maka continues to own product data, session identity, routing, persistence, Electron security, and window behavior.
  • mobileNav.breakpoint is explicitly none: Astryx 0.1.9 otherwise applies its default responsive breakpoint even when mobileNav is false, which would bypass Maka's existing narrow sidebar controls.
  • Workbar panels remain mounted and use hidden, preserving terminal/browser state when switching tabs.

@jackwener

Copy link
Copy Markdown
Member

Superseded by #1732, which landed the same AppShell/SideNav, List/TreeList, workbar TabList, and real-shell Storybook migration from the same base, plus the follow-up focus/inset/E2E fixes. Rebasing this older alternate implementation would regress the merged official-shell result.

Sign up for freeto 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.

2 participants

@Astro-Han@jackwener