36 Commits

Author SHA1 Message Date
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
Craig Constable
d8d15dcdba v1.0.1
- Token auto-refresh - when the OAuth token is expired, the app uses the refresh token to get a new access token in-memory (no disk writes)

- Show '...' on error - any poll failure shows the refresh indicator instead of cryptic error text

- Exponential backoff retry - on failure, retries at 30s, 60s, 120s... up to the poll interval, then restores normal interval on success

- Countdown guard - the countdown timer no longer overwrites '...' with stale cached data during error state

- Cleaned up error handling - removed Display impl, error message formatting, extract_error_message, and simplified try_model to return Option<UsageData>
2026-02-27 07:12:00 +10:00
Craig Constable
a432004680 v1.0.0
Add taskbar widget for monitoring Claude Code API usage
v1.0.0
2026-02-26 22:33:22 +10:00