You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds opt-in diagnostic logging behind globalThis.__GXT_LEAK_DEBUG__
(force-enabled in index.html for this CI run; revert once diagnosed).
Instrumentation:
- validator.ts: tags every classic reactor with {id, source, registered-
AtTest} via WeakMap. _fireClassicReactors logs cross-test fires as
"LEAK reactor #N src=… regAt=… firedIn=…". __gxtLeakSnapshot dumps
the live reactor population grouped by source/origin-test.
- renderer.ts: tags _renderComponentGxt's reactor with source=
"_renderComponentGxt".
- manager.ts: tags renderLinkToElement's reactor with source=
"renderLinkToElement"; logs every cache-HIT __syncFromUpstream call
with the live/upstream textarea values — the actual clobber site
identified for the Textarea cluster.
- index.html: snapshots the reactor Set at testStart / testDone so
growth between adjacent tests is visible.
Also adds scripts/gxt-test-runner/leak-debug.mjs — a Playwright helper
that opens the dev server, captures browser console.log output, and
prints "[leak-debug]" lines so the multi-module cumulative-state run
can be reproduced locally without testem.
This is a debugging commit, not a fix. Prior 14+ attempts treated the
classic-reactor leak as the root cause but neither global drains nor
self-unsub via isConnected/marker tracking improved the failing 8
testem tests; the actual leak source still needs to be identified
from CI evidence.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
0 commit comments