fix: recover stuck live session updates

Reconnects and resyncs active sessions when live updates stall
Normalizes synthetic session status events
Uses authoritative status snapshots to clear stale busy states
This commit is contained in:
Bohdan Triapitsyn
2026-05-24 19:17:04 +03:00
parent c4956af565
commit 0c8301d579
6 changed files with 333 additions and 76 deletions
@@ -49,7 +49,7 @@ describe('session runtime', () => {
expect(events).toContainEqual({
type: 'openchamber:session-status',
properties: expect.objectContaining({
sessionId: 'session-1',
sessionID: 'session-1',
status: 'idle',
needsAttention: true,
}),
@@ -57,7 +57,7 @@ describe('session runtime', () => {
expect(events.at(-1)).toEqual({
type: 'openchamber:session-status',
properties: {
sessionId: 'session-1',
sessionID: 'session-1',
status: 'idle',
timestamp: expect.any(Number),
metadata: {},
@@ -92,7 +92,7 @@ describe('session runtime', () => {
expect(events).toContainEqual({
type: 'openchamber:session-status',
properties: expect.objectContaining({
sessionId: 'legacy-session-1',
sessionID: 'legacy-session-1',
status: 'busy',
}),
});