feat: Automatically recover from frozen live streams (#2569)

- Closes: #2099
This commit is contained in:
Dermot Duffy
2026-07-07 21:37:24 -07:00
committed by GitHub
parent 9f956fe89f
commit fb1bbc739e
73 changed files with 3321 additions and 364 deletions
+8 -4
View File
@@ -38,7 +38,7 @@ describe('createIssueManager', () => {
'initialization',
'legacy_resource',
'media_query',
'media_load',
'media_unavailable',
'view_incompatible',
] as const;
@@ -84,15 +84,19 @@ describe('createIssueManager', () => {
const manager = createIssueManager(api, createSubscriptionHealth());
// Setting view starts the media_load timer (via the condition state
// Setting view starts the media_unavailable timer (via the condition state
// listener → evaluate → detectDynamic).
stateManager.setState({ targetID: 'camera-1', view: 'live' });
expect(manager.getStateManager().getIssuePresence().has('media_load')).toBe(false);
expect(manager.getStateManager().getIssuePresence().has('media_unavailable')).toBe(
false,
);
// After the timeout, the changeCallback fires evaluate which
// updates the card element.
vi.advanceTimersByTime(10000);
expect(manager.getStateManager().getIssuePresence().has('media_load')).toBe(true);
expect(manager.getStateManager().getIssuePresence().has('media_unavailable')).toBe(
true,
);
});
});