Skip to content

refactor(ui-react): split session list modules - #502

Merged
Astro-Han merged 5 commits into
mainfrom
codex/split-session-list-modules
Jul 4, 2026
Merged

refactor(ui-react): split session list modules#502
Astro-Han merged 5 commits into
mainfrom
codex/split-session-list-modules

Conversation

@Astro-Han

@Astro-HanAstro-Han commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Summary

  • split SessionListPanel into a small sidebar shell, session-sidebar-nav.tsx for the module nav/settings footer, and session-history-list.tsx for session groups, rows, row actions, status icons, and time buckets
  • prune stale module-panel props from SessionListPanel; Skills, Automations, and Daily Review callbacks remain owned by ChatView, where those module panels are actually rendered
  • remove the unreachable sessions module-nav branch; the new-task button still owns new-chat creation, and the three module nav buttons still select Daily Review, Skills, and Automations
  • relax session-list contracts so they protect public props and rendered behavior without pinning the sidebar internals to three concrete source files or scanning the whole UI tree
  • render SessionListPanel in contracts for OverlayScrollArea, time-bucket copy, and blocked-reason copy; row-action source contracts now resolve only the SessionHistoryList owner rendered by SessionListPanel
  • remove an unnecessary !important from the palette input focus reset so the renderer important audit stays green

Scope

Part of #477.

This PR is structural only, not a visual redesign. The original #477 wording mentioned splitting session-list-panel.tsx into sessions / skills / plan reminders / daily review surfaces, but current main already renders those module panels through ChatView. The minimal correct PR6 is therefore to split the remaining sidebar owner into shell, nav/footer, and session-history modules, while removing now-dead module callback props from the sidebar contract.

Verification

  • GREEN: npm run -w @maka/desktop build:main
  • GREEN: node --test apps/desktop/dist/main/__tests__/session-list-public-contract.test.js apps/desktop/dist/main/__tests__/session-row-actions-fail-soft-contract.test.js apps/desktop/dist/main/__tests__/renderer-async-boundaries-contract.test.js apps/desktop/dist/main/__tests__/overlay-scrollbars-contract.test.js apps/desktop/dist/main/__tests__/search-modal-lifecycle-contract.test.js apps/desktop/dist/main/__tests__/daily-review-export-file-contract.test.js (34 passed)
  • GREEN: npm run -w @maka/desktop test (1837 passed)
  • GREEN: npm run -w @maka/desktop build:renderer (passes; existing Vite large chunk warning remains)

Commit Split

  • fix(ui-css): remove palette input important reset
  • refactor(ui-react): split session list modules
  • refactor(ui-react): narrow session sidebar nav targets
  • test(desktop): loosen session list contracts
  • test(desktop): narrow session list contract sources

@Astro-Han
Astro-Han merged commit 429a603 into mainJul 4, 2026
@Astro-Han
Astro-Han deleted the codex/split-session-list-modules branch July 4, 2026 09:54
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.

1 participant

@Astro-Han