Was copying the internal session:// reference (not browser-openable); now copies an absolute origin + /session/<id> URL (verified single-origin, no doubling — _sessionUrlForSid returns a relative path, the caller prepends origin once), tracking params stripped. Product/UX parity with major chat apps (Anchor C). Nathan-approved. 17 copy-link regression tests green. Co-authored-by: t <a@b> Co-authored-by: djsavvy <djsavvy@users.noreply.github.com>
This commit is contained in:
parent
8cc2d6f881
commit
46720a39dd
2 changed files with 3 additions and 1 deletions
|
|
@ -11,6 +11,8 @@
|
|||
|
||||
### Fixed
|
||||
|
||||
- **"Copy conversation link" now copies an openable URL instead of a `session://` reference.** The copy action produced the internal `session://` reference (not openable in a browser); it now copies an absolute `origin + /session/<id>` URL — the same shape used elsewhere in the app, with tracking query params stripped. Thanks @djsavvy. (#5478)
|
||||
|
||||
- **The model picker now marks the active model with a "Selected" badge.** The currently-selected conversation model shows a distinct **Selected** pill (separate from the "Configured" state), and the picker opens with that model's provider group expanded and scrolled into view — so it's obvious at a glance which model is in use. Thanks @rodboev. (#5757, #5748)
|
||||
|
||||
- **Transparent Stream no longer briefly renders a duplicate of the answer.** A live-token prose snapshot that was a strict prefix of the final answer escaped the existing dedupe guards (which only fired on near-complete matches) and rendered as a visible duplicate. A new provenance-gated guard suppresses only the ephemeral live-token accumulator row (role `prose` / kind `process_prose` / `token` source / `live-prose:*` id) when it's a strict shorter prefix of the settled answer and sits after the last tool row — so genuine intermediate narration is never suppressed. Thanks @rodboev. (#5758, #5749)
|
||||
|
|
|
|||
|
|
@ -3976,7 +3976,7 @@ async function _copyTextToClipboard(text){
|
|||
async function _copySessionLink(session){
|
||||
const sid=session&&session.session_id;
|
||||
if(!sid) return;
|
||||
const ref=_sessionInternalReferenceForSession(session);
|
||||
const ref=(window.location.origin||'')+_sessionUrlForSid(sid);
|
||||
try{
|
||||
await _copyTextToClipboard(ref);
|
||||
showToast(t('session_link_copied'));
|
||||
|
|
|
|||
Loading…
Reference in a new issue