ATDT BBS  logo

ATDT BBS

Archives
Log in
Subscribe
Sept. 2, 2026, 9:51 p.m.

1.7.4: if your board runs MySQL, upgrade

ATDT BBS ATDT BBS

If your board runs MySQL or MariaDB, every door game has been crashing on its second visit. Isle of Morrow died coming back through the gate. HILO lasted about three rounds. Upgrade to 1.7.4 and it stops.

The cause is a good one. MySQL reports how many rows an UPDATE changed. SQLite reports how many it matched. So when a door wrote a value the row already held, MySQL answered zero, ATDT read zero as "there is no such row," and the repair INSERT collided with the row that was there the whole time. SQLite boards never saw it, because SQLite never says zero for a row it found.

The report that cracked it came in from the field with the diagnosis already attached, and the diagnosis was right. Whoever you are: thank you.

No data was harmed. The crash always fired before a bad write could land, so upgrading is the entire fix. Nothing to clean up, nothing to re-enter, and no schema change either.

Also in this one: a door that used the ANSI delete-line code could go silent mid-screen (the code is byte-identical to the start of "ANSI music," and the door stream was waiting for a terminator that never came), the blinking cursor stopped wearing a tiny red and blue fringe, and single-key commands now echo the character you typed, the way a real terminal felt.

Download 1.7.4 · Release notes

You just read issue #7 of ATDT BBS . You can also browse the full archives of this newsletter.

Older → 1.7.3: the prompt finally blinks
www.atdtbbs.com
Powered by Buttondown, the easiest way to start and grow your newsletter.