Summary
Add shareable chat links so others can read conversation history publicly and optionally continue by creating their own copy after login.
Problem
There is no mechanism to share a chat transcript externally. Collaboration and debugging workflows are blocked.
Expected Solution
Create a share token/slug for a chat. Public route should show conversation history in read-only mode without auth. If visitor wants to continue chatting, require authentication and create a new chat copy for that user so original owner data is unaffected.
Scope
- Backend:
backend/prisma/schema.prisma (share metadata/entities)
backend/controllers/chat.controller.js
backend/controllers/chatMessage.controller.js
- New routes/controller(s) for share read/fork
- Frontend:
src/pages/ChatPage.tsx
- New public shared-chat page
src/lib/api.ts
Acceptance Criteria
Notes
Consider optional controls: expiry, one-click revoke, and private/unlisted mode.
Summary
Add shareable chat links so others can read conversation history publicly and optionally continue by creating their own copy after login.
Problem
There is no mechanism to share a chat transcript externally. Collaboration and debugging workflows are blocked.
Expected Solution
Create a share token/slug for a chat. Public route should show conversation history in read-only mode without auth. If visitor wants to continue chatting, require authentication and create a new chat copy for that user so original owner data is unaffected.
Scope
backend/prisma/schema.prisma(share metadata/entities)backend/controllers/chat.controller.jsbackend/controllers/chatMessage.controller.jssrc/pages/ChatPage.tsxsrc/lib/api.tsAcceptance Criteria
Notes
Consider optional controls: expiry, one-click revoke, and private/unlisted mode.