fix usage dashboard reconcile and responsiveness#1
Merged
cosmiclasagnadev merged 2 commits intomainfrom Apr 8, 2026
Merged
Conversation
Make usage aggregation rebuild session data atomically and move dashboard persistence and view work off the hot path so navigation stays responsive while refreshing history. Made-with: Cursor
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit e9110ef. Configure here.
Made-with: Cursor
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.

Make usage aggregation rebuild session data atomically and move dashboard persistence and view work off the hot path so navigation stays responsive while refreshing history.
Note
Medium Risk
Touches core aggregation/reconciliation paths and changes when events trigger recompute, which could impact correctness of counts or freshness if edge cases were missed, but scope is limited to the usage dashboard plugin.
Overview
Usage aggregation is refactored to be atomic and less error-prone.
putMsg/putTool/putSessnow write into an explicitAgginstance (no globalseensignatures), tool aggregation ignores non-terminal updates, and reconciliation rebuilds a session’s buckets into a fresh aggregate and then swaps them in to avoid double-counting/stacking.Dashboard responsiveness is improved via caching and lifecycle cleanup. Adds bounded memoization for computed flats/rows/active-session counts keyed by
store.rev, clears these caches on seed/reconcile, persists view prefs asynchronously on exit, and simplifies plugin event handling to just schedule reconciles; also resets state on plugin dispose.Adds test coverage for aggregation and reconcile/seed failure behavior, updates README install instructions, and bumps version to
1.0.2.Reviewed by Cursor Bugbot for commit 2362c32. Bugbot is set up for automated code reviews on this repo. Configure here.