From 4f8dae041d00360174e1f4291faca7ad9e381b41 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: Tue, 25 Aug 2026 20:04:55 +0300 Subject: [PATCH] Cards table renders at startup and on pill entry; v1.9.11 cardsRender() was mutation-only (add/import/remove/counter-sync), so after a reload the SCP80 -> Cards table showed 'No cards defined.' even while localStorage held presets and the SP dropdown listed them correctly. Now: - cardsLoad() renders the table right after rebuilding the select - entering the Cards pill re-renders (mirrors pysim-pill pattern) Version 1.9.10 -> 1.9.11 everywhere; SW cache otaman-v21 -> otaman-v22 --- docs/api.md | 2 +- frontend/index.html | 4 +++- frontend/sw.js | 2 +- pyproject.toml | 2 +- pysim_otaman_server/server.py | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/api.md b/docs/api.md index f4d6630..b938d14 100644 --- a/docs/api.md +++ b/docs/api.md @@ -54,7 +54,7 @@ Returns server version for compatibility checking. **Example response:** ```json -{"version": "1.9.10"} +{"version": "1.9.11"} ``` ### `GET /api/status` diff --git a/frontend/index.html b/frontend/index.html index 35add73..95821c5 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -18,7 +18,7 @@
-

OTAMan SIM OTA with a Human Face v1.9.10

+

OTAMan SIM OTA with a Human Face v1.9.11

github @@ -1139,6 +1139,7 @@ function scp80SwitchSubtab(name) { }); document.getElementById('scp80-sub-sp').classList.toggle('hidden', name !== 'sp'); document.getElementById('scp80-sub-cards').classList.toggle('hidden', name !== 'cards'); + if (name === 'cards') cardsRender(); scp80HelpAnchor = { sp: 'secured-packet', cards: 'cards' }[name] || 'secured-packet'; setHelpAnchor(scp80HelpAnchor); } @@ -4313,6 +4314,7 @@ function cardsLoad() { cards = d ? JSON.parse(d) : []; } catch (e) { cards = []; } cardsRebuildSelect(); + cardsRender(); } function cardsSave() { diff --git a/frontend/sw.js b/frontend/sw.js index 265fdcc..36fbc70 100644 --- a/frontend/sw.js +++ b/frontend/sw.js @@ -1,4 +1,4 @@ -const CACHE = 'otaman-v21'; +const CACHE = 'otaman-v22'; const URLS = [ 'index.html', 'help.html', diff --git a/pyproject.toml b/pyproject.toml index dbd2c2e..1e1628e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "pysim-otaman-server" -version = "1.9.10" +version = "1.9.11" description = "HTTP REST server wrapping pysim for the OTAMan PWA" requires-python = ">=3.8" # pysim is a git-only dependency installed explicitly by setup.bat/setup.sh. diff --git a/pysim_otaman_server/server.py b/pysim_otaman_server/server.py index ee0b9e3..4af80dd 100644 --- a/pysim_otaman_server/server.py +++ b/pysim_otaman_server/server.py @@ -18,7 +18,7 @@ from osmocom.construct import GsmOrUcs2Adapter from osmocom.tlv import BER_TLV_IE -VERSION = '1.9.10' +VERSION = '1.9.11' # Static file serving (the PWA lives in /frontend, served by this server