feat(vscode): add archive all sessions action (#1262)

* feat(vscode): add archive all sessions action

* Update packages/ui/src/components/layout/VSCodeLayout.tsx

Signed-off-by: Jake <101855602+jjdubski@users.noreply.github.com>

* fix: Fail-open default archives all sessions when workspace can't be resolved

* fix: Already-archived descendants are included in the archive call

* fix: add i18n for the newly added toasts

* Restore icon name from 'add-line' to 'add'

Signed-off-by: Jake <101855602+jjdubski@users.noreply.github.com>

* update: fix merge conflict and update code structure into components

---------

Signed-off-by: Jake <101855602+jjdubski@users.noreply.github.com>
Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
This commit is contained in:
Jake
2026-06-08 15:11:05 +03:00
committed by GitHub
co-authored by Bohdan Triapitsyn
parent bba4b02dca
commit 5589ca991a
12 changed files with 208 additions and 5 deletions
+5
View File
@@ -2421,6 +2421,11 @@ export const dict = {
'vscodeLayout.title.sessions': 'Sessions',
'vscodeLayout.title.sessionFallback': 'Session',
'vscodeLayout.actions.backToSessionsAria': 'Back to sessions',
'vscodeLayout.actions.archiveAllAria': 'Archive all sessions',
'vscodeLayout.actions.archiveAllConfirm': 'Archive all',
'vscodeLayout.actions.archiveAllSuccess': 'Archived {count} session(s)',
'vscodeLayout.actions.archiveAllError': 'Failed to archive {count} session(s)',
'vscodeLayout.actions.cancel': 'Cancel',
'vscodeLayout.actions.newSessionAria': 'New session',
'vscodeLayout.actions.openAgentManagerAria': 'Open Agent Manager',
'vscodeLayout.actions.resizeSessionsSidebarAria': 'Resize sessions sidebar',
+5
View File
@@ -2388,6 +2388,11 @@ export const dict: Record<I18nKey, string> = {
"vscodeLayout.title.sessionFallback": "Sesión",
"vscodeLayout.actions.backToSessionsAria": "Volver a sesiones",
"vscodeLayout.actions.newSessionAria": "Nueva sesión",
"vscodeLayout.actions.archiveAllAria": "Archivar todas las sesiones",
"vscodeLayout.actions.archiveAllConfirm": "Archivar todo",
"vscodeLayout.actions.archiveAllSuccess": "{count} sesión(es) archivada(s)",
"vscodeLayout.actions.archiveAllError": "Error al archivar {count} sesión(es)",
"vscodeLayout.actions.cancel": "Cancelar",
"vscodeLayout.actions.openAgentManagerAria": "Abrir gestor de agentes",
"vscodeLayout.actions.resizeSessionsSidebarAria": "Ajustar tamaño del panel de sesiones",
"vscodeLayout.actions.settingsAria": "Configuración",
+5
View File
@@ -2421,6 +2421,11 @@ export const dict: Record<I18nKey, string> = {
'vscodeLayout.title.sessions': '세션',
'vscodeLayout.title.sessionFallback': '세션',
'vscodeLayout.actions.backToSessionsAria': '세션으로 돌아가기',
'vscodeLayout.actions.archiveAllAria': '모든 세션 보관',
'vscodeLayout.actions.archiveAllConfirm': '모두 보관',
'vscodeLayout.actions.archiveAllSuccess': '{count}개 세션 보관됨',
'vscodeLayout.actions.archiveAllError': '{count}개 세션 보관 실패',
'vscodeLayout.actions.cancel': '취소',
'vscodeLayout.actions.newSessionAria': '새 세션',
'vscodeLayout.actions.openAgentManagerAria': '에이전트 관리자 열기',
'vscodeLayout.actions.resizeSessionsSidebarAria': '세션 사이드바 크기 조정',
+5
View File
@@ -2448,6 +2448,11 @@ export const dict: Record<I18nKey, string> = {
'opencodeUpdate.toast.failed.description': 'Aktualizacja OpenCode nie powiodła się.',
'opencodeUpdate.toast.reload.message': 'Ponowne uruchamianie OpenCode...',
'vscodeLayout.actions.backToSessionsAria': 'Powrót do sesji',
'vscodeLayout.actions.archiveAllAria': 'Archiwizuj wszystkie sesje',
'vscodeLayout.actions.archiveAllConfirm': 'Archiwizować wszystko',
'vscodeLayout.actions.archiveAllSuccess': 'Zarchiwizowano {count} sesji',
'vscodeLayout.actions.archiveAllError': 'Nie udało się zarchiwizować {count} sesji',
'vscodeLayout.actions.cancel': 'Anuluj',
'vscodeLayout.actions.newSessionAria': 'Nowa sesja',
'vscodeLayout.actions.openAgentManagerAria': 'Otwórz menedżer agentów',
'vscodeLayout.actions.resizeSessionsSidebarAria': 'Zmień rozmiar panelu sesji',
@@ -2387,6 +2387,11 @@ export const dict: Record<I18nKey, string> = {
"vscodeLayout.title.sessions": "Sessões",
"vscodeLayout.title.sessionFallback": "Sessão",
"vscodeLayout.actions.backToSessionsAria": "Voltar para sessões",
"vscodeLayout.actions.archiveAllAria": "Arquivar todas as sessões",
"vscodeLayout.actions.archiveAllConfirm": "Arquivar tudo",
"vscodeLayout.actions.archiveAllSuccess": "{count} sessão(ões) arquivada(s)",
"vscodeLayout.actions.archiveAllError": "Falha ao arquivar {count} sessão(ões)",
"vscodeLayout.actions.cancel": "Cancelar",
"vscodeLayout.actions.newSessionAria": "Nova sessão",
"vscodeLayout.actions.openAgentManagerAria": "Abrir gerenciador de agentes",
"vscodeLayout.actions.resizeSessionsSidebarAria": "Ajustar tamanho do painel de sessões",
+5
View File
@@ -2387,6 +2387,11 @@ export const dict: Record<I18nKey, string> = {
"vscodeLayout.title.sessions": "Сесії",
"vscodeLayout.title.sessionFallback": "Сесія",
"vscodeLayout.actions.backToSessionsAria": "Назад до сесій",
"vscodeLayout.actions.archiveAllAria": "Архівувати всі сесії",
"vscodeLayout.actions.archiveAllConfirm": "Архівувати все",
"vscodeLayout.actions.archiveAllSuccess": "Заархівовано {count} сесій(ї)",
"vscodeLayout.actions.archiveAllError": "Не вдалося заархівувати {count} сесій(ї)",
"vscodeLayout.actions.cancel": "Скасувати",
"vscodeLayout.actions.newSessionAria": "Нова сесія",
"vscodeLayout.actions.openAgentManagerAria": "Відкрити менеджер агентів",
"vscodeLayout.actions.resizeSessionsSidebarAria": "Змінити розмір бічної панелі сесій",
@@ -2387,6 +2387,11 @@ export const dict: Record<I18nKey, string> = {
'vscodeLayout.title.sessions': '会话',
'vscodeLayout.title.sessionFallback': '会话',
'vscodeLayout.actions.backToSessionsAria': '返回会话列表',
"vscodeLayout.actions.archiveAllAria": "归档所有会话",
"vscodeLayout.actions.archiveAllConfirm": "归档全部",
"vscodeLayout.actions.archiveAllSuccess": "已归档 {count} 个会话",
"vscodeLayout.actions.archiveAllError": "归档 {count} 个会话失败",
"vscodeLayout.actions.cancel": "取消",
'vscodeLayout.actions.newSessionAria': '新建会话',
'vscodeLayout.actions.openAgentManagerAria': '打开智能体管理器',
'vscodeLayout.actions.resizeSessionsSidebarAria': '调整会话侧边栏大小',
@@ -2384,6 +2384,11 @@ export const dict: Record<I18nKey, string> = {
'vscodeLayout.title.sessions': '會話',
'vscodeLayout.title.sessionFallback': '會話',
'vscodeLayout.actions.backToSessionsAria': '返回會話清單',
'vscodeLayout.actions.archiveAllAria': '封存所有會話',
'vscodeLayout.actions.archiveAllConfirm': '全部封存',
'vscodeLayout.actions.archiveAllSuccess': '已封存 {count} 個會話',
'vscodeLayout.actions.archiveAllError': '封存 {count} 個會話失敗',
'vscodeLayout.actions.cancel': '取消',
'vscodeLayout.actions.newSessionAria': '新增會話',
'vscodeLayout.actions.openAgentManagerAria': '開啟 Agent 管理器',
'vscodeLayout.actions.resizeSessionsSidebarAria': '調整會話側邊欄大小',