diff --git a/frontend/index.html b/frontend/index.html index 2b25ad4..3696d42 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -6582,7 +6582,7 @@ function pysimCardStateUpdate(status) { pysimSetConnected(false); const statusEl = document.getElementById('pysim-status'); if (statusEl && statusEl.textContent.trim() !== '') { - if (status.equipping || status.auto_equip) { + if (status.equipping || (status.card_present && status.auto_equip)) { statusEl.innerHTML = '' + esc(t('Card inserted — initializing...')) + ''; } else if (status.card_present) { statusEl.innerHTML = '' + esc(t('Card inserted — press Equip')) + ''; diff --git a/frontend/sw.js b/frontend/sw.js index fa26800..36e885c 100644 --- a/frontend/sw.js +++ b/frontend/sw.js @@ -1,4 +1,4 @@ -const CACHE = 'otaman-v106'; +const CACHE = 'otaman-v107'; const URLS = [ 'index.html', 'help.html', diff --git a/frontend/tests/card_state.test.js b/frontend/tests/card_state.test.js index bd7af8e..335a338 100644 --- a/frontend/tests/card_state.test.js +++ b/frontend/tests/card_state.test.js @@ -120,3 +120,10 @@ test('availability state and control gating follow server/card state', () => { assert.strictEqual(pysimControlDisabled('card', 'card'), false); assert.strictEqual(pysimControlDisabled('server', 'card'), false); }); + +test('no card with auto-equip enabled still shows the no-card message', () => { + const { el } = setup(); + pysimCardStateUpdate(status({ connected: false, card_present: false, auto_equip: true })); + assert.ok(el.innerHTML.includes('No card detected'), el.innerHTML); + assert.ok(!el.innerHTML.includes('initializing'), el.innerHTML); +});