feat: add JSON export/import for session backup#3705
Conversation
- Add JSON format option to export dialog for full session data backup - Add import session feature in Settings > General - Exported JSON includes version, timestamp, and complete session data - Imported sessions get new IDs to avoid conflicts - Support both English and Chinese translations
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Add Import Chat menu item to toolbar for easier access - Fix imported session to appear at top of list (not starred) - Fix welcome card not hiding after login (return 'none' instead of null) - Add translations for Import Chat in English and Chinese
- Add parallel output: generate multiple responses sequentially, display side-by-side for comparison, user can accept one - Add branch output: create new conversation from any message point - Add settings for parallel output count and interval - Add debug logs for troubleshooting parallel output display issues
- Add parallel output handling to home page (index.tsx) handleSubmit - Fix horizontal scrolling for parallel output cards on narrow windows - Disable TanStack Router autoCodeSplitting to fix Vite caching issues - Add deploy-to-local.ps1 script for quick local deployment
- Force Windows userData path to xyz.chatboxapp.app to preserve existing chat data - Disable Windows code signing (sign: null) to fix build failures behind GFW - Change release app name/productName to match original Chatbox app - Add getAllStoreKeys IPC handler in main process - Add try-catch for getAllStoreKeys IPC call in renderer - Add orphaned session recovery logic in init_data.ts - Make initData non-blocking in migration to prevent IndexedDB hang from blocking UI Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Summary
This PR adds JSON export and import functionality for individual chat sessions, allowing users to backup and restore complete conversation data.
Features Added
Export:
.chatbox.jsonextension for easy identificationImport:
.chatbox.jsonfilesTechnical Details
SessionExportDatainterface with version control for future compatibilityexportSessionAsJson()andimportSessionFromJson()functionsupdateSessionList()File Changes
src/shared/types.ts- Added type definitions and version constantsrc/renderer/stores/sessionHelpers.ts- Core export/import logicsrc/renderer/modals/ExportChat.tsx- Added JSON format optionsrc/renderer/routes/settings/general.tsx- Added import UIsrc/renderer/i18n/locales/en/translation.json- English translationssrc/renderer/i18n/locales/zh-Hans/translation.json- Chinese translationsExport File Format
{ "__version": 1, "__exported_at": "2026-05-06T17:35:04.791Z", "__source": "chatbox", "session": { ... } }Test Plan