Status: fixed
What to fix: The event-log 👁 Full / 🔒 Redacted toggle (static/game.js:926-932) appears to do nothing. It flips a local showFullLog flag and renders state.log_full, but the server serves log_full: null unless the game's reveal_hidden debug setting is on (server/serialize.py:311-313), and the render silently falls back to the redacted log: (showFullLog ? state.log_full : state.log) || state.log (game.js:935). reveal_hidden is only set by the "show hidden info" checkbox in the settings panel (game.js:1886-1890), so with that off the button is a no-op.
The server-side gating is correct — the full log reveals hidden information and belongs behind the explicit debug switch. The bug is that the button pretends to be available.
Fix (agreed): hide the toggle button entirely when the hidden-info setting is off; show it only while reveal_hidden/showHiddenInfo is on. The log header renders in renderLog, so the visibility check happens there; make sure toggling the settings checkbox re-renders the log header (the checkbox handler already refetches and re-renders, game.js:1888-1889). Also reset showFullLog = false when the setting turns off, so re-enabling later doesn't surprise with a stale "full" mode.
Definition of done: with "show hidden info" off, no toggle button is rendered; turning the setting on makes it appear and both positions visibly change the log; turning the setting off removes it and the log returns to redacted.