Skip to content

Commit 1c7da24

Browse files
committed
fix: replace remaining print and pattern.
1 parent ad52105 commit 1c7da24

2 files changed

Lines changed: 25 additions & 7 deletions

File tree

services/workspace_tabs.py

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,21 @@
3838

3939

4040

41-
def _try_loads_kv_value(raw: str | None) -> Any | None:
42-
"""Parse a cursorDiskKV ``value`` column; ``None`` on missing or unparseable input (no raise)."""
41+
def _loads_kv_value_logged(key: str, raw: object | None) -> Any | None:
42+
"""Parse a cursorDiskKV ``value``; log and return ``None`` on decode failure."""
4343
if raw is None:
4444
return None
4545
try:
4646
return json.loads(raw)
47-
except (json.JSONDecodeError, TypeError, ValueError):
47+
except (json.JSONDecodeError, TypeError, ValueError) as e:
48+
payload_len, payload_fp = _kv_payload_log_meta(raw)
49+
_logger.warning(
50+
"Failed to decode cursorDiskKV value for %s: %s (payload_len=%d, payload_sha256=%s)",
51+
key,
52+
e,
53+
payload_len,
54+
payload_fp,
55+
)
4856
return None
4957

5058

@@ -127,7 +135,7 @@ def _safe_fetchall(query: str, params: tuple = ()) -> list:
127135
continue
128136
try:
129137
parsed = json.loads(row["value"])
130-
138+
131139
except (json.JSONDecodeError, TypeError, ValueError) as e:
132140
payload_len, payload_fp = _kv_payload_log_meta(row["value"])
133141
_logger.warning(
@@ -162,7 +170,7 @@ def _safe_fetchall(query: str, params: tuple = ()) -> list:
162170
if len(parts) < 2:
163171
continue
164172
chat_id = parts[1]
165-
ctx = _try_loads_kv_value(row["value"])
173+
ctx = _loads_kv_value_logged(row["key"], row["value"])
166174
if not isinstance(ctx, dict):
167175
continue
168176

@@ -180,7 +188,10 @@ def _safe_fetchall(query: str, params: tuple = ()) -> list:
180188
project_layouts_map.setdefault(chat_id, [])
181189
for layout in layouts:
182190
if isinstance(layout, str):
183-
layout = _try_loads_kv_value(layout)
191+
layout = _loads_kv_value_logged(
192+
f"{row['key']}:projectLayout",
193+
layout,
194+
)
184195
if not isinstance(layout, dict):
185196
continue
186197
if isinstance(layout, dict) and layout.get("rootPath"):

utils/cli_chat_reader.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@
3333
from __future__ import annotations
3434

3535
import json
36+
import logging
3637
from models import CliSessionMeta, SchemaError
38+
39+
_logger = logging.getLogger(__name__)
3740
import os
3841
import re
3942
import sqlite3
@@ -100,7 +103,11 @@ def traverse_blobs(db_path: str) -> list[dict]:
100103
json.loads(bytes.fromhex(meta_row[0]).decode("utf-8"))
101104
)
102105
except (SchemaError, ValueError, UnicodeDecodeError, TypeError) as e:
103-
print(f"Schema drift in CLI session meta at {db_path}: {e}")
106+
_logger.warning(
107+
"Schema drift in CLI session meta at %s: %s",
108+
db_path,
109+
e,
110+
)
104111
return []
105112
root_id: str = meta.latest_root_blob_id
106113

0 commit comments

Comments
 (0)