fix(desktop): honor lineage when gating background queue drain - #70377
fix(desktop): honor lineage when gating background queue drain#70377zapabob wants to merge 1 commit into
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
|
Thanks for the focused regression fix. Current No substantive correctness issue found in this focused change. This is an automated hermes-sweeper review. |
|
Current official main already implements this exact fix in c9de69c: the background drainer uses idsShareLineage for both selected and busy gates, and the official commit includes the busy-tip and selected-tip regression tests from this PR. A rebase produces only an implementation-overlap conflict, so there is no remaining delta to carry. Closing as implemented on main without rewriting the contributor branch. |
Summary
Why
Composer/queue keys prefer the durable lineage root (
resolveComposerSessionKey), while `` / selected session may hold the live compression tip. Strict equality then mis-classified a busy or selected chat as idle/offscreen, allowing double drain or drain during an active tip turn — a session-bleed / wrong-transcript class bug.Complements merged #66001 (originating-session drain) and lineage work around #43483. Deliberately does not duplicate open #66240 (restored-queue manual send).
Test plan
use-background-queue-drain.test.tsxlineage busy + tip-selected cases