getThreadSnapshotWindow ran its reads in a writer transaction, so a held writer made opening a thread fail with "database is locked". Run the transaction on the reader with NodeSqliteClient.readOnly, as ShellStream and ThreadSearch already do. The snapshot only reads, and inside an open write transaction the reads still use the writer. Fixes #21840. Implementation from #21869 by ScottN-PV. Co-Authored-By: ScottN-PV <191782757+ScottN-PV@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Julius Marminge committed on 10/22/2026, 10:16:18 AMparent9f597f2
1 file changedLine totals unavailable