Files
hapi/web/src/lib/appSseSubscriptions.test.ts
T
9af6696a68 fix(web): keep global SSE alive for session list status updates (#694)
When a session is open, the web app now keeps an always-on all:true SSE
connection for sidebar session-updated events while using a second
session-scoped stream for message delivery. Also bump session activity on
hub sendMessage so web-originated sends refresh list timestamps.

Fixes tiann/hapi#693

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 14:45:43 +08:00

16 lines
724 B
TypeScript

import { describe, expect, it } from 'vitest'
import { getAppGlobalSseSubscription, getAppSessionSseSubscription } from './appSseSubscriptions'
describe('app SSE subscriptions', () => {
it('always uses a global all:true subscription for the session list', () => {
expect(getAppGlobalSseSubscription()).toEqual({ all: true })
})
it('uses a session-scoped subscription only when a session is selected', () => {
expect(getAppSessionSseSubscription(null)).toBeNull()
expect(getAppSessionSseSubscription(undefined)).toBeNull()
expect(getAppSessionSseSubscription('')).toBeNull()
expect(getAppSessionSseSubscription('session-a')).toEqual({ sessionId: 'session-a' })
})
})