Conversation
…zation - Trigger JSONL re-parse when usage data is updated to keep token counts and utilization percentages consistent - Fix UsageWindow.resets_at deserialization failure when API returns null (was breaking the entire UsageReport for max subscriptions) - Align gradient bars with fixed-width label padding Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Resolve conflicts by combining both usage tracking (UsagePoller, rate tracking) and update notification (version check, banner) features. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ting Add detailed token tracking that separates input and output tokens in the rate limiting display. This includes: - New `tokens_in_window_split()` method to return separate input/output totals - New `daily_input_output_for_root()` method for per-day token breakdown - Split `DayBar` to track input and output tokens separately - Updated rendering to show stacked bars with input (lighter) on top and output (darker) on bottom, with distinct colors for each bar type - Smart token splitting that uses actual ratios when available, falling back to 50/50 split Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Automatic formatting changes from cargo fmt including consistent indentation, line wrapping, and alphabetical import organization.
- Use #[derive(Default)] for UsageStats instead of manual impl - Change &PathBuf to &Path in function signatures (idiomatic style) - Collapse nested if-let chains using && operator - Replace .min(30).max(1) with .clamp(1, 30) - Use .is_multiple_of(2) instead of % 2 == 0 - Use .div_ceil() for ceiling division - Use range.contains() instead of manual bounds check - Add #[allow(dead_code)] for fields used in future functionality - Add #[allow(too_many_arguments)] on render function
- Shift the last time label left when it would be cut off by the chart boundary - Skip date labels when bars are too narrow to avoid overlapping text - Use div_ceil for more idiomatic ceiling division Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
feat: add rate limit tracking view with usage monitoring
Replace cloning references before passing to slice constructors with std::slice::from_ref, which is more idiomatic and avoids unnecessary allocations in test code. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Do not carry over cached usage when a credential has expired, since the poller stops fetching expired tokens and stale data would incorrectly render an invalid session as 'live'.
Change merge_fresh_hits to use asymmetric merging: when a fresh hit collides with an existing entry, keep the richer value on each field. This prevents data loss when a fresh scan can no longer compute per_model or session_duration_min (e.g. source JSONL rotated out). Also removes unused HashSet import.
Add a new blinking_dot_span helper function that creates animated visual indicators for status elements. The dot blinks at regular intervals based on the tick counter, providing visual feedback for active monitoring. - Add blinking_dot_span function in helpers.rs - Use blinking dot in live_summary status display - Use blinking dot in session_forecast status display - Pass tick parameter through render function chain Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
refactor: improve usage tracking and rate limit management
Add comprehensive documentation for the new rate tracking view: - New feature section with credential cards, forecast, timeline, and overages - Backtick keybinding for toggling between dashboard and rate tracking - Updated keybindings table with rate tracking navigation - Updated project structure to reflect new modules - Warning about chat-only tokens not being tracked - Note about persistent rate history storage Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Complete documentation for the new rate limit tracking view added in the rate tracking feature branch. This adds a new view (accessible via backtick) that monitors Claude OAuth credentials and shows real-time rate limit utilization.
Changes
rate-tracking.pngscreenshot assetTest plan
🤖 Generated with Claude Code