codeburn/mac/Sources/CodeBurnMenubar
Resham Joshi dbe4e94322
fix(menubar): keep cost budget in USD and flag empty custom budget (#508)
Two follow-ups from the budget review:

- Currency consistency: the daily cost budget is defined in USD (the presets and
  the custom field are labeled "$"), but the "exceeded" banner ran the value
  through the display-currency rate, so a non-USD user saw the field and banner
  disagree (e.g. field "$100", banner "EUR 92"). Render the budget label in USD
  via a new asUSD() helper so the picker, field, and banner all agree. The
  over-budget comparison was already USD vs USD and is unchanged.

- Empty custom cue: selecting "Custom..." and leaving the field blank stores 0,
  which silently disables the alert while the picker still shows "Custom...".
  The help text now says "Enter an amount above, or the alert stays off." in
  that state so it does not look armed when it isn't.
2026-06-18 13:30:58 +02:00
..
Data fix(menubar): read Claude keychain via security CLI on silent refresh (#490) (#491) 2026-06-14 10:31:56 +02:00
Security feat(menubar): refresh via headless app binary instead of node script 2026-05-30 13:05:48 -07:00
Theme Harden menubar: fix refresh loop, concurrency, data sync, and edge cases 2026-05-01 08:01:25 -07:00
Views fix(menubar): keep cost budget in USD and flag empty custom budget (#508) 2026-06-18 13:30:58 +02:00
AppStore.swift fix(menubar): keep cost budget in USD and flag empty custom budget (#508) 2026-06-18 13:30:58 +02:00
AppVersion.swift Normalize menubar version display 2026-05-11 11:21:39 -07:00
CodeBurnApp.swift fix(menubar): track isOverDailyBudget so the flame re-tints on budget crossings (#507) 2026-06-18 13:23:57 +02:00
CurrencyState.swift feat: add devin provider (#444) 2026-06-09 21:58:31 +02:00