From a290b752386b8a0c5c867c69b45423fb079ab4aa Mon Sep 17 00:00:00 2001 From: Frank Date: Sat, 22 Aug 2026 19:16:48 +0200 Subject: [PATCH] Stop auto-scrolling the game terminal when a new message arrives Every message append (mainframe broadcasts, lock reveals, the boot sequence, and responses to your own commands) forced the page to jump to the bottom. Removed all four window.scrollTo calls so the view stays put. Co-Authored-By: Claude Sonnet 5 --- assets/game1.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/assets/game1.js b/assets/game1.js index 3e9f18b..ba38d28 100644 --- a/assets/game1.js +++ b/assets/game1.js @@ -40,7 +40,6 @@ function subscribeToMercure(mercurePublicUrl, topic, myScreen, wonUrl, lostUrl) const messageContainer = document.getElementById('message-container'); if (messageContainer) { appendResultMessage(messageContainer, data[1], data[2] || 'mainframe'); - window.scrollTo(0, document.body.scrollHeight); if(stillPlayingSound) playSound(); console.log('[Mercure][game1] sequenceFinished status:', sequenceFinished); @@ -144,7 +143,6 @@ async function fetchLockReveal(apiEchoUrl, messageContainer) { const result = response && response.result; if (result && Array.isArray(result.result)) { result.result.forEach(text => appendResultMessage(messageContainer, text, result.messageType)); - window.scrollTo(0, document.body.scrollHeight); } if (result && result.locked === false) { clearLock(); @@ -401,7 +399,6 @@ document.addEventListener('DOMContentLoaded', async () => { msgEl.className = 'message ' + extraClass; msgEl.textContent = msg[0]; messageContainer.appendChild(msgEl); - window.scrollTo(0, document.body.scrollHeight); playSound(); @@ -452,7 +449,6 @@ document.addEventListener('DOMContentLoaded', async () => { console.log('[API][game1] message sent →', response); if (response && response.result && Array.isArray(response.result.result)) { response.result.result.forEach(text => appendResultMessage(messageContainer, text, response.result.messageType)); - window.scrollTo(0, document.body.scrollHeight); } if (response && response.result) { if (response.result.gameWon === true && wonUrl) {