Add swipe actions to chat sidebar session rows #35

Open
opened 2026-08-22 18:26:19 +00:00 by kayg · 0 comments
Owner

Ask

Add native horizontal swipe actions to the session rows in the chat window sidebar. Keep the interaction on the row surface and route each action to the existing session model/navigation.

Files and APIs

  • Sources/Hermternal/Views/SidebarView.swift: the sidebar List, SessionRow, and .listStyle(.sidebar).
  • Sources/Hermternal/Views/RootView.swift: ChatWindow, if action state or selection routing needs integration.

Acceptance

  • Swiping any session row horizontally reveals native row action controls.
  • Invoking an exposed action operates on the swiped session, not a neighbouring or previously selected session.
  • After revealing, invoking, or dismissing the actions, clicking a row still opens that same session and the existing sidebar selection remains correct.
  • The behavior is verified on the real macOS chat window with both a short and a long session list.
  • A probe app empirically confirmed that .swipeActions works on a macOS 26 sidebar List, so the feature is buildable as written and older reports to the contrary are stale.
  • Swipe action buttons are invisible to the accessibility tree, so verification must be visual rather than semantic.
  • Leading pin and trailing archive actions are implemented.
## Ask Add native horizontal swipe actions to the session rows in the chat window sidebar. Keep the interaction on the row surface and route each action to the existing session model/navigation. ## Files and APIs - `Sources/Hermternal/Views/SidebarView.swift`: the sidebar `List`, `SessionRow`, and `.listStyle(.sidebar)`. - `Sources/Hermternal/Views/RootView.swift`: `ChatWindow`, if action state or selection routing needs integration. ## Acceptance - Swiping any session row horizontally reveals native row action controls. - Invoking an exposed action operates on the swiped session, not a neighbouring or previously selected session. - After revealing, invoking, or dismissing the actions, clicking a row still opens that same session and the existing sidebar selection remains correct. - The behavior is verified on the real macOS chat window with both a short and a long session list. - A probe app empirically confirmed that `.swipeActions` works on a macOS 26 sidebar `List`, so the feature is buildable as written and older reports to the contrary are stale. - Swipe action buttons are invisible to the accessibility tree, so verification must be visual rather than semantic. - Leading pin and trailing archive actions are implemented.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/hermternal-apple#35
No description provided.