docs: plan the usage-monitor rename and sync the Tauri port plan status

The rename is decided, so it moves from ROADMAP.md to its own plan. The port
plan now marks phases whose code is done but await manual checks or user
actions as in-progress, and records the Windows autostart and update-apply
deviations.
This commit is contained in:
tiennm99 committed 2026-10-21 19:10:54 +07:00
1 parent 1afb0f6981
commit c7ddf71797
5 files changed
+61 -18

No files matched your search

-4
View File
@@ -11,7 +11,3 @@ current Tauri port.
app is not notarized.
- **Wayland-native positioning.** Position, snap and keep the bubble on top
under native Wayland. Today these work only through Xwayland.
- **Repository and product rename.** A new name to replace
"claude-code-usage-bubble" is under discussion. Any rename must keep the
legacy update asset names and the GitHub redirects working, so that installed
copies can still find and download updates.
@@ -1,7 +1,7 @@
---
phase: 1
title: "Scaffold Tauri crate, JS toolchain and CI"
status: completed
status: in-progress
priority: P1
effort: "5h"
dependencies: []
@@ -1,7 +1,7 @@
---
phase: 4
title: "App runtime: state, scheduler, CLI, single instance"
status: completed
status: in-progress
priority: P1
effort: "5h"
dependencies: [3]
+16 -12
View File
@@ -3,7 +3,7 @@ title: Port the usage bubble to Tauri v2
description: >-
Rebuild the Win32 bubble, panel, tray and updater on Tauri v2 with a plain
HTML/CSS/SVG/JS UI, keeping Windows parity, running on Linux x86_64 and cfg-gating macOS.
status: pending
status: in-progress
priority: P1
effort: 51h
branch: feat/tauri-port
@@ -23,8 +23,10 @@ The app runs on Tauri v2. Windows behaves the same as v0.5.0, and existing
v0.4.0+ users self-update into the Tauri build without losing settings or
autostart. Linux x86_64 builds and runs (X11 full, Wayland best-effort). macOS
compiles behind cfg-gated stubs so it can be finished later. Linux ARM64, a macOS
build, Wayland-native positioning and a rename are later work in the root
`ROADMAP.md`, not part of this plan.
build and Wayland-native positioning are later work in the root `ROADMAP.md`.
The rename to `usage-monitor` follows in its own plan,
[261021-1226-rename-to-usage-monitor](../261021-1226-rename-to-usage-monitor/plan.md).
None of these is part of this plan.
## Stack (approved)
@@ -91,6 +93,8 @@ build, Wayland-native positioning and a rename are later work in the root
9. Windows file properties now show the real version instead of the stale `0.1.0` (`res/icon.rc`).
10. Fonts: Segoe UI stays first in the stack. Linux and macOS fall back to `system-ui`, so text metrics differ there.
11. The app refuses to start without the WebView2 runtime and shows a message box with the download link instead (Phase 04).
12. Windows autostart does not register `tauri-plugin-autostart`. It uses `auto-launch` directly in current-user mode with the quoted exe path, because the plugin's default mode writes an all-users entry when elevated that a normal untick cannot remove (Phase 05, refines D10).
13. Applying an update downloads the `Update` the last check found, with its timeout set to 600 s, instead of building a second updater and checking again: the builder timeout never reaches `download()` (Phase 09, refines D8).
Everything else in the subsystem maps is kept as-is. The quirks are kept too:
the global `last_poll_ok`, the first-poll threshold alert, the unscaled 24 px
@@ -102,17 +106,17 @@ non-live entry.
| # | Phase | Effort | Depends on | Status |
|---|-------|--------|------------|--------|
| 01 | [Scaffold Tauri crate, JS toolchain and CI](phase-01-scaffold-tauri-and-toolchain.md) | 5h | none | completed |
| 01 | [Scaffold Tauri crate, JS toolchain and CI](phase-01-scaffold-tauri-and-toolchain.md) | 5h | none | in-progress: code done; awaits the Windows manual check |
| 02 | [Extract portable core with tests](phase-02-portable-core.md) | 6h | 01 | completed |
| 03 | [Data layer on ureq](phase-03-data-layer-ureq.md) | 4h | 02 | completed |
| 04 | [App runtime: state, scheduler, CLI, single instance](phase-04-app-runtime.md) | 5h | 03 | completed |
| 05 | [Menu, tray, alerts, autostart](phase-05-menu-tray-notify-autostart.md) | 6h | 04 | in-progress |
| 06 | [Bubble window and UI](phase-06-bubble-window-ui.md) | 9h | 05 | pending |
| 07 | [Details panel window](phase-07-panel-window.md) | 3h | 06 | pending |
| 08 | [Fullscreen auto-hide](phase-08-fullscreen-auto-hide.md) | 2h | 06 | pending |
| 09 | [Updater](phase-09-updater-migration.md) | 4h | 05 | pending |
| 10 | [Release pipeline and legacy-client compatibility](phase-10-ci-release.md) | 4h | 09 | pending |
| 11 | [Cleanup, docs, parity sign-off](phase-11-cleanup-docs-parity.md) | 3h | 07, 08, 10 | pending |
| 04 | [App runtime: state, scheduler, CLI, single instance](phase-04-app-runtime.md) | 5h | 03 | in-progress: code done; awaits the Linux desktop and Windows manual checks |
| 05 | [Menu, tray, alerts, autostart](phase-05-menu-tray-notify-autostart.md) | 6h | 04 | in-progress: code done; awaits the Windows toast spike (D9 gate) and the Linux desktop and Windows manual checks |
| 06 | [Bubble window and UI](phase-06-bubble-window-ui.md) | 9h | 05 | in-progress: code done; awaits the v0.5.0 visual comparison and the Linux desktop and Windows manual checks |
| 07 | [Details panel window](phase-07-panel-window.md) | 3h | 06 | in-progress: code done; awaits the v0.5.0 visual and DWM shadow comparison and the Linux desktop and Windows manual checks |
| 08 | [Fullscreen auto-hide](phase-08-fullscreen-auto-hide.md) | 2h | 06 | in-progress: code done; awaits the Linux desktop and Windows manual checks |
| 09 | [Updater](phase-09-updater-migration.md) | 4h | 05 | in-progress: code done; awaits the user generating the signing key and setting `pubkey`, and the Linux desktop manual check |
| 10 | [Release pipeline and legacy-client compatibility](phase-10-ci-release.md) | 4h | 09 | in-progress: code done; awaits the user-approved `release.yml` and `release-legacy.yml` draft dry runs, which need the signing key |
| 11 | [Cleanup, docs, parity sign-off](phase-11-cleanup-docs-parity.md) | 3h | 07, 08, 10 | in-progress: docs done; awaits the Windows parity checklist on Windows 10 and 11 and the Linux x86_64 X11 smoke run |
Run the phases strictly in order. Phases 07, 08 and 09 all edit
`src/platform/windows.rs` and `src/lib.rs`, so they must not run in parallel.
@@ -0,0 +1,43 @@
---
title: Rename to usage-monitor
description: >-
Rename the repository and product from claude-code-usage-bubble to
usage-monitor once the Tauri port lands.
status: pending
priority: P3
branch: main
tags:
- rename
blockedBy:
- 261021-1028-tauri-v2-port
blocks: []
created: '2026-10-21T05:26:00.000Z'
---
# Rename To usage-monitor
## Decision
The user chose `usage-monitor` (display name "Usage Monitor") on 2026-10-21.
Both Claude Code and Codex call their quota "usage", and the name does not tie
the app to the bubble shape or to one provider. This is a personal tool, so the
user's preference decides the name.
## Constraints
- Installed legacy copies update only from an asset named
`claude-code-usage-bubble.exe` in `tiennm99/claude-code-usage-bubble`
releases. The first releases after the rename must keep publishing that
asset name, and the old repository URL must keep redirecting.
- Whether the legacy WinHTTP updater follows GitHub's API redirect after a
repository rename is unverified. Verify it before relying on the redirect.
## Steps
1. Rename the GitHub repository to `tiennm99/usage-monitor` with
`gh repo rename`, then update `origin` and move the local checkout to
`tiennm99/usage-monitor`.
2. Update the updater's repository constant, `productName`, README, release
workflow and docs to the new name. Keep publishing the legacy `.exe` asset
name alongside the new one.
3. Confirm a legacy copy still finds the update through the redirect.