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
{{ message }}
Repository navigation
observers.js leaks delegated click/keydown handlers on the shared #app container #405
Found during the review of #402 (merged), and pre-existing on master: public/observers.js (~182) binds its delegated click and keydown handlers to the shared #app container and never removes them.
After visiting the Observers page, those handlers keep running on every later page. This is the same leak class #402 fixed in compare.js, where it broke the observers slide-over (Kpa-clawbot#1056 AC#4).
Required work
Bind the handlers to the observers page's own container, or remove them in the page's destroy().
Grep public/*.js for other app.addEventListener( / document.addEventListener( calls in page modules without a matching removal in destroy(), and fix them the same way.
Add a regression test: navigate observers → another page, then assert that no observers handler fires.
Activity
Merge pull request #419 from dborup/codex/issue-405-observers-listene…
dborup commentedon Oct 13, 2026
Fixed by #419 (merged as
20513d48f69fc3c162ce1a7582882b6e211b1966).dborup commentedon Oct 13, 2026
The observers.js part is fixed by #419. The remaining 15 same-class sites (compare, channels, live) are tracked in 428.