Skip to content

fix(desktop): pass session profile through exportSession transcript reads - #40794

Closed
Dusk1e wants to merge 1 commit into
NousResearch:mainfrom
Dusk1e:fix/export-session-profile-routing
Closed

fix(desktop): pass session profile through exportSession transcript reads#40794
Dusk1e wants to merge 1 commit into
NousResearch:mainfrom
Dusk1e:fix/export-session-profile-routing

Conversation

@Dusk1e

@Dusk1e Dusk1e commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

What & why

Exporting a session from the cross-profile lists read its transcript without
the owning profile, so the request fell through to the local primary. A remote
(or non-default local) profile's rows live only on that profile's backend, so
the export 404'd, came back empty, or returned the wrong transcript.

exportSession now routes the transcript read to the session's owning profile
(params.profile ?? params.session?.profile ?? null). Both cross-profile
callsites — the command-center session list and the sidebar actions menu — pass
the profile through; current-profile search export is unaffected.

Reference

Parity follow-up to 9af54b2 (#39894, "make remote-profile sessions
first-class: resume, read, rename/archive/delete"), which established the
owner-profile read-routing invariant. exportSession was the remaining sibling
read path that still ignored it.

Tests

  • tsc -b (type-check): clean
  • eslint (changed files): clean
  • New session-export.test.ts: 3/3 pass — owning-profile route · explicit-profile precedence · null (current-profile) fallback

…eads

Exporting a session from the cross-profile lists read its transcript without the owning profile, so the request fell through to the local primary. A remote (or non-default local) profile's rows live only on that profile's backend, so the export 404'd, came back empty, or returned the wrong transcript.

exportSession now routes the transcript read to the session's owning profile, and both cross-profile callsites (command-center session list, sidebar actions menu) pass it through. Current-profile search export is unaffected.

Restores the read-routing invariant from 9af54b2 (NousResearch#39894), which exportSession was the remaining sibling to miss.
@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/gateway Gateway runner, session dispatch, delivery labels Jun 6, 2026
@teknium1

Copy link
Copy Markdown
Contributor

Thanks for the focused cross-profile export fix. This is already implemented on current main by commit 7a2d498b9 (fix(desktop): route profile session reads).

Automated hermes-sweeper review evidence:

  • apps/desktop/src/lib/session-export.ts:35-36 resolves the explicit or owning session profile and passes it to getSessionMessages.
  • apps/desktop/src/app/chat/sidebar/session-actions-menu.tsx:140 passes the sidebar row profile.
  • apps/desktop/src/app/command-center/index.tsx:377 passes the session object, whose profile is resolved by the export helper.
  • The implementation commit is contained in current main and is included by tag v2026.6.19.

@teknium1 teknium1 closed this Jul 14, 2026
@teknium1 teknium1 added the sweeper:implemented-on-main Sweeper: behavior already present on current main label Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/gateway Gateway runner, session dispatch, delivery P3 Low — cosmetic, nice to have sweeper:implemented-on-main Sweeper: behavior already present on current main type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants