• exec/load/syncretro_lobby.js xtrn/syncdoom/lobby.js xtrn/syncduke/lobb

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Fri Jul 17 02:57:08 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/9396232fcb7ac80e9b0844cc
    Modified Files:
    exec/load/syncretro_lobby.js xtrn/syncdoom/lobby.js xtrn/syncduke/lobby.js xtrn/zmachine/zmachine.js
    Log Message:
    doors: log what the user actually played, not just the lobby

    The Terminal Server logs "Executing external program: <name>" when it spawns
    an xtrn entry, so a door installed as its own entry names the game in the
    node log. A door reached through a JS lobby does not: the log named the
    lobby, and the WAD set / map / cartridge / story picked inside it went unrecorded.

    Log the pick at each lobby's launch choke point, via bbs.logline() with the same "X-" code the server's own line uses, so one grep finds both:

    X- Executing external program: Z-Machine
    X- Playing Z-machine story: Ad Verbum

    syncdoom's sd_play() now takes the picked wadset rather than the flattened argument array -- every call site was already passing sd_wadset_args(cfg, ws) and discarding the ws the log line needs, so moving that call inside shortens all five. The zmachine chooser stashes the resolved IFDB title for the log;
    the -file path has no chooser, so it prettifies the filename the way the chooser would have. syncretro reuses the parsed title and console label it already builds for the who's-online status.

    Only the player's own launch logs. syncdoom's detached dedicated server (-spawnserver) stays silent -- it is not a play.

    Verified live on node 11: SyncDOOM, SyncDuke, SyncNES, SyncIvision and
    zmachine each produced their line in a real session.

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