• src/syncterm/term.c

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Jul 13 14:04:41 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/bc7374d01c25c85883f9f521
    Modified Files:
    src/syncterm/term.c
    Log Message:
    Fix SGR pixel mouse coordinate origin

    DECSET 1016 reports one-based pixel coordinates, but the conversion
    from ciolib's zero-based high-resolution mouse position subtracted the one-based cterm origin directly. This removed one full character cell
    from each axis and could report zero or negative coordinates near the
    top or left edge.

    Use the zero-based pixel origin implied by the one-based cterm cell
    origin instead, and treat high-resolution coordinates as present only
    when both axes are non-negative. This keeps valid zero-valued pixels
    from being mistaken for missing data while preserving the text-coordinate fallback for backends that do not provide pixel positions.

    Fixes SourceForge ticket 267.

    Co-Authored-By: OpenAI Codex <[email protected]>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 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 <[email protected]>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)