• src/sbbs3/ansi_terminal.cpp

    From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Fri Oct 30 19:20:42 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/c062f230a8c6c8d38b2399ea
    Modified Files:
    src/sbbs3/ansi_terminal.cpp
    Log Message:
    ANSI_Terminal: reset the background to default with SGR 49, not 39

    attrstr() emitted SGR 39 (default foreground) when switching to an
    attribute with BG_UNKNOWN, so the terminal's background color was never
    reset. A background left set (e.g. by ANSI art) then bled into the text
    that followed, while curatr claimed the default background, e.g. when
    pause() or putmsg() restored an attribute saved after an ESC[0m.

    Introduced in 374282bf81 (skins-28-shop, 2025-03-30).

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    --- SBBSecho 3.38-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Fri Oct 30 19:20:42 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/8e1d6c99c5ccf35419c81a83
    Modified Files:
    src/sbbs3/ansi_terminal.cpp
    Log Message:
    ANSI_Terminal::getxy(): discard partial coordinates when restarting

    When an unexpected byte interrupted the cursor position report, getxy()
    pushed the bytes received so far back into the keyboard buffer and started looking for a new report, but kept any row/column digits already
    accumulated into *y/*x. The digits of the next report were then appended
    to them, yielding a wrong position (e.g. row 1 followed by a report of row
    5 returned 15).

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    --- SBBSecho 3.38-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Fri Oct 30 19:20:42 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/cd906399af94415ff9f86d5a
    Modified Files:
    src/sbbs3/ansi_terminal.cpp
    Log Message:
    ANSI_Terminal: fix cursor tracking of ED, CNL/CPL, DECSTBM, IND, and RIS

    The output parser tracked every ED (CSI Ps J) as homing the cursor and resetting the line counter, but only CSI 2J does that (and only on
    ANSI-BBS terminals such as SyncTERM). Synchronet itself sends CSI J for
    Ctrl-A J, @CLR2EOS@, and console.cleartoeos(), after which the tracked row/column were wrong: the next auto-pause came late, and with console.optimize_gotoxy enabled, a following gotoxy() could be skipped entirely.

    Also track, matching SyncTERM's cterm:
    - CNL (CSI E) and CPL (CSI F) moving to column 1
    - DECSTBM (CSI r) homing the cursor when the margins are valid
    - IND (ESC D) moving down one line
    - RIS (ESC c) resetting the attribute to the terminal default

    DECSC/DECRC (ESC 7 / ESC 8) remain untracked.

    Fixes #1314

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    --- SBBSecho 3.38-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From MRO@1:103/705 to Rob Swindell (on Debian L on Sun Nov 1 08:45:53 2026
    Re: src/sbbs3/ansi_terminal.cpp
    By: Rob Swindell (on Debian Linux) to Git commit to main/sbbs/master on Fri Oct 30 2026 07:20 pm

    https://gitlab.synchro.net/main/sbbs/-/commit/8e1d6c99c5ccf3
    5419c81a83 Modified Files: src/sbbs3/ansi_terminal.cpp Log Message: ANSI_Terminal::getxy(): discard partial coordinates when restarting

    When an unexpected byte interrupted the cursor position report,
    getxy() pushed the bytes received so far back into the keyboard
    buffer and started looking for a new report, but kept any row/column
    digits already accumulated into *y/*x. The digits of the next report
    were then appended to them, yielding a wrong position (e.g. row 1
    followed by a report of row 5 returned 15).

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>



    another thing you should do is add a max size for that media cache.
    it can really fill up.


    --
    https://i.imgur.com/MNKA5U0.png
    President of BBS Sysop's Union +++ https://bbses.info/union
    ---
    þ Synchronet þ ::: BBSES.info - free BBS services :::
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)