mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-11-06 00:15:06 +00:00
* fix(gateway): draw a pane's replay only once it is all in The gateway drew the phone's first picture of a pane as soon as the replay paused for 30ms or ran past 200ms, and forwarded any replay segment that came after that drawing raw. The ring replays oldest first, so over a slow link the phone first saw the front of the ring (a restored session's old screen), or a blank drawing followed by the whole ring streamed past it. Replay segments now only ever reach the phone through a drawing, and no drawing is made until the replay is over: at the first message it does not consist of, or after 500ms of quiet when nothing follows it. The quiet only counts once the feed has said something, so a link slow to deliver the first frame is not taken for a replay that has ended. Fixes #1180 * fix(gateway): count a segment still arriving as the replay going on A replay segment can be megabytes over a slow link. PaneOutput buffers a frame until it is whole and returns WouldBlock on any read gap longer than the 30ms draw settle, so the serve loop saw silence mid-segment and, once half a second had passed since the last whole message, drew the mirror before the replay was in. Bytes of the next message now count as the feed having said something.