fix(dashboard): expected-vs-actual card reshape + grid spacing + inspect close button (#817) - #824
Merged
Merged
Conversation
…nero+XvB, no scrolling (#817) Operator feedback on the live card: - ONE shared trailing 30d window for every row — 7d-beside-30d read as inconsistent. Metrics drops the now-unconsumed p2pool_7d. - Monero and XvB become ONE combined row on BOTH sides: an XvB win pays out through ordinary payouts the payout table cannot attribute, so the confirmed actual always contains win XMR — a P2Pool-only expectation overshoots on every winning box. Expected now folds XvB's published per-day estimate (x30, only when fresh; includes_xvb drives the label), and pct compares like with like. The wins row keeps only its count + recency; its XMR lives in the combined row. - The card never scrolls in either view: the est-scroll wrapper is gone, and the table wraps via eva-table (table-layout fixed, because WebKit's auto layout ignores overflow-wrap in min-content sizing and overflowed anyway — caught in the live harness). - Grid-wide: .grid { align-items: start } — every short card previously stretched to its row's tallest neighbour, rendering mostly-empty bordered boxes across the Advanced grid. Verified in the running frontend at 1400px and 375px: no card overflow, no body scroll, cards hug content. Closes #817 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… header always used The header markup (flex items-center justify-between) predates this fix, but the utility class was never defined in dashboard.css — the flex row packed left and the close button sat beside the title instead of the top-right corner. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ld (#817) Verifier findings on the combined row: xvb_day is upstream-published — a hostile/corrupt negative dragged the combined expectation toward (or past) zero while 'available' stayed True, inverting pct or zeroing the denominator. It now folds as 0 (a negative estimate is meaningless) and the label honestly stays P2Pool-only. Tests: the negative-fold guard, plus the frontend assertion that the scroll wrapper stays gone (scoped to the card's own markup). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Operator feedback on the live v1.16.0 dashboard, three fixes:
One 30d window, combined Monero+XvB (#817)
Metrics.p2pool_7dis dropped — unconsumed after the switch.includes_xvbdrives the "Monero + XvB (30d)" vs "Monero (30d)" label; nothing is fabricated when the estimate is stale). The wins row keeps count + recency only.No scrolling, honest spacing
eva-table:table-layout: fixed, because WebKit's auto layout ignores overflow-wrap in min-content sizing and overflowed anyway — caught live in the harness, verified at 1400px and 375px: no card overflow, no body scroll).align-items: start: short cards previously stretched to their row's tallest neighbour, rendering mostly-empty bordered boxes across the Advanced grid.Worker Inspect close button
The header always carried
class="flex items-center justify-between"— but.justify-betweenwas never defined in dashboard.css, so the row packed left and the ✕ sat beside the title. The utility now exists; the button lands top-right.Coverage
TestEarningsVsActualreworked for the combined shape (fold math, includes_xvb both off-paths, 30d partial propagation); frontend card tests assert the combined/plain labels, the wins row carrying no XMR figure, andeva-tablepresence; fixture regenerated (drift guard green). Dashboard 1640 pass / 96.9% / patch 100%; frontend suite green;make lintclean.Docs: dashboard.md card section rewritten for the combined row; testing-strategy row updated.
Closes #817
🤖 Generated with Claude Code