From 7e537abc557ff14f9f587336898fe92f6ed1ea72 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: Sun, 6 Sep 2026 11:04:38 +0300 Subject: [PATCH] Warn on data length mismatch in APDU list; rename SIM-ME to UICC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - error_names(m) now includes 'Data length mismatch' when decoded.length_mismatch is set, showing a ⚠ badge + tooltip in the APDU list row (alongside existing errors like bad FCS) - Header title: SIM-ME -> UICC - Bump 1.22.5, SW cache v36->v37 --- frontend/index.html | 10 +++++++--- frontend/sw.js | 2 +- pyproject.toml | 2 +- simtrace2_pysniff/__init__.py | 2 +- tests/test_pcap_import.py | 2 +- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/frontend/index.html b/frontend/index.html index e0017b3..50d15eb 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -271,7 +271,7 @@ body { font: 14px/1.5 system-ui, sans-serif; background: var(--bg); color: var(-
Sessions
Settings
-
SIM-ME GSMTAP trace analyser
+
UICC GSMTAP trace analyser
@@ -1010,7 +1010,11 @@ function cmd_description(m) { function error_names(m) { const d = m.decoded; - return (d && Array.isArray(d.errors) && d.errors.length) ? d.errors : null; + if (!d) return null; + const errs = []; + if (Array.isArray(d.errors)) errs.push(...d.errors); + if (d.length_mismatch) errs.push('Data length mismatch'); + return errs.length ? errs : null; } function sw_text(m) { @@ -2522,7 +2526,7 @@ function onFilterChange() { } // ──────────────────── Versioning ──────────────────── -const PWA_VERSION = '1.22.4'; +const PWA_VERSION = '1.22.5'; const MIN_SERVER_VERSION = '1.0.0'; function parseVersion(v) { diff --git a/frontend/sw.js b/frontend/sw.js index 54f8515..6f0b0fa 100644 --- a/frontend/sw.js +++ b/frontend/sw.js @@ -1,4 +1,4 @@ -const CACHE = 'simtrace-analyser-v36'; +const CACHE = 'simtrace-analyser-v37'; const PRECACHE = [ 'index.html', diff --git a/pyproject.toml b/pyproject.toml index 066ba47..5c40c9f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.backends._legacy:_Backend" [project] name = "simtrace2-pysniff" -version = "1.22.4" +version = "1.22.5" description = "Python-based sniffing tool for SIMtrace2 hardware (SIM card communication sniffer)" readme = {file = "README.md", content-type = "text/markdown"} license = {text = "GPL-2.0-or-later"} diff --git a/simtrace2_pysniff/__init__.py b/simtrace2_pysniff/__init__.py index 9edbc99..b0b4375 100644 --- a/simtrace2_pysniff/__init__.py +++ b/simtrace2_pysniff/__init__.py @@ -6,7 +6,7 @@ from .gsmtap import GsmtapSender, GsmtapReceiver from .pcap import PcapWriter from .dump import FileDumper, format_message -__version__ = '1.22.4' +__version__ = '1.22.5' __all__ = [ 'SniffSession', 'DeviceDisconnected', diff --git a/tests/test_pcap_import.py b/tests/test_pcap_import.py index d66f3b6..01b77b5 100644 --- a/tests/test_pcap_import.py +++ b/tests/test_pcap_import.py @@ -224,7 +224,7 @@ class TestImportEndpoint(unittest.TestCase): class TestVersion(unittest.TestCase): def test_package_version(self): from simtrace2_pysniff import __version__ - self.assertEqual(__version__, '1.22.4') + self.assertEqual(__version__, '1.22.5') def test_status_includes_version(self): import os