Skip to content

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 14 Oct 14:39
· 13 commits to main since this release

The menu bar app: every way in shows

Two of the popover's ways in did not look like ways in: the menu opened only from the status dot, and the Team window from a ⤢ at the top of Usage. Now each has a button of its own.

  • Team. A button named Team, with its symbol, sits beside the popover's tabs, in place of the ⤢ in Usage, and opens the Team window. ⌘D and Team Window… in the menu still open it too. With only this Mac there is no team, and no button. See the popover's header.
  • The menu's button. The header ends in the status dot with the report's age, ↻, which collects now, and ⋯ with a chevron, which opens the menu as a pull-down in a Mac toolbar does. A click on the dot still opens it too.
  • The menu, in sections. Its items are under headers, each action with its symbol: Status, a colored dot for the collection, the relay, and the update, and this Mac with the team's size; Actions, Collect Now and Team Window…; Open in Terminal, the report, the device status view, and every project; and AI Usage, Settings and Quit. The shortcuts, ⌘R, ⌘D, ⌘,, and ⌘Q, also work while the popover is open. A chip about the collector opens the menu with the chip's messages first, under Attention, at most 8 lines of them. See the menu.
  • About, said once. Settings' About names the app and its version once, beside Check for Updates, and says where the command-line tool is. It names the tool's release only when it is another one, "Command-line tool v0.5.1: updates with Check for Updates", or says the tool is not found. See Settings.

The README's Menu bar app has these pictures, in dark and light.

Forecasts: a day's pace, and no run-out nobody saw

AT RESET, the OVER lines of ATTENTION, and the menu bar app's countdowns all come from each window's forecast: its reading plus its pace times the hours to its reset. Three things in it read wrong.

  • A day at least. A window a day long or longer, such as the weekly one, now measures its average pace over a day at least, where it was a tenth of the window, 16.8 hours in a week. A burst in the first hours of a week, as when a provider resets the week early for everyone, no longer reads as the pace of the week. Until its first day has passed, a weekly window shows a forecast only when it is over already. A 5-hour window still measures over a tenth of it, half an hour.
  • The last day's pace. The recent pace is now what the readings gained since the newest one a day old, over the hours between them, in place of the least-squares slope of the last day's readings. A burst and then a quiet afternoon reads as what it added over the day, not as the pace of the burst. Steady readings give the same forecast as before.
  • Would run out. A run-out time comes from the newest reading, which can be a day old when nobody uses the subscription. Once that time passed, ATTENTION said the window "ran out", though nobody had spent on it since and nothing said it did. Now, when the run-out time has passed with nobody on the team spending on the subscription since, the forecast is stopped: ATTENTION says the window would run out then, at that pace, with the reading's age, and lists it after the windows that still run out. A window at 100% is out either way.
 OVER     codex sam@mail.test  runs out ~Sat 03:01 at the last day's pace, 2d 17h before reset
 OVER     claude ann@acme.dev  would run out ~Mon 22:30 at this week's pace, 3d 13h before reset · reading 1d old
  • In the menu bar app. The first line says the same, "Claude mira · Fable would run out ~Thu 05:18", with "reading 1d 12h old" under it. The subscription's row counts down to its reset, where it said "↘ ran out", and the line under it says the window "would run out ~Thu 05:18"; its details add the reading's age. When another window of the account still runs out, the row shows that one. The app sends no notification for a stopped window. See the alerts, with the demo team's forecasts at the new pace.
  • JSON. A window's forecast has stopped, true when its runs_out_at has passed with nobody on the team spending on the account since, by the account's last_active_at, and absent when false. Its over entry in attention says "would run out" in its text, and has reading_age_seconds however old the reading is. recent in basis is still the last day's pace, now measured as the readings' gain. ai-usage report --from fills in stopped for a report saved without it. The schema version stays 4. See docs/json-schema.md.

Compatibility and upgrade

What to do. Nothing. Releases from v0.2.5 on install v0.6.1 within 15 minutes, and on a Mac the menu bar app updates with the binary and restarts into it.

What changed. The report's forecasts, its ATTENTION, the JSON's stopped, and the menu bar app. The snapshot and the relay are as in v0.6.0. Each device works out the forecasts from the readings the team already shares, so teammates need not update for this, whatever release they run. Until a teammate updates, its own report forecasts as v0.6.0 did, so its AT RESET for a weekly window early in its week, or after a burst, can differ from yours.

macOS 27. As in v0.6.0, an update that a run you start installs, such as ai-usage update or the app's Check for Updates, costs no scheduled run. One that a scheduled run installs costs the next scheduled run, which any ai-usage you start, or the app's next read of the report, makes up.

State. Nothing changes in the state folder or the snapshot, and the app keeps its settings.

Known limitations

  • A menu bar app from v0.6.0 that reads a v0.6.1 report still says a stopped window "ran out", in its first line and its row, and can send a notification that it ran out, until it updates: for the moment between the binary's update and the app's, or, when the app's update fails to install, until it is downloaded again 6 hours later. Its alerts already show the report's words, "would run out".
  • Stopped goes by when the team last spent on the account. Spend from outside the team, such as on the web or on a machine without ai-usage, does not count, so a window filled from outside can read as one that would run out until a new reading says it is out. Its line keeps the reading's age.
  • In its first day, a weekly window shows no forecast unless it is over already, where it showed one after 16.8 hours.
  • The macOS 27 limitations of v0.5.1 stand: after a scheduled run installs a release, launchd still refuses the next scheduled run, and a run you start, or the app's next read of the report, makes it up.

What's Changed

  • App: a visible Team button and menu, and one version in About by @neoromantic in #17
  • Forecast: a day's floor, endpoint pace, and no 'ran out' on a stale reading by @neoromantic in #19

Full Changelog: v0.6.0...v0.6.1