Skip to content

Mephisto 3.1.210 — puzzle rework, and the panel rework that never shipped

Choose a tag to compare

@IchNukeDichWeg IchNukeDichWeg released this 05 Aug 23:32

Puzzle Mode reworked, and the panel rework finally reaching this build. If you skipped 3.1.208–209, take this one.

Which download?

Archive Size Use it when
mephisto-3.1.210.zip 585 MB First install — everything, engines included
mephisto-3.1.210-update.zip 5.9 MB You already have Mephisto — extract over your existing folder

⚠️ Extract the update over your existing install, never into an empty folder — without the engines it cannot run. Extract in place: Chrome derives an unpacked extension's id from its folder path, so a new folder means a new id and re-running the native-host installer.

Why so many releases in two days?

Because the four-player and puzzle work was being tested on real games as it was written, and each session surfaced the next real bug. The version number moves on every change that reaches a user, however small — that is deliberate, and it is what makes "reload and tell me if it still happens" a question with a definite answer.

Two of those releases were fixing damage from an earlier one. 3.1.199 and 3.1.200 were dead on load — a ReferenceError in the panel — and 3.1.201 existed only to repair that. Nothing was hidden behind a quiet re-upload; a broken build got its own version and its own note saying so.

This one is different in kind: it is the result of diffing the public build against the development build file by file and symbol by symbol, rather than trusting the ports that produced it. That found the panel problem below, which had been shipping silently for eleven releases.

The panel rework was never actually in this build

The two-tab layout, the Move Time steppers and the turn-switch label existed in development and not here — the markup was never carried across, so 3.1.199 onward shipped the old single-column panel while the notes described the new one. Nothing crashed, because the panel skips controls it cannot find, which is exactly why it went unnoticed for so long. It is here now.

Alongside it: the settings stylesheet loaded before Materialize (so Materialize won every conflict), a per-page sheet still held rules that belong in the shared one, and thirteen locale files were about thirty keys behind — the reworked panel was English-only in every other language.

Puzzle Mode

  • The database is asked before the engine, not alongside it. The lookup was fire-and-forget, so the engine could finish first and play its move into a position the database had the answer to — and an objectively strong move still fails a puzzle. The search now waits for the database. A miss searches exactly as it always did.
  • No moving twice into the same position. After your move the board still shows what you moved from until the scripted reply lands; a second move into it is a wrong answer, not a no-op. The board changing is the only accepted proof the opponent replied.
  • Every puzzle move pauses 300 ms, Lichess and Chess.com alike — including engine moves, which previously went out the instant the search returned.
  • A known solution is still looked at, to depth 10, purely so the panel shows an evaluation. Its move is explicitly discarded.
  • The puzzle's rating is shown: Puzzle database (Rating 2145).
  • The two databases are separate stores, so a Chess.com position is never read against Lichess records. Remove drops one without the other, and each is counted separately.

Smaller

Every panel line now starts with a capital — the confidence labels, the tablebase verdicts and the database label read as sentences and sit on their own rows.

Also since 3.1.204, if you skipped those

  • Four-player game mode is detected. Tetrarch implements Teams only, so a free-for-all board now says so instead of returning a move scored under rules nobody at the table is playing. Detection reads the URL first, then the mode wording on the page; the per-seat points markup that would separate the two structurally is still unverified, so the default stays Teams and every signal is logged.
  • The four-player eval bar could freeze. The native host returns a bare {move, pv} when a search produces no info line, so the win-percentage curve came out NaN and the bar stayed wherever it was.
  • Chess.com puzzle import. Settings → Load Puzzle Database takes either file; the format is detected from the header. Moves arrive as Chess.com TCN, verified by replaying published rows through chess.js — all 12 moves of a 3554-rated tactic and all 4 of a 590 are legal from the position each row states, promotion included. Daily archive rows carry SAN instead and have no setup move. The exact CSV format, for anyone generating their own, is documented under Puzzles in the README.
  • A 6 MB update download, and a check that says so plainly if you extract it into an empty folder instead of over an existing install.
  • No forced layout per board scrape — the mode detection is worked out once per game rather than on every mutation.

Coming

The 620,000+ Chess.com puzzle database will be published once the upstream pull request is merged. The reader is already here.