fix(nodes): dispose map timers with their owning view - #1970
Conversation
|
Merging. CI had never run on this (stuck in
Clearing the resize timer in the same place matters for the same reason: a pending Verified together with #1969 and #1968 on current master: clean merge, disjoint hunks, eslint clean, frontend suite 666 passed 0 failed. That is all seven of your PRs reviewed or merged today. Thank you for citing a red commit and its assertion count on each one; being able to see that the test failed before the fix, without reconstructing it, made these considerably faster to review than they would otherwise have been. |
Red commit:
2f1a50e(local Chromium: 2 passed, 7 assertion failures). Ownership regression:059ab49(9 passed, 4 assertion failures). CI: run awaits maintainer approval (action_required); 0 jobs started.Rapid navigation or closing node detail could leave a delayed resize targeting a removed or replacement map. Disposal now cancels its timer, each resize captures its own map, and delayed responses respect the view owning the current map. Stale side-pane responses are ignored before rendering.
Fixes #1972.
test-issue-1206-resize-observer-leak-e2e.js:216and:292. This existing CI-selected suite covers navigation, replacement deadlines, close/Escape, no-location rendering, and late error/success responses. Existing observer-growth assertions remain intact; readiness waits replace fixed sleeps.data/node-map-validation/post-push-browser.loganddata/node-map-validation/evidence.md.parent-browser-confirm.log).Fix commits:
2492a65,1dc090d.Preflight overrides
run-all.shis unavailable. Scoped branch, red/green, PII, CSS, XSS and whitespace checks were run directly; no migrations, SQL attribution or image markup are added.