fix(ui): show embedded subagent history while visibility stays inactive

Busy context-panel session chats could render only the working-status row
when the iframe booted inactive or lost its visibility handshake, because
message reads shared the composer/background-work gate. Keep message
subscriptions enabled in the mounted session-chat panel so materialized
history remains visible (#2903, #2892).

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
This commit is contained in:
Serhii Dziupin
2026-08-15 03:40:37 +00:00
committed by Cursor Agent
co-authored by Serhii Dziupin
parent 1060ad1913
commit 903638db94
6 changed files with 186 additions and 6 deletions
@@ -147,11 +147,12 @@ describe('issue #2815 active-only chat iframe source guard', () => {
expect(requestIndex).toBeGreaterThan(listenerIndex);
});
test('gates embedded chat subscriptions and background work on visibility', () => {
test('gates embedded chat background work on visibility but keeps message history enabled', () => {
expect(appSource).toContain(
'const embeddedBackgroundWorkEnabled = !embeddedSessionChat || isEmbeddedVisible;',
);
expect(appSource).toContain('active={embeddedBackgroundWorkEnabled}');
expect(appSource).toContain('messagesEnabled={true}');
expect(appSource).toContain(
'useWebNotificationStream({ enabled: embeddedBackgroundWorkEnabled });',
);