• src/syncterm/term.c

    From Deucе@VERT to Git commit to main/sbbs/master on Fri Jul 24 11:04:33 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/7877652a0c218228a7bac7a0
    Modified Files:
    src/syncterm/term.c
    Log Message:
    Discard stale transfer handshakes

    Remote transfer programs repeat their readiness request while the user navigates SyncTERM's protocol and file menus. Feeding every queued
    request to the protocol adds an avoidable handshake round trip for each
    stale copy before a transfer can begin.

    Drain all receive-buffer layers through the normal decoded input path
    before starting a transfer, then replay the suffix beginning with the
    newest applicable request. Retain ZRINIT for ZMODEM uploads, ZRQINIT
    for ZMODEM downloads, and repeated NAK, C, or G requests for X/YMODEM
    uploads. Leave queues without a recognized request unchanged and avoid trimming protocols without an unambiguous inbound marker.

    Account for replayed input in the receive helpers and reset the
    additional staging state between sessions. Verify with a clean debug
    build and all 67 SyncTERM terminal tests.

    Refs SyncTERM ticket 271

    Co-authored-by: OpenAI Codex <noreply@openai.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net