pierrenode
67d4bbb812
fix(state): route session-resume reads through the WAL read-only connection
...
get_messages_as_conversation, get_resume_conversations, and
get_ancestor_display_prefix still took self._lock — the same global
choke point the read-path split (WAL per-thread read-only connections)
was meant to remove from every recall/browse read. These three are the
hottest reads in the file: every session resume across the gateway,
CLI, and ACP adapter goes through one of them, so a resume racing a
burst of concurrent-session writer flushes still convoys behind them
exactly like the fixed paths used to.
_session_lineage_root_to_tip (the lineage walk shared by all three,
plus get_conversation_root) had its own independent self._lock use and
needed the same conversion — without it the outer functions still
blocked on the very first line.
Verified empirically: a reader thread calling all three functions
while another thread holds self._lock blocked for the writer's full
hold duration before the fix, and returned immediately after (SQLite
3.50.4 in this dev venv falls back to journal_mode=DELETE per the
WAL-reset-bug guard, so the requires_wal-marked regression test is
exercised via a local WAL-forced script instead; it still runs and
passes on any runtime where WAL is actually active).
2026-08-03 21:02:11 +05:30
..
2026-08-02 20:21:59 -07:00
2026-08-01 13:27:58 +05:30
2026-08-03 20:43:38 +05:30
2026-08-01 14:59:14 -07:00
2026-08-02 20:30:06 -07:00
2026-07-29 14:12:25 -07:00
2026-07-29 13:39:40 -07:00
2026-08-03 17:18:51 +05:30
2026-07-29 13:39:40 -07:00
2026-08-01 10:52:34 -07:00
2026-07-28 08:25:25 -07:00
2026-07-29 12:19:37 -07:00
2026-08-03 17:33:14 +05:30
2026-08-03 20:40:28 +05:30
2026-08-03 20:43:38 +05:30
2026-08-03 17:53:55 +05:30
2026-07-29 13:39:40 -07:00
2026-08-03 20:35:47 +05:30
2026-08-03 20:35:47 +05:30
2026-08-03 17:16:34 +05:30
2026-08-03 20:43:38 +05:30
2026-07-31 22:33:11 -07:00
2026-08-02 00:11:50 -07:00
2026-08-02 16:18:28 -07:00
2026-07-31 23:18:12 -07:00
2026-08-03 19:11:30 +05:30
2026-08-03 20:40:28 +05:30
2026-07-31 22:33:11 -07:00
2026-07-29 21:30:53 -07:00
2026-07-29 13:10:23 -07:00
2026-07-28 14:07:21 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-08-01 15:05:05 +05:30
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-08-02 00:11:50 -07:00
2026-07-25 07:17:52 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 15:12:28 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-08-01 23:28:28 -05:00
2026-07-29 13:10:23 -07:00
2026-08-02 00:11:50 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-08-03 20:30:32 +05:30
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-08-01 22:56:52 -05:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-31 22:35:07 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 18:13:09 -07:00
2026-08-03 20:28:35 +05:30
2026-07-29 18:55:10 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 17:35:16 -05:00
2026-07-26 19:30:32 -07:00
2026-07-31 22:39:11 -07:00
2026-07-26 16:06:50 -05:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 18:13:09 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 21:30:53 -07:00
2026-07-29 19:53:17 -07:00
2026-08-01 21:17:51 -04:00
2026-08-01 13:13:30 +05:30
2026-07-30 00:08:28 -05:00
2026-07-29 13:10:23 -07:00
2026-08-03 17:38:13 +05:30
2026-07-29 13:10:23 -07:00
2026-07-29 15:12:28 -07:00
2026-07-29 13:10:23 -07:00
2026-07-31 22:35:16 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 19:48:37 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 21:30:53 -07:00
2026-07-29 21:30:53 -07:00
2026-07-29 13:10:23 -07:00
2026-08-02 10:04:48 -07:00
2026-08-03 21:02:11 +05:30
2026-07-29 13:10:23 -07:00
2026-08-03 20:37:17 +05:30
2026-08-02 21:32:13 +05:30
2026-07-31 23:18:12 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-08-01 15:58:42 +05:30
2026-08-03 20:43:38 +05:30
2026-07-29 13:10:23 -07:00
2026-07-28 11:57:37 -07:00
2026-08-02 21:30:54 +05:30
2026-08-02 23:10:28 +05:30
2026-07-28 19:20:14 -05:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-24 23:06:05 -07:00