Skip to content

release: v1.16.1 - #834

Merged
VijitSingh97 merged 11 commits into
mainfrom
develop
Aug 2, 2026
Merged

release: v1.16.1#834
VijitSingh97 merged 11 commits into
mainfrom
develop

Conversation

@VijitSingh97

Copy link
Copy Markdown
Collaborator

Promote develop to main for the v1.16.1 release (tag published; tag commit == develop tip).

🤖 Generated with Claude Code

VijitSingh97 and others added 11 commits August 1, 2026 12:55
chore: back-merge main into develop after v1.16.0
…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>
fix(dashboard): expected-vs-actual card reshape + grid spacing + inspect close button (#817)
…eactivation

Two stack-tier hardenings for the merged profile-deactivation fix:

- test_compose.sh: enumerate every profile-gated service from
  docker-compose.yml (--profile '*') and diff against the service<->profile
  map parsed out of remove_deactivated_profile_containers in the pithead
  script. A new profile-gated service, a renamed profile, or a stale map
  entry now fails CI until both sides agree — same pattern as the
  depends_on count guard.
- run.sh: black-box tari remote->local reverse switch through apply against
  the stubs. Asserts the reconcile removes only the still-off profiles
  (no tari in the rm list), the recreate up follows the reconcile, and
  local_tari is back in the committed profile list so that up brings the
  container up again.

Closes #822

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…p-guards

test: profile-map drift guard + reverse-switch coverage for profile deactivation (#822)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
chore(release): v1.16.1 prep — version bump + changelog
Two consecutive rc/v1.16.1 targeted runs failed 'stratum total hashes
> 0' in a DIFFERENT scenario each time: between scenarios the bench
stratum bounces, a real rig fails over to its secondary pool and
returns on xmrig's own retry clock (~60-90s) — a single early sample
reads 0 on a rig that is genuinely mining a minute later (miner-1's
journal shows the refused-connect -> prod-failover -> return cycle).
The assertion now waits up to 180s for hashes to accumulate, then
re-fetches the state snapshot so it and the steps after it read
post-wait figures. A rig that never returns still fails — the
assertion stops racing the retry clock, it does not stop asserting.

Closes #831

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…wait

test(e2e): bounded wait before the stratum-hashes assertion
@VijitSingh97
VijitSingh97 merged commit 7b7946a into main Aug 2, 2026
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant