mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-18 18:16:22 +00:00
Cursor was set to oldest of read window, not oldest of returned batch — each page-up jumped past entire ranges (F16: 600/2000 msgs). Always bisect now; correct + simpler. Cost: +5-10 ms per page-up at 1M msgs, well below UI threshold. Also guard state->entries NULL when total_lines>0 && n_entries==0 (every line failed _ff_maybe_index_line). Backup would segfault. F16 tightened to received == total_msgs. Catches both stuck-on- entries[0] and cursor-jumping regressions.