Description
Chat Folders and Export is the organization layer around durable conversation history. The Chat sidebar separates recent and pinned threads, lets users create and manage folders, move conversations among them, rename or delete threads, and resize the navigation region. Folder membership is persisted by the server rather than inferred from browser storage, so the organization follows the user’s account.
Export turns a selected conversation into a portable document that includes the meaningful message sequence and source context in a readable format. Recents can paginate for speed while folder and pinned membership resolve against the complete catalog, preserving organization even when older conversations are not on the first history page.
Selling Points
- Keeps a growing conversation archive navigable without forcing users to remember titles or search every time.
- Separates pinned reference threads from time-ordered recents, supporting both stable and active work.
- Stores folder membership durably, so organization survives browser changes and fresh sessions.
- Provides portable export for sharing, review, or long-term retention outside the application.
- Handles stale last-conversation pointers gracefully instead of reopening a dead or inaccessible thread.
User Story
A researcher creates a “Competitive Research” folder, moves three active conversations into it, pins the synthesis thread, and renames each exchange for easy scanning. When the project closes, they export the final conversation for a stakeholder who does not work in the Dots workspace.
Extension Surface
The capability is configurable through user-authored folders, pin state, titles, and membership. apps/web/src/modules/chat/components/sidebar/ChatSidebar.tsx composes the live organization surface, and apps/web/src/modules/chat/components/sidebar/ChatRowMenu.tsx exposes supported thread actions. Export formatting is product-defined rather than user-scriptable, and no external sidebar-row registration exists.
Capabilities & Limits
- Creates folders and organizes conversations through persisted membership.
- Supports recents, pins, rename, move, delete, and resizable navigation.
- Exports a conversation into a portable readable representation.
- Limit: folders organize Chat threads only; they are not Spaces and cannot contain Dotabases, pages, or arbitrary workspace entities.
Implementation Map
apps/web/src/modules/chat/components/sidebar/ChatSidebar.tsxapps/web/src/modules/chat/components/sidebar/FolderRow.tsxapps/web/src/modules/chat/components/sidebar/ConversationRow.tsxpackages/parts/src/lib/export-conversation.ts