mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-07-05 05:41:59 +00:00
Adds a "Continue this chat" button to the shared conversation view that forks the shared conversation into a new conversation owned by the viewer and opens it to continue (issue #13001). - POST /api/share/:shareId/fork, gated by requireJwtAuth, the fork rate limiters, and the canAccessSharedLink ACL (view access = fork access). - forkSharedConversation clones from the anonymized getSharedMessages payload, so only share-visible data is copied. - Strips file ids from cloned files/attachments so a fork grants no more file access than viewing the read-only share, and honors the global shared-file kill switch via the snapshotFiles option. - Reduces the clone to the viewer's active branch, located by its index in the shared payload (shared ids are re-anonymized per request and createdAt can collide, while the payload order is stable). - Resolves config/retention, persists, and reads back under the requesting user's tenant, not the share owner's; canAccessSharedLink also falls back to a system-wide share lookup so cross-tenant public shares resolve (ACL still enforced under the share's own tenant). - Resolves a usable endpoint/model from the viewer's models config instead of hard-coding OpenAI, so deployments without OpenAI can send the first message. - Routes the fork's 401s (logged-out or cold-loaded viewers) through login, including when the refresh itself is rejected for a stale session. - Hides the Temporary Chat toggle once a conversation has a real id, and portals the share-settings theme/language dropdowns above the dialog. Rebased onto dev; collapses the share-fork feature and its review fixes into a single commit. |
||
|---|---|---|
| .. | ||
| config.rum.spec.js | ||
| config.spec.js | ||
| convos-duplicate-ratelimit.spec.js | ||
| convos-import.spec.js | ||
| convos.spec.js | ||
| grants.spec.js | ||
| keys.spec.js | ||
| ldap.spec.js | ||
| mcp.spec.js | ||
| messages-delete.spec.js | ||
| roles.spec.js | ||
| rum.spec.js | ||
| share.spec.js | ||
| static.spec.js | ||