feat: Sessions navigation with 3-column layout (#54)#64
Merged
Conversation
Add a dedicated sessions browsing view with an HSplitView that provides a sessions list panel alongside the session detail. When the Sessions nav item is selected, users now see all sessions grouped by project in a searchable, collapsible list on the left with the session detail on the right — matching the macOS Mail/Notes 3-column pattern.
Relocate agent toggle, refresh, and sort controls to the sessions navigation header. Remove projects list, search bar, and collapse/expand from the sidebar — all session browsing now lives in the sessions tab.
Reflects sidebar simplification — removed projects list, search bar, and collapse/expand. Session controls now in the sessions tab header.
Diff was a computed property rerunning on every render, blocking the main thread with O(n²) worst-case complexity. Now computed once on a background thread with a 5000-line cap and a loading spinner.
HomeView was only referenced in screenshot tests, not in the live app. Also adds .onExitCommand to dismiss search overlay with ESC.
Replace ProjectSessionsView with SessionsNavigationView in the screenshot test. Regenerate hero, search, and session browser images.
Replaces the empty detail pane with a selected conversation session. Renames 10-session-browser to 03-session-browser to fill the gap left by the removed HomeView screenshot.
leonardocardoso
added a commit
that referenced
this pull request
May 16, 2026
* feat: Sessions navigation with 3-column layout (#54) Add a dedicated sessions browsing view with an HSplitView that provides a sessions list panel alongside the session detail. When the Sessions nav item is selected, users now see all sessions grouped by project in a searchable, collapsible list on the left with the session detail on the right — matching the macOS Mail/Notes 3-column pattern. * refactor: Move session controls from sidebar to sessions tab Relocate agent toggle, refresh, and sort controls to the sessions navigation header. Remove projects list, search bar, and collapse/expand from the sidebar — all session browsing now lives in the sessions tab. * chore: Regenerate showcase screenshots Reflects sidebar simplification — removed projects list, search bar, and collapse/expand. Session controls now in the sessions tab header. * fix: Compute file diffs asynchronously to prevent UI hang Diff was a computed property rerunning on every render, blocking the main thread with O(n²) worst-case complexity. Now computed once on a background thread with a 5000-line cap and a loading spinner. * chore: Remove unused HomeView and its screenshot HomeView was only referenced in screenshot tests, not in the live app. Also adds .onExitCommand to dismiss search overlay with ESC. * chore: Update session browser screenshot to show new sessions tab Replace ProjectSessionsView with SessionsNavigationView in the screenshot test. Regenerate hero, search, and session browser images. * docs: Update session browser description for new sessions tab * chore: Rename session browser screenshot to 03, show selected session Replaces the empty detail pane with a selected conversation session. Renames 10-session-browser to 03-session-browser to fill the gap left by the removed HomeView screenshot.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements Sessions navigation with 3-column layout and collapsible sidebar (closes #54).
Changes
Sessions Navigation View (
SessionsNavigationView.swift)SessionDetailView,FileHistoryView, and skeleton loading)HSplitViewwithin the existing detail area to maintain the main sidebarContentView Integration
.sessionsnavigation is selected, the detail area now showsSessionsNavigationViewinstead of the previous conditional logicSidebarView) remains intact and collapsible via the standardNavigationSplitViewtoggleFeatures
HighlightedTextutilityChecklist
xcodebuildDebug)@MainActorannotations (uses default isolation)