Skip to content

fix: keep the Tk gauge working on huge transcripts and over Remote-SSH - #67

Merged
catinspace-au merged 1 commit into
mainfrom
fix/tk-huge-transcripts
Oct 16, 2026
Merged

catinspace-au merged 1 commit into
mainfrom
fix/tk-huge-transcripts

Conversation

@catinspace-au

Copy link
Copy Markdown
Contributor

Tk went blank on long multi-day sessions and never worked at all over Remote-SSH. This fixes both, plus a pile of smaller things a whole-project review turned up.

Tk

  • Transcripts are read in 1 MiB chunks from the tail. An 891 MB transcript overflowed V8's string limit and blanked the gauge. A cold read of 894 MB now takes 6.9 ms.
  • extensionKind is ["workspace","ui"], so in a Remote-SSH, WSL or container window claudemeter runs on the remote host beside Claude Code. Tk reads the remote transcripts, Se/Wk use the remote login. Installed only on the client it hides Tk and says to install it on the remote.
  • CLAUDE_CONFIG_DIR users get their transcripts found under its projects/ dir.

Tooltips

  • They no longer stick open or fail to appear. VS Code re-opens a visible hover on every tooltip change, so the quip holds 5 minutes and the usage tooltip refreshes at most every 30 s. The status bar text stays live.

Fixes

  • Usage is cached per account, and entries from older versions stay shared so mixed-version windows don't each hit the 429.
  • Compact mode keeps a clickable item when logged out. Declutter undo undoes the right change. The error marker no longer piles up.
  • Team and Enterprise plans are detected. tokenOnlyMode toggles without a reload. Credits read 1.0M, not 1000.0K.

Security and CI

957 tests pass against real files and a local HTTP server, no mocks. Tested locally and over Remote-SSH from a vsix.

Done when this merges and semantic-release ships 2.5.22.

Long multi-day sessions blanked the Tk gauge. An 891 MB transcript overflowed the V8 string limit (Invalid string length), so every read failed and Tk showed "-". And in a Remote-SSH window Tk never had a source at all, because claudemeter ran on the client while Claude Code and its transcripts run on the remote host.

- Transcripts are read in 1 MiB chunks from the tail. A cold read of an 894 MB file takes 6.9 ms.
- extensionKind is now ["workspace","ui"], so in a Remote-SSH, WSL or container window VS Code runs claudemeter on the remote host beside Claude Code. Tk reads the remote transcripts, Se and Wk use the remote login, and the login prompt opens a terminal on that host. Installed only on the client, it hides Tk and the tooltip says to install it on the remote.
- CLAUDE_CONFIG_DIR users get their transcripts found under its projects/ dir.
- Tooltips no longer stick open or fail to appear. The quip holds for 5 minutes, and the usage tooltip refreshes at most every 30 s. VS Code re-opens a visible hover on every tooltip change and never closes one that lands as the mouse leaves.
- Usage is cached per account, so a window never shows another account's numbers. Entries from older versions stay shared, so windows on mixed versions do not each hit the 429 limit.
- Compact mode keeps a clickable item when logged out and idle.
- The declutter undo toast undoes the right change.
- The fetch error marker no longer piles up, and the error survives local ticks until a fetch succeeds.
- Team and Enterprise plans are detected from organization_type.
- tokenOnlyMode toggles without a reload.
- Credits read 1.0M, not 1000.0K. A missing percent no longer renders as null%.
- Reset times are stored as timestamps. The usage refresh is clamped to 30-3600 s.
- Tooltip links can only run the Nopilot commands, and outside text is escaped.
- Debug settings are machine-scoped, log files are 0600, and the default log path is no longer written into user settings.
- CI runs on GitHub-hosted runners. Release installs with --ignore-scripts, publish keeps no git credentials, and plugins and gitleaks are pinned and verified.
- Deps: npm audit 15 to 0, vsce 4, vitest 4.1.11.
- Tests run against real files and a local HTTP server with no mocks: 957 pass.
@catinspace-au
catinspace-au merged commit 873da8c into main Oct 16, 2026
7 checks passed
@catinspace-au
catinspace-au deleted the fix/tk-huge-transcripts branch October 16, 2026 01:36
hypersec-ci-bot Bot pushed a commit that referenced this pull request Oct 16, 2026
## [2.5.22](v2.5.21...v2.5.22) (2026-10-16)

### Bug Fixes

* keep the Tk gauge working on huge transcripts and over Remote-SSH ([#67](#67)) ([873da8c](873da8c))
@hypersec-ci-bot

Copy link
Copy Markdown

This issue has been resolved in version 2.5.22

The release is available on GitHub release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant