Session state now lives in one per-session container, making sessions cleaner to tear down and restore.
What's wrong with this entry?
State that used to live in loose module-level variables and React context is now held per session in a single object, covering things like whether the main loop is busy, terminal focus, feedback notices, project onboarding, push reachability, lost MCP authentication and changed skills. This makes tearing down and restoring a session coherent, and changes nothing you can see.
- Call sites read from the container instead of context, for example the main-loop-busy check.
- Many bare module-level maps and sets were replaced with lazily created per-session holders.
- Failures restoring a session are logged with "session rehydrator threw: ".
session rehydrator threw:
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Related
Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.
-
v2.1.235
Process-wide caches are now scoped per host
Both mention state
-
v2.1.235
Per-session state replaces process-wide globals, and the render root takes explicit dependencies
Both mention state
-
v2.1.235
More file-scope variables replaced by accessor-backed containers
Both mention state