Add an archived-chats view #45

Open
opened 2026-08-23 09:32:36 +00:00 by kayg · 0 comments
Owner

Ask

Add a reachable archived-chats view so archiving does not strand a chat after the Undo toast is gone. Archive is already implemented and the active list is fetched with archived=exclude; the server flag is reversible, but the client currently has no route back to the chat.

Files and APIs

  • Sources/Hermternal/Views/SidebarView.swift: the sidebar route or row for archived chats.
  • Sources/Hermternal/AppModel.swift: archived-session loading, selection, and restore routing.
  • Sources/HermternalCore/Net/RestClient.swift: GET /api/sessions?archived=only and the existing archive PATCH.

Acceptance

  • The sidebar provides a native route to an archived-chats view.
  • Opening that view fetches and displays archived sessions with GET /api/sessions?archived=only.
  • A chat remains reachable from the archived view after its persistent Undo toast is gone.
  • Restoring a chat clears its server archive flag and returns it to the active sidebar without losing the durable selection.
  • Empty and failed archived-session loads have explicit, testable UI states.
## Ask Add a reachable archived-chats view so archiving does not strand a chat after the Undo toast is gone. Archive is already implemented and the active list is fetched with `archived=exclude`; the server flag is reversible, but the client currently has no route back to the chat. ## Files and APIs - `Sources/Hermternal/Views/SidebarView.swift`: the sidebar route or row for archived chats. - `Sources/Hermternal/AppModel.swift`: archived-session loading, selection, and restore routing. - `Sources/HermternalCore/Net/RestClient.swift`: `GET /api/sessions?archived=only` and the existing archive PATCH. ## Acceptance - The sidebar provides a native route to an archived-chats view. - Opening that view fetches and displays archived sessions with `GET /api/sessions?archived=only`. - A chat remains reachable from the archived view after its persistent Undo toast is gone. - Restoring a chat clears its server archive flag and returns it to the active sidebar without losing the durable selection. - Empty and failed archived-session loads have explicit, testable UI states.
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#45
No description provided.