Skip to content

fix: revert DOM virtualization default to opt-in, fix gate RED (#6155) - #4

Closed
webtecnica wants to merge 2 commits into
masterfrom
fix/6155-gate-red
Closed

webtecnica wants to merge 2 commits into
masterfrom
fix/6155-gate-red

Conversation

@webtecnica

Copy link
Copy Markdown
Owner

Summary

Fixes gate RED for nesquena#6155 by reverting the DOM virtualization default toggle.

What changed

The original PR (nesquena#6155) silently flipped the crown-jewel default from opt-in to opt-out (s.virtualize_transcript!==false), causing CI failures because:

  • CI tests pin the old ===true opt-in default
  • Settings checkbox uses ===true (consistent with opt-in, inconsistent with opt-out)

This fix reverts the default toggle while preserving the nesquena#4346 context in comments:

Verification

  • CI tests that expect ===true and =false will now pass
  • Settings checkbox (===true) is consistent with boot default
  • DOM virtualization remains available as opt-in via Settings → "Virtualize long transcripts"

Context

@webtecnica webtecnica closed this Jul 19, 2026
webtecnica added a commit that referenced this pull request Aug 13, 2026
…SE relay (nesquena#6961)

Read/surface half of the maintainer's split for PR nesquena#6961 (child approval
routing, nesquena#6943). The resolve half (#1/#2/#3) stays in a follow-up gated on
the agent contract (agent#82009).

#4 (CORE): scope the child->parent cache by canonical state-db/profile path
and only cache positive lookups, so a miss under one profile can no longer
poison another profile's identical child id, and a late state.db write is
picked up on the next lookup. Adds invalidate_child_parent_cache().

#5 (SILENT): use one aggregate projection (own queue + delegated-child
queues, deduped by stable approval id / gateway mirror token) unconditionally
on all three surface paths — sidebar attention summary, /api/approval/pending,
and the SSE initial snapshot — so a parent-with-1 + child-with-1 now reports
count 2 instead of 1.

#6 (SILENT): publish the aggregate parent head/count to the parent's SSE
subscribers whenever an owned child queue changes (submit_pending,
submit_gateway_pending_mirror, retire_gateway_pending_mirror,
resolve_gateway_pending_local, resolve_child_approval_locked), so a pure-SSE
parent consumer sees child enqueue/resolve without waiting for the 1.5s poll.
webtecnica added a commit that referenced this pull request Aug 25, 2026
…SE relay (nesquena#6961)

Read/surface half of the maintainer's split for PR nesquena#6961 (child approval
routing, nesquena#6943). The resolve half (#1/#2/#3) stays in a follow-up gated on
the agent contract (agent#82009).

#4 (CORE): scope the child->parent cache by canonical state-db/profile path
and only cache positive lookups, so a miss under one profile can no longer
poison another profile's identical child id, and a late state.db write is
picked up on the next lookup. Adds invalidate_child_parent_cache().

#5 (SILENT): use one aggregate projection (own queue + delegated-child
queues, deduped by stable approval id / gateway mirror token) unconditionally
on all three surface paths — sidebar attention summary, /api/approval/pending,
and the SSE initial snapshot — so a parent-with-1 + child-with-1 now reports
count 2 instead of 1.

#6 (SILENT): publish the aggregate parent head/count to the parent's SSE
subscribers whenever an owned child queue changes (submit_pending,
submit_gateway_pending_mirror, retire_gateway_pending_mirror,
resolve_gateway_pending_local, resolve_child_approval_locked), so a pure-SSE
parent consumer sees child enqueue/resolve without waiting for the 1.5s poll.
webtecnica added a commit that referenced this pull request Aug 31, 2026
…SE relay (nesquena#6961)

Read/surface half of the maintainer's split for PR nesquena#6961 (child approval
routing, nesquena#6943). The resolve half (#1/#2/#3) stays in a follow-up gated on
the agent contract (agent#82009).

#4 (CORE): scope the child->parent cache by canonical state-db/profile path
and only cache positive lookups, so a miss under one profile can no longer
poison another profile's identical child id, and a late state.db write is
picked up on the next lookup. Adds invalidate_child_parent_cache().

#5 (SILENT): use one aggregate projection (own queue + delegated-child
queues, deduped by stable approval id / gateway mirror token) unconditionally
on all three surface paths — sidebar attention summary, /api/approval/pending,
and the SSE initial snapshot — so a parent-with-1 + child-with-1 now reports
count 2 instead of 1.

#6 (SILENT): publish the aggregate parent head/count to the parent's SSE
subscribers whenever an owned child queue changes (submit_pending,
submit_gateway_pending_mirror, retire_gateway_pending_mirror,
resolve_gateway_pending_local, resolve_child_approval_locked), so a pure-SSE
parent consumer sees child enqueue/resolve without waiting for the 1.5s poll.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant