cctally 1.80.2 → 1.80.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,11 @@ based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [1.80.3] - 2026-07-23
9
+
10
+ ### Fixed
11
+ - Cache recovery now detects a damaged `session_entries` B-tree even when `cache.db` still has a readable schema, allowing dashboard startup and `cache-sync --rebuild` to quarantine and recreate the already-corrupt v1.80.1/v1.80.2 cache instead of surfacing a persistent sync error.
12
+
8
13
  ## [1.80.2] - 2026-07-23
9
14
 
10
15
  ### Fixed
@@ -4812,6 +4812,19 @@ def _cache_open_guarded() -> sqlite3.Connection:
4812
4812
  # Force a real header/schema read. SELECT 1 is constant-folded and can
4813
4813
  # report success without touching a malformed database file.
4814
4814
  conn.execute("PRAGMA schema_version").fetchone()
4815
+ # The v1.80.2 production incident left the schema and left edge of
4816
+ # session_entries readable while its interior root page pointed past
4817
+ # EOF on the right. Probe that right-most path explicitly: O(log N), so
4818
+ # every short-lived hook can afford it, unlike PRAGMA quick_check's
4819
+ # whole-database scan.
4820
+ if conn.execute(
4821
+ "SELECT 1 FROM sqlite_schema "
4822
+ "WHERE type='table' AND name='session_entries'"
4823
+ ).fetchone() is not None:
4824
+ conn.execute(
4825
+ "SELECT rowid FROM session_entries "
4826
+ "ORDER BY rowid DESC LIMIT 1"
4827
+ ).fetchone()
4815
4828
  if marker.exists():
4816
4829
  conn.close()
4817
4830
  conn = None
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cctally",
3
- "version": "1.80.2",
3
+ "version": "1.80.3",
4
4
  "description": "Claude Code usage tracker and local dashboard for Pro/Max subscription limits - weekly cost-per-percent trend, quota forecasts, threshold alerts. ccusage-compatible.",
5
5
  "homepage": "https://github.com/omrikais/cctally",
6
6
  "repository": {