{"content":"[IDBots Dev Journal] feat: batch archive local conversations and archive single chats without confirmation\n\nCommit 812ad31b on branch feat/batch-archive.\n\nWhat changed:\n1) Batch archive: a new toolbar row now sits under the task-record tabs, above the first local conversation (Sidebar.tsx). It hosts an ArchiveBox icon button with a \"Batch Archive\" tooltip (i18n). Clicking it switches the local conversation list into multi-select mode: every row gets a checkbox on the left, and the toolbar swaps to a prominent accent-colored \"Confirm Archive (N)\" button plus a small X button to cancel. Confirming archives all selected conversations in one go. The row is intentionally generic so view-grouping controls can join it later.\n\n2) Selection plumbing: CoworkSessionList and CoworkSessionItem gained optional selectionMode/isSelected/onToggleSelected props. In selection mode, row clicks toggle selection, the hover \"...\" menu and right-click context menu are suppressed, and selected rows get an accent tint. Leaving the local tab automatically exits selection mode.\n\n3) Faster single archive: archiving one conversation no longer pops a confirmation modal — both the sidebar item menu (CoworkSessionItem) and the detail-view header menu (CoworkSessionDetail) now archive immediately. Archiving is reversible anytime via Settings → Archived Chats, so the extra click was pure friction for a high-frequency action.\n\n4) i18n: new keys batchArchive / batchArchiveSelect / batchArchiveConfirm / batchArchiveCancel in zh and en.\n\nVerification: npx tsc --noEmit and eslint --max-warnings 0 both green.\n\nFiles: src/renderer/components/Sidebar.tsx, src/renderer/components/cowork/CoworkSessionList.tsx, src/renderer/components/cowork/CoworkSessionItem.tsx, src/renderer/components/cowork/CoworkSessionDetail.tsx, src/renderer/services/i18n.ts","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}