Skip to content

fix(desktop): scope sidebar messaging and cron caches by profile - #82515

Open
kim-miram wants to merge 1 commit into
NousResearch:mainfrom
kim-miram:local/profile-isolation-port
Open

fix(desktop): scope sidebar messaging and cron caches by profile#82515
kim-miram wants to merge 1 commit into
NousResearch:mainfrom
kim-miram:local/profile-isolation-port

Conversation

@kim-miram

Copy link
Copy Markdown
Contributor

Summary

  • scope sidebar backend, Electron, and legacy fallback reads to the active profile
  • keep explicit all-profile mode separate while preventing cross-profile messaging and cron cache writes
  • guard stale pagination, cron mutations, and same-named-profile gateway-switch responses with scope/generation/epoch tokens

Test plan

  • npm --workspace apps/desktop test — 4,634 passed, 2 skipped
  • npm --workspace apps/desktop run typecheck
  • npm --workspace apps/desktop run lint — 0 errors
  • uv run --extra dev pytest tests/hermes_cli/test_web_server.py::TestWebServerEndpoints -q — 57 passed
  • Added regression coverage for concrete-profile isolation, stale response ordering, and gateway invalidation

No credentials, user data, profiles, or transcripts are included.

@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/desktop Electron desktop app (apps/desktop/*) comp/cli CLI entry point, hermes_cli/, setup wizard comp/cron Cron scheduler and job management area/profiles Multi-profile isolation, HERMES_HOME scoping sweeper:risk-session-state Sweeper risk: may lose/corrupt/mis-associate session or context state labels Aug 9, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

This was generated by AI during triage.

Related to #70630 and #70629: this addresses the same Desktop concrete-profile sidebar boundary, with additional cache and stale-response handling. Maintainer review should select or consolidate the overlapping implementations.

@teknium1

Copy link
Copy Markdown
Contributor

Substantial overlap with work now on main: fetch scoping + stale-pagination guards landed via #87566, and the gateway-switch serialization via #87600. What survives here: cron store cache scoping (store/cron.ts), the Electron/legacy-fallback backend scoping halves, and the same-named-profile epoch tokens. Leaving open — a rebase would isolate the surviving parts.

@kim-miram
kim-miram force-pushed the local/profile-isolation-port branch from e3f7319 to 777dc27 Compare August 27, 2026 02:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/profiles Multi-profile isolation, HERMES_HOME scoping comp/cli CLI entry point, hermes_cli/, setup wizard comp/cron Cron scheduler and job management comp/desktop Electron desktop app (apps/desktop/*) P3 Low — cosmetic, nice to have 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