Skip to content

codex window ids, rubric mark, live menu, honest chart - #36

Open
DexterStorey wants to merge 3 commits into
mainfrom
app-charts-mark
Open

DexterStorey wants to merge 3 commits into
mainfrom
app-charts-mark

Conversation

@DexterStorey

Copy link
Copy Markdown
Contributor

Three fixes from using the app.

Codex windows are named by their length, not their slot. Codex reports windows as primary/secondary, and the slot doesn't mean a length: a Pro account's only window, 7 days, is primary, and so is a Plus account's 5-hour window. Both the usage probe and the response headers now name each window <feature>:<minutes>m (codex:300m, codex:10080m), so every account's 7-day window is the same window. That fixes "Show the 7d limit" appearing twice in settings, in both the app and the terminal dashboard. It also stops hiding the 7-day limit from silently hiding another account's 5-hour one, since hidden windows are stored by id. I checked this read-only against two real accounts: Plus gives codex:300m, codex:10080m and Pro gives codex:10080m. Any previously hidden codex window shows again once, because its old id no longer matches.

The menu bar:

  • The menu no longer closes on its own. Every poll swapped in a new menu, and the "…/h now" line changes nearly every poll, so an open menu was dismissed from under the pointer. The menu now patches its items in place (set_text/set_icon). It's rebuilt only when its structure changes, such as an account being added or removed or two accounts swapping order.
  • The mark is on Rubric's grid: a 5×5 tile with a one-cell ring around a 3×3 rising staircase, monochrome, with no other padding. The menu bar template cuts the staircase out of the tile with cell edges snapped to whole pixels, and the app icon is the same mark with white on #0b0d10.

The throughput chart is drawn by the app. GPUI Kit's AreaChart printed the hover value as a raw float (977834521) titled with the axis label, hardcoded dashed gridlines, and had no y-axis values. Its spline and the old 48-point peak resampling also drew plateaus, slopes across empty time, and a dip below zero. The new chart:

  • plots all 120 buckets as steps at their rate per hour, so its peak equals the "Peak per hour" tile;
  • uses solid hairline gridlines with clean y-axis values and local clock times along the bottom;
  • on hover, highlights the bucket and shows a card with the rate in front ("823.4M/h") and the bucket's tokens and time span behind it ("164.7M tokens · 2:24 – 2:36 PM").

Verified: 155 TypeScript tests on Bun 1.2.20 and 1.4.2, and 13 Rust tests, including new ones for the menu's patch-or-rebuild rule and the probe's window id. The menu bar mark and pressure dots were rendered and checked by eye.

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

try this branch: bun add -g tokenmaxx@0.0.79-alpha.112

@rubrot

rubrot Bot commented Oct 2, 2026

Copy link
Copy Markdown

@greptileai review

1 similar comment
@rubrot

rubrot Bot commented Oct 2, 2026

Copy link
Copy Markdown

@greptileai review

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