Skip to content

feat: add macOS menu-bar status applet - #43

Merged
mm65x merged 10 commits into
developfrom
codex/issue-26-macos-applet
Aug 12, 2026
Merged

mm65x merged 10 commits into
developfrom
codex/issue-26-macos-applet

Conversation

@mm65x

@mm65x mm65x commented Aug 11, 2026 •

Copy link
Copy Markdown
Owner

Summary

Implements the Phase 1 local macOS menu-bar client described in #26. The client consumes only the versioned tokemon status --json --offline interface and keeps parsing, pricing, aggregation, and discovery in the CLI.

Delivered

  • Reports actual pricing availability in status JSON so unavailable cost is not mistaken for zero.
  • Adds a macOS 13+ Swift package with an accessory MenuBarExtra executable.
  • Invokes the configured executable directly with bounded stdout/stderr capture, a five-second timeout, and explicit launch, exit, encoding, and schema errors.
  • Supports UTC today, ISO week, month, and all-time scopes.
  • Persists executable path, metric, scope, and refresh interval preferences with safe defaults.
  • Runs refreshes away from the UI, limits concurrent refreshes, and preserves the last successful result after failures.
  • Shows tokens, cost, combined metrics, provider count, refresh time, empty/error/stale/unavailable states, manual refresh, dashboard launch, preferences, and quit.
  • Adds contract, runner, query, preference, state, and UI-adjacent tests and a macOS Swift CI job.
  • Documents local build, user-local install/removal, configuration, scope semantics, offline pricing, and troubleshooting.

Verification

  • cargo fmt -- --check
  • cargo test
  • cargo clippy -- -W clippy::pedantic -A clippy::module_name_repetitions
  • cargo build --release
  • swift test (21 tests)
  • swift build -c release
  • GitHub CI is green for formatting, clippy, Linux/macOS/Windows Rust tests, and the macOS menu-bar package.

Out of scope

Signing, notarization, packaging/distribution, launch-at-login, notifications, provider toggles, accounts, credentials, telemetry, and network services remain follow-up work outside this local alpha.

Relates to #26.

@mm65x
mm65x marked this pull request as ready for review August 12, 2026 08:41
@mm65x
mm65x merged commit e14f6be into develop Aug 12, 2026
6 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