feat: add session archive/unarchive support to TUI#13961
Conversation
|
Thanks for your contribution! This PR doesn't have a linked issue. All PRs must reference an existing issue. Please:
See CONTRIBUTING.md for details. |
|
The following comment was made by an LLM, it may be inaccurate: |
|
The two CI failures are unrelated to this PR:
All checks relevant to this PR pass: typecheck, unit (linux), e2e (linux), check-standards. |
8b21ef7 to
ce7a4d2
Compare
|
Friendly ping @thdxr @adamdotdevin — rebased onto latest dev, CI passing. Ready for review whenever you have a moment! |
|
This would be very helpful for my workflow. Let me know when it's rebased and I can test it. |
|
I rebased this onto current dev and created a new PR: #22328 The original had conflicts since dev moved forward after March. This version resolves them properly. Thought you might want to merge from this or just reference it. Happy to close if you're re-merging it yourself. |
|
Created a new PR with the rebase: #22372 It's mergeable now. Feel free to merge from this or close it if you're handling the rebase yourself. |
|
@B67687 nsiu, you have merge abilities? |
ce7a4d2 to
85852e3
Compare
|
Oh I dont have merge abilities |
|
so plz don't ping me about this they don't merge any PRs been waiting for months... thanks |
|
Understood. I won’t ping you further about this. |
|
Automated PR Cleanup Thank you for contributing to opencode. Due to the high volume of PRs from users and AI agents, we periodically close older PRs using automated criteria so maintainers can focus review time on the most active and community-supported contributions. This PR was closed because it matched the following cleanup criteria:
PRs created within the last month are not affected by this cleanup. If you believe this PR was closed incorrectly, or if you are still actively working on it, please leave a comment explaining why it should be reopened. A maintainer can review and reopen it if appropriate. Thanks again for taking the time to contribute. |
Issue for this PR
Closes #13964
Type of change
What does this PR do?
The backend already supports archiving sessions but the TUI had no way to use it. This adds:
/archiveslash command andsession_archivekeybind to archive the current sessiontabto toggle between active and archived sessions4 files changed:
config.ts(keybind),dialog-session-list.tsx(archive toggle + keybinds),routes/session/index.tsx(/archivecommand),app.tsx(navigate home on archive event).Related: #12020 (desktop archive was disabled due to no restore path)
How did you verify your code works?
Typecheck passes. Manually tested archive/unarchive via slash command, keybind, and session list dialog. Verified archived sessions don't appear in default list, appear under "Archived Sessions" tab, and unarchive correctly.
Screenshots / recordings
N/A — no visual layout changes, only new keybind actions and list filtering.
Checklist