• xtrn/avatar_chat/README.md avatar_chat.js install-xtrn.ini xtrn/avatar

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Fri Jul 31 21:43:31 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/46c3ea6b89863d06e038bad1
    Modified Files:
    xtrn/avatar_chat/README.md avatar_chat.js install-xtrn.ini xtrn/avatar_chat/web/lib/events/avatarchat.js xtrn/chickendelivery/chickendelivery.js install-xtrn.ini service.js sysop.doc xtrn/gooble/gooble.js install-xtrn.ini readme.txt service.js xtrn/lemons/install-xtrn.ini lemons.js readme.txt service.js xtrn/oneliners/install-xtrn.ini lib.js readme.txt xtrn/starstocks/install-xtrn.ini stars.js sysop.doc xtrn/startrek/install-xtrn.ini readme.txt startrek.js xtrn/syncwall/install-xtrn.ini readme.txt syncwall.js xtrn/synthkart/README.md install-xtrn.ini synthkart.js xtrn/wordem/install-xtrn.ini readme.txt wordem.js
    Log Message:
    xtrn: complete the .local.ini conversion for the last ten JSON-DB doors

    These ten doors' installers wrote the sysop's chosen JSON-DB host into a git-tracked configuration file, and unlike the nine converted earlier,
    none of them located that file with file_cfgname() -- so a .local.ini
    override would not merely have gone unwritten, it would have gone unread.

    Route every reader through file_cfgname(), and give each installer the
    same [copy:]-then-[ini:] treatment: the distributed file stays tracked
    and unmodified as the fallback, while the sysop's answers land in an
    ignored <config>.local.ini beside it.

    Where a door guarded the open with file_exists(), the name is resolved
    once into a variable now shared by both, so the two cannot disagree. chickendelivery, gooble and lemons each read the file from the door and
    from their own service.js; converting both sides together is what stops
    a door and its service ending up on different hosts. avatar_chat is
    read by a web bridge as well, whose relative path is preserved exactly: file_cfgname() returns the original concatenation whenever no variant
    exists.

    Each door's documentation now points the sysop at the new file.

    synthkart's installer writes its key to the ini root while the game
    reads it from [highscores]. That predates this change and is left
    alone, so its prompt still has no effect -- it just no longer dirties
    the tracked file.

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

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