From 53daf2c6ea43bf72e4575b38105ce3223c716d3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=A2=D1=80=D0=BE=D1=88?= =?UTF-8?q?=D0=B8=D0=BD?= Date: Thu, 20 Aug 2026 01:36:54 +0300 Subject: [PATCH] Auto-connect on same-origin detection --- frontend/index.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/frontend/index.html b/frontend/index.html index f12b26b..8e60d77 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -2923,6 +2923,8 @@ async function pysimDetectSameOrigin() { pysimBase = ''; const urlEl = document.getElementById('pysim-url'); if (urlEl) { urlEl.value = ''; urlEl.placeholder = '(same origin)'; } + _pysimAutoConnectAttempted = true; + pysimConnect(); } catch (e) { // no co-located API (file://, plain static server, SPA fallback) — keep default } @@ -3010,6 +3012,8 @@ async function pysimRefresh() { async function pysimConnect() { const urlInput = document.getElementById('pysim-url'); pysimBase = urlInput.value.replace(/\/+$/, ''); + const wasAuto = _pysimAutoConnectAttempted; + _pysimAutoConnectAttempted = false; const btn = document.getElementById('pysim-connect-btn'); btn.disabled = true; btn.textContent = t('Connecting...'); @@ -3054,6 +3058,7 @@ async function pysimConnect() { btn.textContent = t('Connected'); stkCheckMenu(); } catch (e) { + if (wasAuto) _pysimAutoConnectAttempted = true; pysimSetConnected(false); const hint = t(pysimIsLikelyBlocked() ? 'pysim-blocked-hint' : 'pysim-unreachable-hint') .replace('{url}', esc(pysimBase)); @@ -3503,6 +3508,7 @@ async function cardsImport() { // ===== pysim sub-tabs ===== let pysimCmdHistory = []; let pysimCmdHistIdx = -1; +let _pysimAutoConnectAttempted = false; function pysimSwitchSubtab(name) { document.querySelectorAll('.pysim-subtab').forEach(btn => {