Skip to content

Known issues

Problems we have diagnosed and decided not to fix in aegis, because the cause is outside it. Each entry says how to recognise the problem, why it happens, and what to do instead.

Transcript rows duplicate while scrolling in VTE terminals

Symptom. Mouse-scrolling the transcript quickly shows one or more rows twice, with some jitter. The duplicates disappear on the next frame; nothing stays wrong once scrolling stops.

Affected terminals. Every terminal built on VTE: Ptyxis, GNOME Terminal, GNOME Console, Black Box. Measured on Ptyxis with VTE 0.84.0.

Cause. VTE does not implement synchronized output (DEC mode 2026), the protocol that lets a terminal hold a frame and show it all at once. Asked with CSI ? 2026 $ p, VTE answers 4, permanently reset. Each scroll step repaints every visible transcript row, top to bottom, which is 10 to 20 KB per frame and several pty reads. A terminal that paints after the first read shows the new rows above that point and the old rows below it, so the rows where they meet appear twice. Every frame aegis sends is correct: a replay of a captured scroll found no duplicated row at any frame boundary, and duplicated rows in 163 of 461 states cut mid-frame. The measurements and the scripts are in #33.

Workaround. Use a terminal that implements mode 2026. Ghostty (in the Ubuntu archive since 26.04: sudo apt install ghostty), kitty, WezTerm and foot all do; Ghostty answers the same query with 2, supported, and scrolls without duplicated rows. GSK_RENDERER=cairo, the fix for flicker after a display change (see the README's troubleshooting section), does not help here.

Why it is not fixed in aegis. No change in aegis can make a VTE frame atomic. Sending fewer or smaller frames per scroll would make the torn states rarer without removing them.