-
STATUS and Polling
+
STK menu
+
+
+
+
+
STATUS and Polling
|
@@ -4849,15 +4853,16 @@ let stkMenuStack = [];
async function stkCheckMenu() {
try {
- console.log('stkCheckMenu called');
const data = await pysimFetch('/api/menu');
- console.log('menu data:', data);
const btn = document.getElementById('stk-menu-btn');
+ const none = document.getElementById('stk-menu-none');
if (data && data.title && data.items && data.items.length) {
document.getElementById('stk-menu-title').textContent = data.title;
btn.style.display = '';
+ none.style.display = 'none';
} else {
btn.style.display = 'none';
+ none.style.display = '';
}
} catch (e) {
console.error('stkCheckMenu error:', e);
@@ -4866,7 +4871,6 @@ async function stkCheckMenu() {
function stkSetPillsDisabled(disabled) {
document.querySelectorAll('.pysim-subtab').forEach(b => {
- if (b.id === 'stk-menu-btn') return;
b.disabled = disabled;
b.classList.toggle('opacity-50', disabled);
});
@@ -5178,7 +5182,7 @@ function pysimSwitchSubtab(name) {
document.getElementById('pysim-sub-' + s).classList.toggle('hidden', s !== name);
});
if (name === 'custom') pysimCustomRender();
- if (name === 'proactive') { pysimEventsRender(); pysimProactiveLogRender(); pysimPliRender(); pysimPollStatusInit(); }
+ if (name === 'proactive') { stkCheckMenu(); pysimEventsRender(); pysimProactiveLogRender(); pysimPliRender(); pysimPollStatusInit(); }
pysimHelpAnchor = {cmd:'pysim-cmdline', apdu:'raw-apdu', files:'file-manager', custom:'custom-files', proactive:'proactive-uicc'}[name] || 'card-reader';
setHelpAnchor(pysimHelpAnchor);
}
@@ -6786,6 +6790,8 @@ const LANG_RU = {
'Send STATUS': 'Отправить STATUS',
'help': 'справка',
'STATUS and Polling': 'STATUS и опрос',
+ 'STK menu': 'Меню STK',
+ 'No menu set by the card': 'Меню не задано картой',
'Polling': 'Опрос',
'STATUS...': 'STATUS...',
'Saving...': 'Сохранение...',
diff --git a/frontend/sw.js b/frontend/sw.js
index e72269c..b5e1483 100644
--- a/frontend/sw.js
+++ b/frontend/sw.js
@@ -1,4 +1,4 @@
-const CACHE = 'otaman-v35';
+const CACHE = 'otaman-v36';
const URLS = [
'index.html',
'help.html',
diff --git a/pyproject.toml b/pyproject.toml
index c450d46..368cebf 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "pysim-otaman-server"
-version = "1.9.24"
+version = "1.9.25"
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 1f6b3ee..19d0ba5 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.24'
+VERSION = '1.9.25'
MAX_ENVELOPE_SEGMENTS = 5 # max SMS segments for outgoing C-APDU in ENVELOPE