Commit Graph
22 Commits
Author SHA1 Message Date
wushenghua 5f2326168d Merge upstream/main into main 2026-08-04 10:56:26 +08:00
wushenghuaandGitHub d0ae6c1f8d feat(web): make Codex exploration collapse configurable (#1352)
* feat(web): configure Codex exploration collapse

Default Codex exploration groups to collapsed and expose a persisted chat setting for users who prefer them expanded.\n\nvia [HAPI](https://hapi.run)\n\nCo-Authored-By: HAPI <noreply@hapi.run>

* test(web): cover Codex exploration preference

Cover preference persistence, default cleanup, and cross-tab storage synchronization.\n\nvia [HAPI](https://hapi.run)\n\nCo-Authored-By: HAPI <noreply@hapi.run>
2026-08-04 08:04:12 +08:00
wushenghuaandGitHub 1b8cc334ea fix(web): re-subscribe push subscriptions when VAPID keys change (#1316)
* fix(web): re-subscribe push when VAPID key changes (stale hub subscriptions)

* fix(web): prune stale push endpoint from the hub after VAPID re-subscribe

* fix(web): record VAPID key only after hub registration succeeds

* fix(web): preserve push registration on unsubscribe failure

via [HAPI](https://hapi.run)\n\nCo-Authored-By: HAPI <noreply@hapi.run>
2026-08-03 18:06:09 +08:00
b20bda87f1 fix(web): hide the voice button when no voice backend is configured (#1317)
* chore: hide voice button when no voice backend configured (not deployed)

* fix(hub,web): handle unavailable voice backends

via [HAPI](https://hapi.run)

Co-Authored-By: HAPI <noreply@hapi.run>

---------

Co-authored-by: HAPI <noreply@hapi.run>
2026-08-03 18:05:49 +08:00
1761b696f7 feat: add cache-aware token usage dashboard (#1338)
* feat: add cache-aware token usage dashboard

Track normalized Claude, Codex, and ACP usage with incremental SQLite backfill. Exclude imported transcript history, rebuild usage after history rewrites, and expose an owner-only dashboard with cache-aware totals and breakdowns.

via [HAPI](https://hapi.run)

Co-Authored-By: HAPI <noreply@hapi.run>

* fix: preserve usage model and local dates

via [HAPI](https://hapi.run)

Co-Authored-By: HAPI <noreply@hapi.run>

* fix: normalize cached usage and timezone buckets

via [HAPI](https://hapi.run)

Co-Authored-By: HAPI <noreply@hapi.run>

---------

Co-authored-by: HAPI <noreply@hapi.run>
2026-08-03 18:02:26 +08:00
wushenghua 2e795f4cd4 fix(hub,web): correct cache-aware usage accounting
via [HAPI](https://hapi.run)\n\nCo-Authored-By: HAPI <noreply@hapi.run>
2026-08-03 14:02:55 +08:00
wushenghua b3c49e09f1 feat(hub,web): add token usage dashboard
Track provider usage events with cache-aware token accounting and expose a settings dashboard.\n\nCo-Authored-By: Codex <noreply@anthropic.com>
2026-08-03 12:52:05 +08:00
wushenghuaandGitHub 0725fabe84 feat(web): pin running sessions in an in-progress section with state badges (#1315)
* feat(web): pin running sessions in an 'in progress' section with a live badge

* feat(web): show project name on pinned running session rows

* feat(web): make the pinned 'in progress' section collapsible

* fix(web): don't auto-expand directory groups when opening pinned running sessions

* fix(web): keep running section open while searching; clear auto-expand guard when selection leaves a group

* feat(web): show machine label on pinned running session rows

* fix(web): make running-section toggle keyboard-accessible with correct filtered state

* feat(web): split pinned running section into working/pending/idle groups with distinct badges
2026-08-03 09:24:44 +08:00
wushenghua 6483985d2f feat(web): green dot for just-finished sessions until opened (completed-unseen) 2026-08-03 01:07:48 +08:00
wushenghua 8ae9db2a03 fix(hub,cli): read absolute paths via runner RPC (macOS TCC) with machine fallback; absolute-path preview route in web 2026-08-03 00:35:28 +08:00
wushenghua 53588c5aeb feat(hub,web): HTML preview — raw file endpoint + viewer toggle + inline chat preview 2026-08-03 00:21:44 +08:00
wushenghua ceeff60235 feat(web): split pinned running section into working/pending/idle groups with distinct badges 2026-08-02 22:48:23 +08:00
wushenghua b4a8e89fe3 fix(web): write VAPID key only after hub registration; make running-section toggle keyboard-accessible with correct filtered state 2026-08-02 22:37:00 +08:00
wushenghua 087cb08e53 feat(hub,web): support custom Claude models via settings.json (customClaudeModels) 2026-08-02 22:32:19 +08:00
wushenghua da59a0011a feat(web): show machine label on pinned running session rows 2026-08-02 22:27:04 +08:00
wushenghua 240bf8affe fix(web): address review findings — prune stale push endpoints, keep running section open while searching, clear auto-expand guard on section transitions; update tests 2026-08-02 21:55:46 +08:00
wushenghua fd457e0303 chore: hide voice button when no voice backend configured (not deployed) 2026-08-02 21:45:37 +08:00
wushenghua 5b0cda9c01 fix(web): don't auto-expand directory groups when opening pinned running sessions 2026-08-02 21:26:30 +08:00
wushenghua 9cbb242580 fix(web): re-subscribe push when VAPID key changes (stale hub subscriptions) 2026-08-02 21:26:30 +08:00
wushenghua ee13e85e27 feat(web): make the pinned 'in progress' section collapsible 2026-08-02 21:26:30 +08:00
wushenghua 597fd93b71 feat(web): show project name on pinned running session rows 2026-08-02 21:26:30 +08:00
wushenghua f61ee46fec feat(web): pin running sessions in an 'in progress' section with a live badge 2026-08-02 21:26:30 +08:00