mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
Session rows served without ?profile= carried no profile field, so in multi-profile desktops the default profile's sessions circulated unowned: resolveStoredSession cached them profile-less, resolveSessionProfile returned undefined, and session.resume targeted whichever gateway was active -- opening a default-profile session from a non-default window failed with "session can't be found" while the reverse direction worked (#67603 family). Server: GET /api/sessions/{id} and GET /api/sessions now stamp profile/ is_default_profile unconditionally -- the serving profile is always known (_cron_default_profile() when the request is unscoped). Renderer: resolveStoredSession treats a profile-less $sessions cache hit as unresolved when >1 profile exists (falls through to the stamped by-id ladder) and back-fills the active profile on bare by-id hits from older backends, so unowned rows are never re-cached. Verified via CDP against a live 4-profile renderer: bare by-id GET returned hasProfileField:false and the stale cache rows matched; with the fix both lookups return the owning profile and the resume routes to the right backend. |
||
|---|---|---|
| .. | ||
| bootstrap-installer | ||
| desktop | ||
| shared | ||