-
Notifications
You must be signed in to change notification settings - Fork 40
dash: filter the live feed by verdict (All / PASS / AUTH / BLOCK) #435
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or requestgood first challengeNext step after good first issue - more scope or contract depth, still self-containedNext step after good first issue - more scope or contract depth, still self-containedlevel-3Write a self-contained test, or add a flag following an existing sibling pattern.Write a self-contained test, or add a flag following an existing sibling pattern.
Description
Activity
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgood first challengeNext step after good first issue - more scope or contract depth, still self-containedNext step after good first issue - more scope or contract depth, still self-containedlevel-3Write a self-contained test, or add a flag following an existing sibling pattern.Write a self-contained test, or add a flag following an existing sibling pattern.
The "Recent decisions" feed appends every streamed decision (
source.addEventListener("decision", ...),src/doberman/dash/app.py:563-615) up toMAX_FEED_ROWS = 200(:329). Finding the BLOCKs in 200 mixed rows means scrolling.What to do
<li>withli.dataset.verdict = row.verdictwhere it's created (around line 570).<select id="feed-filter">with All / PASS / AUTH / BLOCK in theRecent decisionsheader row (<h2>at line 274).#feedwith matching CSS (.feed-only-block li:not([data-verdict="BLOCK"]) { display: none }and friends), or walkfeedEl.childrenand sethidden. Rows added later must obey the current filter too, so apply it when a row is inserted.tests/unit/test_dash_polish.py: the shell containsfeed-filteranddata-verdict/dataset.verdict.Client-side only; nothing changes in what the server sends. Heads-up: two dashboard PRs are in flight (#401, #415), both editing
dash/app.py's top bar; branch from a freshmainand expect a small rebase if they land while you work.