Skip to content

2026.10.33: Overview polish; failed and unpriced requests move to notices - #386

Merged
fylorn merged 2 commits into
devfrom
feat/overview-polish
Oct 29, 2026
Merged

fylorn merged 2 commits into
devfrom
feat/overview-polish

Conversation

@fylorn

@fylorn fylorn commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Follow-up to #384.

Usage chart

  • No more bars. Tokens, cost, requests and traffic are monotone lines with a wash; the second part (failures, download) is a thin line. The slot still in progress joins with a dashed segment.
  • The y axis picks four or five steps, whichever tops out lower (a 3.9M peak now reads 0–5M instead of 0–8M), and axis labels drop the trailing .0.
  • Slots older than the first request record (UsageHistory.detail_since_ms) get a faint "not recorded" band instead of being drawn as zero.
  • The card border no longer switches to the brand gradient while the chart is hovered; brand-border and the unused brand-edge utilities are removed.
  • Tiles leave the change line empty when the prior period has no records (instead of six lone dashes). Tooltip rows without a line key are no longer indented.

Scrolling

  • The overview body is no longer remounted per range. In WebKit the remount reset the page's scroll container to the top on every range change, including clicking a day on the heatmap.
  • Clicking a heatmap day keeps the heatmap under the pointer: the scroll position is corrected after the new range renders, and the page end is padded if it got shorter (until the next range change).

Layout

  • Past year: cells mixed from --data-1 (never brighter than it), totals one level down (new tw-figure, 20px), days before recording are faint solid cells instead of dashed boxes.
  • Distribution has its title and a slim meter per row instead of the row-wide wash; its total follows the list. Breakdown sits in a titled card. All cards share a 16px inset (spec added to src/ui/README.md).
  • Distribution and Breakdown share one model / upstream / key choice.
  • The overview opens on 24 hours when no range has been chosen yet.

Notices instead of the attention strip

  • The "needs attention" strip at the top of the overview is removed. A cut-off tool call and an unavailable upstream were already notices; failed requests (except aborts) and unpriced models are new notices, in-app only.
  • Failures are gathered under one notice that opens Traffic filtered to failed requests (new view requests:failed).
  • Each unpriced model is one notice that opens Upstreams. It is reconciled from /pricing: on connect, after dropped events, and when a request is left without a price (at most once a minute).

Release

  • Version 2026.10.33 and release-notes/2026.10.33.md.
  • Overview screenshots re-shot (pnpm shots --only overview); the menu bar shots it redraws follow the current menu. README alt text updated.

Formatting

  • compact() writes billions as B with three significant figures (1.81B).

Checked: pnpm typecheck, pnpm test, vite build, cargo fmt --check, cargo clippy --all-targets -D warnings, notice tests; scroll behaviour measured in a system WKWebView against the preview harness (range switch keeps the scroll position; a heatmap click keeps the heatmap at the same viewport position).

🤖 Generated with Claude Code

fylorn and others added 2 commits October 29, 2026 14:23
… layout

- Usage chart: no more bars. Tokens, cost, requests and traffic are monotone lines with a
  wash (the second part, failures or download, is a thin line); the slot still in progress
  joins with a dashed segment. The axis picks four or five steps, whichever tops out lower
  (3.9M now reads 0-5M, not 0-8M), and drops the trailing ".0". Slots older than the first
  request record get a faint "not recorded" band instead of zeros.
- The overview body is no longer remounted per range: in WebKit that reset the page to the
  top on every range change, including clicking a day on the heatmap. Clicking a day now
  keeps the heatmap under the pointer, padding the page end if it got shorter.
- The usage card no longer lights up with the brand border on hover (brand-border and the
  unused brand-edge utilities are gone). Tiles leave the change line empty when the prior
  period has no records. Tooltip rows without a line key are not indented.
- Past year: calmer cells mixed from --data-1, totals one level down (new tw-figure, 20px),
  days before recording are faint solid cells instead of dashed boxes.
- Distribution gets its title and a slim meter per row instead of the row-wide wash; its
  total follows the list. Breakdown sits in a titled card. All cards share a 16px inset.
  Distribution and Breakdown share one model/upstream/key choice.
- compact() writes billions as B with three significant figures (1.81B).
- The overview opens on 24 hours when no range has been chosen yet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ew; 2026.10.33

- The "needs attention" strip at the top of the overview is gone. Its four kinds live in
  the notices: a cut-off tool call and an unavailable upstream already were; failed
  requests (except aborts) and unpriced models are new, in-app only. Failures are gathered
  under one notice that opens Traffic filtered to failed requests (view
  `requests:failed`); each unpriced model is one notice that opens Upstreams and is
  reconciled from `/pricing`, which is asked when a request is left without a price
  (at most once a minute) and on every reconcile.
- Overview screenshots re-shot for the new layout (the menu bar shots follow the current
  menu); README alt text updated.
- Version 2026.10.33 and its release notes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fylorn fylorn changed the title Overview polish: area charts, heatmap click keeps its place, one card layout 2026.10.33: Overview polish; failed and unpriced requests move to notices Oct 29, 2026
@fylorn
fylorn merged commit 28d2665 into dev Oct 29, 2026
6 checks passed
@fylorn
fylorn deleted the feat/overview-polish branch October 29, 2026 06:52
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant