• src/syncterm/rip_ansi_val

    From Deuc¿@VERT to Git commit to main/sbbs/m on Sunday, April 12, 2026 19:55:00
    https://gitlab.synchro.net/main/sbbs/-/commit/1fe5aca4d42bc67d8605d6ce
    Added Files:
    src/syncterm/rip_ansi_validator.py
    Log Message:
    Add RIPscrip v1.54 and ANSI-BBS byte stream validator

    Validates .rip files against the RIPscrip Graphics Protocol v1.54
    spec and CTerm ANSI-BBS emulation rules. Reports command field
    widths, polygon vertex counts exceeding the 255-vertex limit, and
    malformed ANSI escape sequences. Used by the rip-scan harness to
    identify RIPterm-side bugs vs SyncTERM rendering differences.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, April 13, 2026 01:14:00
    https://gitlab.synchro.net/main/sbbs/-/commit/2b451000d5bfb8359199dfb4
    Modified Files:
    src/syncterm/rip_ansi_validator.py
    Log Message:
    More errors:

    Validate RIP parameters are in legal range
    (Warning in relaxed mode)
    Check for |1C before |1P
    If the RIP pastes before copying, it's an error in strict mode.

    Remove the meganum split warning... it's fine.
    Fix parsing of ANSI in RIP commands

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, April 13, 2026 11:19:00
    https://gitlab.synchro.net/main/sbbs/-/commit/e3276833db790081a3e5abc4
    Modified Files:
    src/syncterm/rip_ansi_validator.py
    Log Message:
    Apparently I missed this in the last commit somehow

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Monday, April 13, 2026 11:19:00
    https://gitlab.synchro.net/main/sbbs/-/commit/f91187cb86f7fe32231cc5ae
    Modified Files:
    src/syncterm/rip_ansi_validator.py ripper.c
    Log Message:
    More RIP fixes...

    Clipboard button vertical label centering.
    Enforce clipboard buffer size limit.

    The clipboard in RIPterm is a single segment, so the contents MUST
    fit in 65536 bytes.

    RIPterm actually pops up an "Image too large" error window...
    SyncTERM silently fails the copy.

    Also, drawing the popup modifies various bits of global state.

    Fix global state corruption

    When RIPterm fails to load an icon file, it forces the line thickness
    to 1. Do the same thing.

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