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
PR #923 (clickable path overlay) changed drawAnimatedLine's signature, updated one caller, missed the OTHER caller in the same file — left it referencing the undefined hash variable. Landed on master. Reported by user as #1318. Fixed by community PR #1325.
This is the LITERAL most basic class of JavaScript bug. eslint --rule no-undef catches it instantly. We have ZERO frontend lint in CI.
Mutation: revert the lint step → CI passes again, gate confirmed working
Why this should ship NOW
The #1318 class of bug has shipped at least once and probably more times historically. It's the cheapest possible regression to gate against. Every PR review that misses an undef-var is a process failure that no amount of "more reviewers" fixes — automate the gate.
Summary
PR #923 (clickable path overlay) changed
drawAnimatedLine's signature, updated one caller, missed the OTHER caller in the same file — left it referencing the undefinedhashvariable. Landed on master. Reported by user as #1318. Fixed by community PR #1325.This is the LITERAL most basic class of JavaScript bug.
eslint --rule no-undefcatches it instantly. We have ZERO frontend lint in CI.What CI currently runs on
public/*.jscheck-css-vars)node -c <file>syntax check (catches parse errors, NOT undef vars)Total: parse-validity only. No real static analysis.
What we should add (in priority order)
eslint --no-eslintrc --rule '{no-undef: error}' --rule '{no-unused-vars: warn}' public/*.js— minimal config, catches the bug: Live Playback as of commit 5cc733258367bc2edc70b57b0152cbcfcade66f4 is broken due to variable name #1318 class of bug. Runs in <5s.eslint --rule '{no-undef: error}'for the inline<script>blocks inpublic/*.html— same class of bug can land there too.function fooBar(definitions; grep rest of file forfooBar(callers; flag arg-count mismatch.Out of scope
Acceptance
.eslintrc.jsonat repo root with minimal config (no-undef + no-unused-vars, both as errors after a grace period)Why this should ship NOW
The #1318 class of bug has shipped at least once and probably more times historically. It's the cheapest possible regression to gate against. Every PR review that misses an undef-var is a process failure that no amount of "more reviewers" fixes — automate the gate.
References