fix(iamb): stop the scrollback walking up the pane #985
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "iamb-drift"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bumps the iamb pin from
df80101tod598ed8.Daniel: "there's a bug somewhere that causes iamb to scroll up a line like once per second unnecessarily, causing this gap".
The "earlier messages" hint takes the top row of the pane from the first drawn line. The render set the viewport corner after removing that line, so the corner moved down a row on every frame and the pane held one line less each time. A periodic redraw — a typing notice, a receipt — then walked the messages up the pane once a second, leaving a growing gap below them.
It only showed after scrolling away from the newest message, because the pane otherwise takes a fresh corner from the cursor on every render and the drift cannot accumulate.
The corner now comes from the full set of lines. The hint still covers the top row.
The hint arrived in the same batch as this fix, so the fault never reached a release — it was live on Daniel's client for about an hour.
Verified
267 tests, one new: rendering the same state twice must produce the same corner. That is the invariant the bug violated, and it is checkable without a terminal.