Uh oh!
There was an error while loading. Please reload this page.
Added ability to export conversations & set retention policies - #734
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request adds a conversation export feature that allows users to export their conversations in JSON or Markdown format, with options for single-file or ZIP packaging. The export wizard provides a multi-step interface for selecting conversations, choosing formats, and downloading the results.
However, the PR contains significant unrelated changes including:
- Retention policy settings UI for public and group workspaces
- MIME type registration for font files
- Custom logo image files
Changes:
- Added conversation export backend endpoint with sanitization and active thread filtering
- Implemented multi-step export wizard with Bootstrap modal UI
- Added export buttons to conversation lists and sidebar with selection mode support
- Included functional tests validating export logic and feature documentation
Reviewed changes
Copilot reviewed 15 out of 17 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| functional_tests/test_conversation_export.py | Comprehensive tests for export sanitization, markdown generation, ZIP packaging, and active thread filtering |
| docs/explanation/features/CONVERSATION_EXPORT.md | Complete feature documentation covering architecture, usage, and security |
| application/single_app/route_backend_conversation_export.py | Backend API endpoint with conversation/message sanitization and format conversion |
| application/single_app/app.py | Route registration for export endpoint |
| application/single_app/templates/chats.html | Export wizard modal and button integration |
| application/single_app/templates/_sidebar_nav.html | Export button in sidebar with compact styling |
| application/single_app/templates/_sidebar_short_nav.html | Export button in short sidebar variant |
| application/single_app/static/js/chat/chat-export.js | Export wizard module with multi-step UI logic |
| application/single_app/static/js/chat/chat-conversations.js | Export button integration in main conversations list |
| application/single_app/static/js/chat/chat-sidebar-conversations.js | Export menu item and button handlers in sidebar |
| application/single_app/static/css/sidebar.css | Compact button styling for selection mode actions |
| application/single_app/templates/public_workspaces.html | UNRELATED: Retention policy settings tab |
| application/single_app/templates/group_workspaces.html | UNRELATED: Retention policy settings tab |
| application/single_app/static/js/public/public_workspace.js | UNRELATED: Retention policy functions + broken import |
| application/single_app/config.py | UNRELATED: MIME type registration for fonts |
| application/single_app/static/images/custom_logo.png | UNRELATED: Custom logo image |
| application/single_app/static/images/custom_logo_dark.png | UNRELATED: Custom logo dark mode image |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Paul Lizer (paullizer)
left a comment
There was a problem hiding this comment.
please update release_notes.md with the feature
Uh oh!
There was an error while loading. Please reload this page.
eldong
commented
Feb 24, 2026
I updated the release notes to include the Export Conversations and Retention policy UI features. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
This PR also includes the feature to allow users to set the group and workspace retention policies