diff --git a/src/lib/arg-parsing.ts b/src/lib/arg-parsing.ts index 4105f90f5..118531831 100644 --- a/src/lib/arg-parsing.ts +++ b/src/lib/arg-parsing.ts @@ -315,7 +315,7 @@ export function parseSpanDepth(input: string): number { return 0; } const n = Number(input); - if (Number.isNaN(n)) { + if (Number.isNaN(n) || n < 0) { return DEFAULT_SPAN_DEPTH; } return n; diff --git a/src/lib/db/pagination.ts b/src/lib/db/pagination.ts index c702918d9..c51029fd7 100644 --- a/src/lib/db/pagination.ts +++ b/src/lib/db/pagination.ts @@ -84,7 +84,15 @@ export function getPaginationState( return; } - const stack = JSON.parse(row.cursor_stack) as string[]; + let stack: string[]; + try { + stack = JSON.parse(row.cursor_stack) as string[]; + } catch { + db.query( + "DELETE FROM pagination_cursors WHERE command_key = ? AND context = ?" + ).run(commandKey, contextKey); + return; + } return { stack, index: row.page_index }; }