{"version":"2.1.246","anchor":"session-storage-state-moved-off-a-module-level-singleton","canonical_anchor":"session-storage-state-moved-off-a-module-level-singleton","heading":"Session storage state moved off a module-level singleton","tier":"internal","area":"Sessions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.246\/e\/session-storage-state-moved-off-a-module-level-singleton","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.246","markdown":"### Session storage state moved off a module-level singleton\n\nSession storage is per-host now, so exit handling registers once instead of repeatedly.\n\n**What**\n\nThe single shared session-storage object was replaced by a per-host holder, with the practical effect that exit handling is now registered once instead of repeatedly.\n\n**Details**\n\n- The holder exposes the writer-health failure streak, degraded-store state, exit re-stamp providers, exit drains and a new subscription for when a session file has been written to disk.\n- The exit re-stamp and flush paths return early if the host check fails, and the process `exit` listener is only added when one is not already registered.\n\n**Evidence**\n\n`sessionFileMaterialized`\n\n- Area: Sessions\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}