Skip to content

fix(desktop): preserve fresh-session title routing - #67091

Closed
Studio729 wants to merge 5 commits into
NousResearch:mainfrom
Studio729:fix/desktop-stale-session-title
Closed

fix(desktop): preserve fresh-session title routing#67091
Studio729 wants to merge 5 commits into
NousResearch:mainfrom
Studio729:fix/desktop-stale-session-title

Conversation

@Studio729

Copy link
Copy Markdown
Contributor

Summary

  • treat an explicitly remembered New session route as authoritative over a stale last-session ID
  • clear stale remembered session identity when a deliberate fresh draft is active
  • preserve legitimate cold-start session restoration during the transient initial / render
  • add regression coverage for both routing invariants

Verification

  • cd apps/desktop && npm run check
  • 229 test files passed; 1,948 tests passed; 2 skipped
  • desktop artifact tests, macOS DMG packaging, and production build passed

Manual regression

  1. Open a titled session.
  2. Start a New session.
  3. Restart Hermes Desktop.
  4. Confirm the New session does not inherit the older title.

@alt-glitch alt-glitch added type/bug Something isn't working comp/desktop Electron desktop app (apps/desktop/*) P3 Low — cosmetic, nice to have labels Jul 18, 2026
@teknium1

Copy link
Copy Markdown
Contributor

Thanks for the focused regression fix. The premise is confirmed on current main: use-desktop-integrations.ts:64-72 persists the initial / route before the restore effect at :79-99 runs, allowing the stale last-session fallback at :95-99 to win after a user deliberately starts a new draft. use-session-actions/index.ts:226-235 confirms that fresh-draft flow clears route intent and navigates to / with no routed session ID.

The change in 0652714a182c makes / authoritative, preserves the transient / render while a valid restore navigation is pending, and adds focused coverage for both invariants. No blocking problems identified.

Automated hermes-sweeper review.

@teknium1 teknium1 added sweeper:risk-session-state Sweeper risk: may lose/corrupt/mis-associate session or context state sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform area/sessions Session lifecycle, resume, persistence, history labels Jul 19, 2026
@Studio729
Studio729 force-pushed the fix/desktop-stale-session-title branch from 0652714 to 6ee4422 Compare July 19, 2026 21:35
@Studio729

Copy link
Copy Markdown
Contributor Author

Rebased onto current main (dd418284d).

  • 1 commit replayed cleanly (no conflicts)
  • Tests: apps/desktop vitest use-desktop-integrations.test.tsx → 2 passed
  • Ready for CI + maintainer review/merge

@Studio729
Studio729 force-pushed the fix/desktop-stale-session-title branch 2 times, most recently from 927d8a9 to 9765c91 Compare July 22, 2026 21:50
@Studio729

Studio729 commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

Rebased cleanly onto current main (1b8e34e94); this branch is 0 commits behind at this update.

  • Head: ecdebfc51
  • Verification: Desktop vitest: 2 passed; npm run typecheck: passed. Final replay was clean.
  • Upstream CI is action_required; a repository maintainer must approve the fork workflow run before checks can execute.

Ready for maintainer review.

@Studio729
Studio729 force-pushed the fix/desktop-stale-session-title branch from b6b291e to 650c782 Compare July 30, 2026 23:29
@Studio729

Copy link
Copy Markdown
Contributor Author

Closing as intentionally abandoned.

Tim is standardizing on the managed Hermes install (hermes update + /Applications/Hermes.app) and retiring the local Desktop release-train / dual-runtime dogfood path. These Studio729 PRs were carried for that local composed train; the maintenance cost outweighed the remaining value while they were blocked on maintainer/CI gates.

Happy to reopen a focused follow-up later if a specific fix is still needed on current main.

@Studio729

Copy link
Copy Markdown
Contributor Author

Closed: retiring local Desktop release-train dogfood; standardizing on managed install.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/sessions Session lifecycle, resume, persistence, history comp/desktop Electron desktop app (apps/desktop/*) P3 Low — cosmetic, nice to have sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:risk-session-state Sweeper risk: may lose/corrupt/mis-associate session or context state type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants