feat: CrossUsage 1.1.0 Insights Plus#5
Merged
barramee27 merged 2 commits intoJun 7, 2026
Merged
Conversation
….6.27 port Ship local usage insights, history export/API, separate Cursor Nightly provider, GUI billing stats, and OpenUsage v0.6.27 fixes. Bump app version to 1.1.0. Co-authored-by: Cursor <cursoragent@cursor.com>
notify-rust links against dbus-1 on Linux; CI runners lack the dev package. Co-authored-by: Cursor <cursoragent@cursor.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
CrossUsage 1.1.0 (“Insights Plus”) — local-only usage intelligence on top of probe + history data, plus Cursor Nightly as a separate provider, A–Z provider sorting, and ports from OpenUsage v0.6.27.
Version bump:
package.json+src-tauri/tauri.conf.json→ 1.1.0CHANGELOG:
CHANGELOG.md## 1.1.0section documents everything below (lands with this PR).What we added
1. Usage insights banner (home panel)
src/components/usage-insights-banner.tsxsrc/lib/usage-insights.ts,src/lib/primary-progress-line.tssrc/lib/insight-dismiss.ts); split token vs cost deltasusage_daily(src/lib/usage-daily-sparkline.ts)src/hooks/use-weekly-rollup.ts,src/lib/weekly-rollup.ts)2. History persistence + export + local API
src/hooks/use-persist-usage-history.ts— writes quota snapshots + daily token rows locallysrc/lib/history-export.ts)@tauri-apps/plugin-dialog; UTF-8 BOM; billing USD columns viacursor_billingingestsrc-tauri/capabilities/default.json:fs:allow-write-text-file,fs:allow-home-write-recursive,dialog:allow-openGET /v1/history/quota,GET /v1/history/daily(Rust handlers + docs indocs/)src/lib/history-export.test.ts, API tests insrc-tauri3. Cursor billing / usage stats in GUI
src/components/cursor-usage-stats-panel.tsxon provider detailcrates/crossusage-core/src/cursor_usage_export.rs— MTD totals, usage-stats table, billing ingestcrossusage-cli usage-stats/ billing paths4. Spend spike alert (opt-in)
src/hooks/use-spend-spike-alert.tssrc/stores/app-preferences-store.ts5. Cursor Nightly — separate provider
plugins/cursor-nightly/(plugin.json,plugin.js,icon.png)crates/crossusage-core/src/cursor_paths.rs— Stable vs Nightly DB paths (~/.config/Cursorvs~/.config/Cursor Nightlyon Linux)plugins/cursor/plugin.jsuses__OPENUSAGE_PLUGIN_REGISTRATION_ID__;copy-bundled.cjsgenerates nightly bundle from cursorsrc/pages/provider-detail.tsxtreatscursor-nightlyas Cursor familysrc/components/provider-icon.tsx+src/lib/provider-icon-url.ts— raster PNG icons as<img>(not CSS mask);manifest.rssupportsimage/pngdata URLs; brand color#E85D3AcursorinDEFAULT_ENABLED_PLUGINS; enable Nightly in Settings6. Provider list A–Z
sortPluginOrderAlphabetically()insrc/lib/settings.ts, applied innormalizePluginSettings()src/lib/settings.test.tsupdated7. Linux
.debdependencies (folder picker + export)Added to
src-tauri/tauri.conf.jsondeb Depends:libgtk-3-0xdg-desktop-portalxdg-desktop-portal-gtk | xdg-desktop-portal-gnome | xdg-desktop-portal-cosmic8. Ports from OpenUsage v0.6.27
plugins/devin/plugin.js+ tests)src-tauri/src/panel.rs)readGenericPassword(service)(host_api.rs+ test)plugin_engine/mod.rs+ tests)serial_test3.5 insrc-tauri/Cargo.toml+crossusage-coredev-deps9. CLI fix
fetch_cursor_month_to_date_totals→fetch_cursor_month_to_date_totals_for_pluginincrates/crossusage-cli/(plugin-id aware for Stable vs Nightly)10. Docs + README
CHANGELOG.md— full## 1.1.0sectionREADME.md— Insights Plus, Cursor Nightly, history API/exportdocs/— local API endpoints for historyFiles changed (high level)
71 files, +5869 / −857 lines
New Rust:
cursor_paths.rs,cursor_usage_export.rsNew plugin:
plugins/cursor-nightly/New frontend: insights banner, cursor usage panel, provider icon, history export, weekly rollup, spike alert hooks/libs + tests
Touched:
src-tauri(capabilities, deb deps, history API, manifest PNG, panel, host_api, plugin engine),plugins/cursor,plugins/devin, settings pages, app preferences storeNot in this PR: release binaries (
.exe,.deb, AppImage,releases/*), local keys (.tauri/), junk untracked files.Test plan
bun run test— 1346+ passedcargo test -p crossusage-core cursor_— cursor paths + exportplugins/devin/plugin.test.js— 18/18 (Devin Next auth).debbuild:crossusage_1.1.0_amd64.deb(updater signing may fail without private key; deb still produced)~/.config/Cursor NightlypathGET /v1/history/quota+/dailyon local API portAfter merge
v1.1.0and GitHub Release when approved (not in this PR)..deb/ Windows onefile as needed.cursor-nightlyplugin into app data if not bundled in updater path.Made with Cursor