Skip to content

v3.5.3 — dashboard-integration bridge fix

Choose a tag to compare

@vsits-proxy-builder vsits-proxy-builder released this 08 May 15:25
· 94 commits to main since this release

What's fixed

The documented dashboard-integration bridge (tools/usage-to-dashboard-ndjson.mjs) now correctly handles both the preload-era usage.jsonl schema and the v:1 MeterRowSchema written by the proxy usage-log extension introduced in v3.2.0.

Affected users: anyone running v3.2.0 through v3.5.2 with the proxy usage-log extension enabled and the usage-to-dashboard-ndjson translator wired into their dashboard. Before this fix, every v:1 row was silently dropped — external dashboards reading the bridge received zero data from those proxy-mode sessions.

The fix is backwards-compatible. Both schemas work; preload-era field is preferred when both are present, so existing legacy logs translate identically.

Why this happened

Three field renames between schemas weren't reflected in the translator:

Translator expected v:1 actually writes
entry.timestamp entry.ts
entry.q5h_pct (int 0–100) entry.q5h (float 0–1)
entry.q7d_pct (int 0–100) entry.q7d (float 0–1)

The entry guard if (!entry.timestamp) return null therefore dropped every v:1 row before it could be translated.

What's new in this release

  • Fixed: translator entry guard, quota-header reconstruction, ts_start/ts_end mapping, and req_id generation now accept both schemas via fallback. (tools/usage-to-dashboard-ndjson.mjs)
  • Added: 16 regression tests in test/usage-to-dashboard-ndjson.test.mjs covering both schemas plus full record parity (the same logical request emits the same req_id in either schema, so dashboards that dedup on req_id won't see duplicates from a user upgrading preload→proxy).
  • Updated: docs/dashboard-integration.md now has a Schema compatibility section describing both schemas and the affected-versions callout.

Suite: 772 → 788 (+16). All green.

Upgrade

npm install -g claude-code-cache-fix@3.5.3

No configuration changes; no migration. If you have a --follow instance running, restart it to pick up the dual-schema logic.

Credit

Reported and patched by @TomTheMenace (Tomasz Wachowiak) with the exact tested fix in the issue body. Already a contributor to the project for the Windows wrapper + first Windows validation. Thank you.

Links