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
Half the analysis panel was a form that could not be submitted
Seven of the fourteen analysers on offer take an argument. The page renders
an input for each name in their `REQUIRES` and sends the values with the
request; `_run_over_store` called `instance.run(ctx, address=..., rows=...)`
and nothing else. So filling in the field the tool asked for and pressing
the button returned "linked_holders needs `addresses`" --- about the
addresses just typed into it. common_funder, cross_chain, linked_holders,
mixer, peel_chain, route and taint were all unreachable from the UI.
Only the names an analyser declares are forwarded. Passing the whole query
would have fixed the visible bug and opened a different one: a URL could
then set any keyword argument on any analyser, including ones it never
advertised. There is a test for each half.
Found by filling the form in a browser. No test caught it because every test
calls the analysers directly, which is the shape of gap that only using the
thing finds.
Two more from the same session, both "the button appears to do nothing":
The parameter form and the result render below the fold in a panel taller
than the window, so pressing an analyser changed nothing a reader could see
and put the only signal in the opposite corner of the screen. Both scroll
into view now, and the first field takes focus.
And the ask dialog ignored Escape and let Tab walk out into the page behind
it --- so the only way out was finding `close` with a mouse, and anyone
navigating by keyboard ended up operating a graph they had been told was
covered by a modal. Escape closes, Tab cycles inside, focus returns to
whatever opened it, and it is a `role="dialog"` with `aria-modal`.
The zoom controls were named "minus" and "plus" to a screen reader.
The landing page's "Eight views" is now `VIEWS.length`.
(The asset checkboxes and analyser buttons read as unnamed in one
accessibility tool's tree. They are not --- the checkboxes sit inside
labels, and the buttons take their name from their own text. Checked the
markup rather than the tool this time; the same tool led me to report
nineteen phantom findings once before.)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FXWQ25VgFeMuuMhGWjvdof
0 commit comments