• v3.3.105 7a40afbe7e

    Administrator released this 2026-06-22 03:54:30 +02:00 | 4 commits to master since this release

    v3.3.105 — Data-safety: a crash can no longer wipe your accounts

    A server that crashed hard during an upload lost its configured accounts. This was not the update (a second server updated to v3.3.104 and kept everything) — it was a durability gap exposed by the crash, now closed.

    What was wrong:

    • The config was saved atomically (write temp + rename) but never flushed to disk (no fsync), so a hard crash could leave electron-config.json truncated.
    • On the next start the app read the truncated file, fell back to the backup, and if that was also bad it loaded empty defaults — and the next automatic settings/queue save then wrote those empty accounts over the real ones.

    What this release changes (no change to normal behavior):

    • Config writes are now flushed to disk (fsync) before the rename, on both the normal save path and the on-close save — a hard crash can no longer leave a truncated config.
    • The backup file is only refreshed from a non-empty live config, so a truncated config can never overwrite a good backup.
    • A wipe-guard: any save that is not explicitly changing accounts will refuse to persist empty accounts — it restores them from the most recent backup (live → .bak → the permanent pre-split snapshot) instead. Deleting all accounts on purpose still works.
    • Config loading gained an extra fallback to the permanent pre-split snapshot, so it can recover accounts even if both the live file and the regular backup are damaged.

    If a server already lost its accounts: with the app closed, copy
    %APPDATA%\multi-hoster-uploader\electron-config.json.pre-history-split.bak (or electron-config.json.bak)
    over electron-config.json — that backup still holds the accounts.

    409 tests pass.

    Downloads