Skip to content

Added ability to export conversations & set retention policies - #734

Merged
Paul Lizer (paullizer) merged 8 commits into
Developmentfrom
export-conversations
Mar 3, 2026
Merged

Added ability to export conversations & set retention policies#734
Paul Lizer (paullizer) merged 8 commits into
Developmentfrom
export-conversations

Conversation

@eldong

@eldongeldong commented Feb 24, 2026

Copy link
Copy Markdown
Collaborator

This PR also includes the feature to allow users to set the group and workspace retention policies

CopilotAI review requested due to automatic review settings February 24, 2026 15:31

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
FileDescription
functional_tests/test_conversation_export.pyComprehensive tests for export sanitization, markdown generation, ZIP packaging, and active thread filtering
docs/explanation/features/CONVERSATION_EXPORT.mdComplete feature documentation covering architecture, usage, and security
application/single_app/route_backend_conversation_export.pyBackend API endpoint with conversation/message sanitization and format conversion
application/single_app/app.pyRoute registration for export endpoint
application/single_app/templates/chats.htmlExport wizard modal and button integration
application/single_app/templates/_sidebar_nav.htmlExport button in sidebar with compact styling
application/single_app/templates/_sidebar_short_nav.htmlExport button in short sidebar variant
application/single_app/static/js/chat/chat-export.jsExport wizard module with multi-step UI logic
application/single_app/static/js/chat/chat-conversations.jsExport button integration in main conversations list
application/single_app/static/js/chat/chat-sidebar-conversations.jsExport menu item and button handlers in sidebar
application/single_app/static/css/sidebar.cssCompact button styling for selection mode actions
application/single_app/templates/public_workspaces.htmlUNRELATED: Retention policy settings tab
application/single_app/templates/group_workspaces.htmlUNRELATED: Retention policy settings tab
application/single_app/static/js/public/public_workspace.jsUNRELATED: Retention policy functions + broken import
application/single_app/config.pyUNRELATED: MIME type registration for fonts
application/single_app/static/images/custom_logo.pngUNRELATED: Custom logo image
application/single_app/static/images/custom_logo_dark.pngUNRELATED: Custom logo dark mode image

Comment threadapplication/single_app/route_backend_conversation_export.py
Comment threadapplication/single_app/static/js/public/public_workspace.js
Comment threadapplication/single_app/templates/public_workspaces.html
Comment threadapplication/single_app/templates/group_workspaces.html
Comment threadapplication/single_app/static/js/public/public_workspace.js
Comment threadapplication/single_app/config.py

@paullizerPaul Lizer (paullizer) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please update release_notes.md with the feature

Comment threaddocs/explanation/features/CONVERSATION_EXPORT.md
CopilotAI review requested due to automatic review settings February 24, 2026 19:57
@eldong

Copy link
Copy Markdown
CollaboratorAuthor

I updated the release notes to include the Export Conversations and Retention policy UI features.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 18 changed files in this pull request and generated 3 comments.

Comment threadapplication/single_app/static/js/public/public_workspace.js
Comment threadfunctional_tests/test_conversation_export.py
Comment threaddocs/explanation/features/CONVERSATION_EXPORT.md
@eldongeldong changed the title Added ability to export conversationsAdded ability to export conversations & set retention policiesFeb 25, 2026
@paullizer
Paul Lizer (paullizer) merged commit f7e1e41 into DevelopmentMar 3, 2026
10 checks passed
@paullizer
Paul Lizer (paullizer) deleted the export-conversations branch March 3, 2026 02:24
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Export Conversations via Multi Step Modal from Chat Ellipse Menu with Multi Select Support

4 participants

@eldong@paullizer@eldongormsen