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
Non-blocking follow-ups from the round-3 re-review of #373 (#333, merged as 8a26a339). Details are in the review comment on #373.
N6, a11y regression.public/analytics.js (~1105): the repeater <div> now has role="row", but its parent .repeater-list has no role. The row therefore lacks the required rowgroup/table/grid ancestor. Add the matching roles or drop role="row".
N7, test gap. The delegated selector was broadened from tr[data-action="navigate"] to [data-action="navigate"] (analytics.js ~333). That is what makes the repeater row clickable, but no test pins it.
N10.test-xss-escape-sinks.jsloadLocalEsc now asserts exactly one function esc( per file, but a differently declared second esc (for example const esc = …) is not caught.
The perf.js sinks (N8) are tracked separately as a security issue.
N3:scripts/check-xss-sinks.sh header: the claim that generic locals (path/q.path/k) cannot be added without a false-positive explosion did not hold empirically. Re-evaluate adding them.
N4: the DEL (0x7f) half of the control-character strip in normalizeSlowPath is unpinned.
N5 and N6: only 5 of ~30 newly escaped perf cards have a test, and escapeHtml(err.message) in perf.js (~374) has none.
Activity
dborup commentedon Oct 13, 2026
Related nits from the round-2 re-review of #394 (#392, merged). Details are in the review on #394.
docs/api-spec.mddocuments the total slow-path bound as ≤257 runes; the real bound is 259 (128 + ellipsis per half, plus the join space).scripts/check-xss-sinks.shheader: the claim that generic locals (path/q.path/k) cannot be added without a false-positive explosion did not hold empirically. Re-evaluate adding them.0x7f) half of the control-character strip innormalizeSlowPathis unpinned.escapeHtml(err.message)inperf.js(~374) has none.test(compare): reproduce the row click listener leaking past the comp…
fix(compare): bind the row click handler to #compareContent, not #app (…
test: tighten the #393 perf-card, ARIA-role and inline-handler pins; …
Merge pull request #402 from dborup/codex/issue-393-xss-followups
dborup commentedon Oct 13, 2026
Fixed by #402 (merged as
4a5ec5e231dd97ed7a4392e50e5f409f4dc5fab0).