Skip to content

Commit 0587356

Browse files
Harden export_engine: skip malformed composer keys, guard CLI session meta
1 parent dbec81e commit 0587356

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

services/export_engine.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,14 @@ def _collect_ide_export_entries(
230230
ctx = orch.ctx
231231
exported: list[CollectedExportEntry] = []
232232
for row in db_data.ide_composer_rows:
233-
composer_id = row["key"].split(":")[1]
233+
row_key = row["key"]
234+
if ":" not in row_key:
235+
_logger.debug(
236+
"Skipping composer row with malformed key %r",
237+
row_key,
238+
)
239+
continue
240+
composer_id = row_key.split(":", 1)[1]
234241
try:
235242
cd = json.loads(row["value"])
236243
except (json.JSONDecodeError, TypeError, ValueError) as parse_err:
@@ -383,7 +390,8 @@ def _collect_cli_export_entries(
383390
continue
384391

385392
for session in cp["sessions"]:
386-
meta = session.get("meta", {})
393+
raw_meta = session.get("meta")
394+
meta = raw_meta if isinstance(raw_meta, dict) else {}
387395
session_id = session["session_id"]
388396
created_raw = meta.get("createdAt")
389397
created_ms = to_epoch_ms(created_raw) if created_raw else int(

0 commit comments

Comments
 (0)