Query bar with refresh/cancel and a results line with Show, Sort and locale counts - #3110
Open
ramonsmits wants to merge 6 commits into
Open
Query bar with refresh/cancel and a results line with Show, Sort and locale counts#3110ramonsmits wants to merge 6 commits into
ramonsmits wants to merge 6 commits into
Conversation
ramonsmits
force-pushed
the
ramon/audit-query-bar
branch
from
September 7, 2026 12:40
496f77d to
52b16e7
Compare
Show (page size) and Sort are result-presentation controls, not query filters — they now sit right of 'Showing X of Y result(s)' instead of competing with the query inputs for space in the filters panel, which also removes their awkward wrapping. The filters panel keeps the query inputs only (search, endpoint, time range), left-aligned; the rule that pushed the last filter to the far right is gone.
Large audit stores easily reach nine-digit totals; 'Showing 100 of 158736340 result(s)' is unreadable. Both numbers now go through Intl.NumberFormat with the user's locale (158,736,340 / 158.736.340). ResultsCount is shared, so the heartbeats views and the throughput queue list pick this up as well.
The refresh cluster occupied its own row above the filters; it now sits right-aligned inside the query bar so the whole query surface is one row. While a query is in flight the button flips from Refresh to an enabled Cancel that ticks the elapsed time (Cancel · 3.2s) and aborts the running query through the store — the abort propagates through ServiceControl and terminates the database-side query. Once results land, the results line reports what they cost: 'Showing 100 of 158,736,340 result(s) · took 2.7 s'. ActionButton hard-coupled loading to disabled, which would have left the button dead exactly when a user most wants an escape hatch; it gains disableOnLoading (default true, existing uses unchanged) and the refresh/cancel button opts out. The spec stubs ActionButton with the real disabled semantics so that coupling can't silently return.
While auto-refresh is armed and no query runs, the refresh arrow is replaced by a small ring that depletes toward the next refresh, with the exact remaining seconds as its tooltip; during a query the button shows the usual spinner and Cancel. The ring mirrors FontAwesome's icon geometry — ActionButton gains a named icon slot so custom icons are flex children with the same centering as FAIcon, and the ring's circle fills its box like a glyph — measured pixel-identical to the arrow state in both axes. Reduced motion disables the animation.
The countdown ring inside the refresh button was an SVG carrying a label that changed every second, which became part of the button's accessible name. The ring is now purely decorative (aria-hidden) and the countdown is a visually hidden "Next auto refresh in N seconds" timer that describes the button: read together with it, not announced on every tick. The button keeps its stable name "Refresh".
Leaving the view clears the rows; the "took X s" that described them must not survive to the next visit.
ramonsmits
force-pushed
the
ramon/audit-query-bar
branch
from
September 7, 2026 15:46
52b16e7 to
9e23d43
Compare
johnsimons
approved these changes
Sep 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on:
Reorganizes the All Messages query surface so the whole query is one row and the result-presentation controls sit with the results.
Showing X of Y result(s); the filters panel keeps only the query inputs (search, endpoint, time range)Showing 100 of 158,736,340 result(s)instead of a nine-digit blob.ResultsCountis shared, so heartbeats and throughput pick this up tooCancel · 3.2s), aborting the query through the store; the abort propagates through ServiceControl and terminates the database-side query. The results line reportstook 2.7 sReview feedback applied: the countdown is exposed to assistive tech as text. The ring is decorative (
aria-hidden); a visually hiddenrole="timer""Next auto refresh in N seconds" describes the button, so the button keeps the stable name "Refresh" and nothing is announced on every tick.