• exec/load/sbbslist_lib.js

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed May 26 19:34:31 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/4d105f7f9e19a6f36150c91c
    Modified Files:
    exec/load/sbbslist_lib.js
    Log Message:
    Change the max BBS name length from 40 to 30.

    40 was causing a lot of cosmetic issues in sbbslist.js (for 80col terminals). This is a compromise (not reducing to the old limit of 25 chars at least). :-)

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Fri Jan 7 19:18:42 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/a3cb54710f1543b1a3a9b0bf
    Modified Files:
    exec/load/sbbslist_lib.js
    Log Message:
    Add BBS entry descriptions as a Comment key values to exported syncterm.lst

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Tue Jan 28 15:14:24 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/cd3c5c237fb2c8a5316da27a
    Modified Files:
    exec/load/sbbslist_lib.js
    Log Message:
    Add options to specify a preferred order of services

    Default is SSH, then Telnet, then RLogin
    The most preferred one is the one that doesn't get the protocol
    as part of the BBS name.

    Also, add an "onlyone" parameter (defaults to false) that requests
    each BBS only gets one entry.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Thu Apr 10 19:55:08 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/e3faf8e69369b532e2ec147e
    Modified Files:
    exec/load/sbbslist_lib.js
    Log Message:
    Correct the duplicate name/address log messages.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sat Dec 13 22:00:33 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/4fa2ba380feeafac799f3880
    Modified Files:
    exec/load/sbbslist_lib.js
    Log Message:
    Better error message after failing to acquire lock (mutext file)

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Thu Aug 20 20:39:02 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/dc5eb88e3852dfa673c7c72a
    Modified Files:
    exec/load/sbbslist_lib.js
    Log Message:
    sbbslist: don't leave the lock file (or a truncated list) behind on error

    The nightly sbbslist event on VERT died with an uncatchable "out of
    memory" error part-way through a write, which left two casualties: data/sbbslist.json truncated to 0 bytes, and the lock file still in
    place - locking out every other reader and writer until file_mutex()
    expired it, which for this lock is up to 24 hours.

    An out-of-memory error in SpiderMonkey is not a catchable exception: a try/finally around lock()/unlock() is *not* run, so exception safety has
    to come from somewhere else. js.on_exit() handlers do still run, so
    register one from lock() to drop the lock file if we're still holding
    it. The handler is registered only once, and is guarded by a 'locked'
    flag so it can never remove a lock file belonging to another process.

    The zero-byte list file has a separate cause: all four writers opened
    (or truncated) the file before serializing the replacement text, so an allocation failure inside JSON.stringify() destroyed the old contents
    without producing any new ones. Serialize first, truncate second.

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

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