• xtrn/betrayedalliance/getdata.js xtrn/cascadequest/getdata.js xtrn/spa

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Tuesday, July 21, 2026 21:53:27
    https://gitlab.synchro.net/main/sbbs/-/commit/3ed339d20062deb3672b1b41
    Modified Files:
    xtrn/betrayedalliance/getdata.js xtrn/cascadequest/getdata.js xtrn/spacequest0/getdata.js xtrn/syncalert/fetch-assets.js xtrn/syncdawn/fetch-assets.js xtrn/syncrpg/getdata.js
    Log Message:
    xtrn: route the pinned-checksum fetchers through the mirror fallback

    These six already pinned a checksum, so only the download call changes:
    the existing size/hash comparison moves into the helper's verify
    callback, which is what lets a truncated transfer or a bad copy retry
    against the mirror instead of simply failing.

    Three of them need the mirror filename given explicitly, not two as
    first thought. syncalert and syncdawn rename their downloads on the way
    in, and syncrpg's URL ends in a per-request token (games/download/<id>/<token>), so its basename is not a filename at all.

    syncalert and syncdawn verify before renaming the .part file, so a
    corrupt transfer falls back rather than landing a bad image, and they
    now re-verify only when reusing a previously downloaded one -- a fresh
    download was already checked, and re-hashing a 556 MB image to learn
    what it just proved is wasted work.

    Both also gain the *_NO_MAIN guard the sibling fetchers use.

    Verified: all six installing from the mirror, betrayedalliance from the official source, syncdawn's full 678 MB fetch through the .part/rename
    path, and a deliberately corrupt reused image correctly refused.

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