52 Commits

Author SHA1 Message Date
Craig Constable
b5f038dd39 v1.4.1
fix: correct widget drag state
v1.4.1
2026-05-13 08:25:13 +10:00
Craig Constable
4676f6f72e feat: Codex usage now available through the model menu
- Option to have both or a single model visible

- Tray icon for each visible model

- Coloured text in duel mode to assist in identifying which model
v1.4.0
2026-05-09 08:06:27 +10:00
Craig Constable
d54588bf6e v1.3.9
feat: check for other credential sources on permanent credential failure.
v1.3.9
2026-05-05 18:46:57 +10:00
Craig Constable
f2b378462d v1.3.8
fix: stop focus steal by ignoring tray location events from our own icon updates
v1.3.8
2026-05-05 09:38:36 +10:00
Craig Constable
ae9be6704a v1.3.7
feat: add Dutch localisation
v1.3.7
2026-05-04 16:39:11 +10:00
Craig Constable
63806d5421 v1.3.6
feat: enable proxy env support for ureq requests
v1.3.6
2026-05-01 10:42:07 +10:00
Craig Constable
35f945daa9 v1.3.5
fix: align usage percentage and tray icon numbers
v1.3.5
2026-04-20 09:18:01 +10:00
Craig Constable
17c63517ca v1.3.4
fix: pause usage polling on auth errors

- Show the same auth warning state for expired, invalid, or missing credentials

- Replace the widget auth text with a warning symbol and updated the toast notification

- Stop usage polling and countdown timers while auth is required

- Reuse the configured poll interval to watch credential file metadata instead of polling the API

- Auto-recover when credentials change, while still supporting manual refresh and restart flows

Updated translations
2026-04-19 15:36:20 +10:00
Craig Constable
b5ae662084 Merge pull request #15 from itskolbyk/fix/token-expired-notification 2026-04-19 13:55:46 +10:00
Craig Constable
3bc9be442e v1.3.3
feat: add Traditional Chinese localisation

- Thanks to @owovouo for the translation work in PR #13
2026-04-19 13:46:08 +10:00
Craig Constable
b0fcd92af4 v1.3.2
fix: resolve taskbar positioning deadlock

- Thanks to @owovouo and @aa333 for surfacing and working on this in PR #13 and PR #14
2026-04-19 12:58:50 +10:00
Kolby Kallweit
1d5c46fd99 fix: show balloon notification when OAuth token is fully expired 2026-04-18 11:41:56 -05:00
Craig Constable
a407f69453 v1.3.1
- Add Korean localization

- Localize 'Show Widget' label

- Thanks to @u-naro for the contribution in PR #9
v1.3.1
2026-04-07 16:36:52 +10:00
Craig Constable
b4801ff434 Merge pull request #9 from u-naro/feat/korean-localization 2026-04-07 16:26:59 +10:00
u_naro
a37d9632c2 feat: localize "Show Widget" and session/weekly window labels
- Add `show_widget` field to Strings struct and all 6 language files
- Replace hardcoded "Show Widget" in window.rs with strings.show_widget
- Translate session_window ("5시간") and weekly_window ("7일") for Korean

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 12:55:05 +09:00
u_naro
830f6f4c9b feat: add Korean (한국어) localization
Add Korean language support with full UI translations including
menu items, update messages, and time format suffixes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 12:46:56 +09:00
Craig Constable
643cc0a8b6 v1.3.0
- Added a native system tray icon that shows current 5-hour usage as a percentage badge.

- Added tray icon tooltip support showing both 5h and 7d countdown/usage values.

- Added tray icon interactions: left-click toggles the taskbar widget, right-click opens the context menu.

- Anchored widget to the bottom of the taskbar

- Added embedded app icon loading so tray fallback uses the app's own icon.

- Updated countdown timer logic to stop cases where 61m is shown

- Updated README.md
v1.3.0
2026-03-31 09:30:35 +10:00
Craig
1d8ec6cad0
Merge pull request #6 from usamaiqb/feature/tray-icon
- Added a native system tray icon with a live usage badge for the current 5-hour window.
- Left-clicking the tray icon now toggles the taskbar widget on and off.
- Right-click tray menu support now mirrors the widget menu, including refresh, startup, position reset, language, updates, and exit.
- The app now remembers whether the taskbar widget was hidden or visible between launches.
- Improved Windows app identity by using the proper app name and embedded icon metadata in shell surfaces.
- Refined tray icon styling and usage-state colouring for clearer at-a-glance monitoring.
2026-03-31 08:18:01 +10:00
Craig Constable
d52bfea21b Merge main into pr-6 2026-03-31 08:02:34 +10:00
Craig Constable
77bd36d3e0 Prepare 1.2.11 changes on pr-6 2026-03-31 08:00:25 +10:00
Craig Constable
ba84737ffb v1.2.10
- Anchor monitor to the bottom of the taskbar to help with any positioning issues
2026-03-30 12:46:14 +10:00
usamaiqb
40d3d1f7e1 misc 2026-03-28 12:46:02 +05:00
usamaiqb
451c205de4 update readme 2026-03-28 12:42:13 +05:00
usamaiqb
5587905329 source code 2026-03-27 17:19:33 +05:00
Craig Constable
7ef75f4c0b v1.2.9
- Improved vertical placement
v1.2.9
2026-03-27 22:01:49 +10:00
Craig Constable
65cf2b5d16 v1.2.8
- Fixed update process for portable vs WinGet installs
v1.2.8
2026-03-26 09:35:15 +10:00
Craig Constable
9c8f73cf69 v1.2.7
- Updated readme for WinGet support
2026-03-26 09:04:22 +10:00
Craig Constable
f527e82928 v1.2.6
- Added --diagnose parameter for troubleshooting startup issues
v1.2.6
2026-03-25 13:22:30 +10:00
Craig Constable
110ae4ac58 v1.2.5
- Added update dialog after manual check for updates when an update is found
2026-03-23 19:52:33 +10:00
Craig
81a26eaf61
v1.2.4
Merge pull request #4 from jacobdwyer16/fix/wsl-timeout
- Added timeout to WSL credential lookups
v1.2.4
2026-03-21 08:39:32 +10:00
Jacob Dwyer
e517eb948b add timeout to WSL credential lookups
wsl.exe -l -q can hang indefinitely on some systems (e.g. WSL
installed but not fully configured), which blocks the poll thread
forever and prevents any usage data from loading.

Adds a run_with_timeout helper (5s deadline) and uses it for both
list_wsl_distros and read_wsl_credentials. The refresh paths
already had timeouts — these two were missed.
2026-03-20 08:17:23 -05:00
Craig Constable
5e039fa7dc v1.2.3
- Updated README.md
2026-03-19 16:25:22 +10:00
Craig Constable
6d03532d50 v1.2.2
- Split localization into seperate files for easy management and contributions
2026-03-19 11:57:34 +10:00
Craig Constable
e28bc51ab1 v1.2.1
- Added WinGet support
2026-03-18 19:30:41 +10:00
Craig Constable
832e70fd72 v1.2.0
- Added check for updates and ability to self-update
v1.2.0
2026-03-18 14:53:30 +10:00
Craig Constable
d6ea143f05 v1.1.0
- Added Windows-aware UI localisation with language override
v1.1.0
2026-03-18 11:15:07 +10:00
Craig Constable
ec4177f7f6 v1.0.15
- Added support for WSL2
v1.0.15
2026-03-15 21:57:43 +10:00
Craig Constable
7960ae9218 v1.0.14
- Added metadata to help improve trust

- Updated file version handling to keep version information synced
v1.0.14
2026-03-15 09:56:53 +10:00
Craig Constable
50d656bd53 v1.0.13
- Fixed console window flash during refreshing token
v1.0.13
2026-03-15 08:45:06 +10:00
Craig Constable
97ca8f8468 v1.0.12
- Added support for Windows High DPI Scaling
v1.0.12
2026-03-11 15:35:10 +10:00
Craig Constable
4de95f0bde v1.0.11
- Hide the Claude CLI token refresh window so it does not flash on screen
v1.0.11
2026-03-07 16:13:34 +10:00
Craig Constable
a68f801812 v1.0.10
- Added an icon to the application
v1.0.10
2026-03-06 16:55:31 +10:00
Craig Constable
c8bd9683dd v1.0.9
- Fallback to previous method of retrieving usage details if failure occurs
2026-03-06 16:48:40 +10:00
Craig Constable
ad4467e814 v1.0.8
- Switched to using /api/oauth/usage thanks @Blimp-Labs

- Fixed versioning in app
v1.0.8
2026-03-05 17:25:43 +10:00
Craig Constable
55d3a88b16 v1.0.7
- Added ability to drag widget to desired position

- Using C:\Users\CraigConstable\AppData\Roaming\ClaudeCodeUsageMonitor\settings.json to store position and update frequency

- Updated README.md
v1.0.7
2026-03-05 09:01:31 +10:00
Craig Constable
9941c9a46d v1.0.6
- Added new function to find the claude CLI

- Using `claude -p .` to force OAuth refresh as `claude auth status` did not work

- Fixed handling of 'Start with Windows'

- Widened text display to fit values like '80% . 44m' (thank you @wangsu)
2026-03-05 08:22:59 +10:00
Craig Constable
fcad7fb848 v1.0.5
- Removed custom OAuth token refresh logic that was inadvertently invalidating Claude Code's refresh token via token rotation

- Removed hardcoded OAuth constants (token URL, client ID, scopes) no longer needed

- Removed in-memory token cache (CachedTokens, TOKEN_CACHE) no longer needed

- Delegate token refresh to the Claude CLI (claude auth status) so it manages its own credentials and writes updated tokens to disk

- Re-read credentials file after CLI refresh to pick up the fresh access token

- Simplified Credentials struct by removing unused refresh_token field
v1.0.5
2026-03-01 14:53:27 +10:00
Craig Constable
6a3275517e v1.0.4
- Cache refreshed OAuth tokens in memory to survive across poll cycles
2026-03-01 14:41:29 +10:00
Craig Constable
187d12250c v1.0.3
- Adjusted row spacing - changed from 5px/7px/8px (top/gap/bottom) to 5px/10px/5px for even vertical centering
v1.0.3
2026-02-27 08:04:29 +10:00
Craig Constable
266b8d5fb5 v1.0.2
- Seconds countdown below 61s - shows 1m at 61s, then 60, 59... 0 counting down each second, then now when reset time passes

- Fast polling at reset - when either timer shows now, polls the API every 5s to pick up fresh rate limit data

- Auto-restores normal polling - stops the 5s fast poll as soon as fresh data comes back with a new reset time
2026-02-27 07:56:00 +10:00