Skip to content

feat(sessions): archive & unarchive sessions - #41

Merged
clintberry merged 3 commits into
mainfrom
feat/archive-sessions
Jul 28, 2026
Merged

feat(sessions): archive & unarchive sessions#41
clintberry merged 3 commits into
mainfrom
feat/archive-sessions

Conversation

@clintberry

Copy link
Copy Markdown
Contributor

What

Adds the ability to archive and unarchive sessions, end to end.

  • Backendarchive/unarchive endpoints + SQL, with archived sessions filtered out of the default session list (sessions.sql, sessions.go, handler + archive_test.go).
  • Frontend API + storeapi.ts wrappers and Zustand store actions for archive/unarchive.
  • UIArchiveSessionDialog and ArchivedSessionsDialog, wired into SessionSidebar.
  • Housekeeping — gitignore server/tmp/ (the air hot-reload build artifact, go build -o ./tmp/deuce, which was previously untracked-but-not-ignored). Includes a few planning docs under docs/plans/.

Notes

🤖 Generated with Claude Code

clintberry and others added 3 commits June 17, 2026 03:02
U1: exclude archived sessions from ListSessionsForUser; add
ListArchivedSessionsForUser; ListSessions serves the archived view via
?archived=true.

U2: add POST /sessions/{id}/archive and /unarchive. Archive flips status
to archived first (so the reconciler stops managing it), then tears down
the DevPod container in the background by reusing the workspace delete
action; unarchive flips status back to active. Both are session-membership
write-gated and broadcast session_update.
U3: add listArchivedSessions, archiveSession, unarchiveSession API wrappers.

U4: add archivedSessions slice plus loadArchivedSessions / archiveSession /
restoreSession store actions. archiveSession optimistically drops the session
from the sidebar and clears activeSessionId when the archived session was
active; restoreSession drops it from the archived view. Kept archivedSessions
separate from sessions so the session_update list refetch can't clobber it.
Complete the archive-sessions frontend: ArchiveSessionDialog and
ArchivedSessionsDialog, wired into SessionSidebar with the store actions
added in earlier commits. Also add planning docs and gitignore the
air hot-reload build artifact (server/tmp/).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@clintberry
clintberry merged commit d19cbcb into main Jul 28, 2026
2 checks passed
@clintberry
clintberry deleted the feat/archive-sessions branch July 28, 2026 16:36
Sign up for free to 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