• exec/load/syncretro_lib.js syncretro_lobby.js exec/tests/syncretro_sta

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sun Aug 2 22:35:14 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/950d6dee981b35d3ece22526
    Modified Files:
    exec/load/syncretro_lib.js syncretro_lobby.js exec/tests/syncretro_state_test.js
    Log Message:
    syncretro: only promise a resume where a game can actually be saved

    The private cabinet advertised "Scores yours, games resume." on every shared-saves console, and the picker's footer carried the resume marker's legend on every console. Neither is true on the arcade, which ships
    save_state = false for all 4740 romsets because none has been verified: a player who switched to a private cabinet on the strength of that promise
    would quit their game and find nothing waiting, having done exactly what
    the screen told them to expect.

    syncretro_savable() answers whether anything on this console can be saved
    -- its own [console] save_state, or one romset overriding it -- and the
    lobby claims a resume only when it can. The moment a sysop enables a
    romset the promise and the legend appear on their own.

    It lives in the UI-free lib rather than inline in the lobby's init so it
    can be tested directly, which is where the eight new assertions live,
    including the auto-typed boolean forms an ini actually yields.

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

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