From 811a6a1ed742e94e35ec0facf6c7f0d1811e1897 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: Sat, 5 Sep 2026 23:41:49 +0300 Subject: [PATCH] Make Stop Capture button red and prominent - Add --danger/--danger-hover CSS variables (dark + light themes) - .stop button now uses red background + white text with brighter hover (was muted gray, easy to miss) - Bump 1.22.3, SW cache v34->v35 --- 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 c6d493f..3f4424d 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -26,6 +26,8 @@ --warn-hover: #eab308; --warning-bg: #78350f; --error: #f87171; + --danger: #b91c1c; + --danger-hover: #dc2626; --code-bg: #1e293b; --scrollbar-track: #0f172a; --scrollbar-thumb: #334155; @@ -57,6 +59,8 @@ --warn-hover: #d97706; --warning-bg: #fef3c7; --error: #dc2626; + --danger: #dc2626; + --danger-hover: #b91c1c; --code-bg: #f3f4f6; --scrollbar-track: #fafafa; --scrollbar-thumb: #d1d5db; @@ -106,8 +110,8 @@ body { font: 14px/1.5 system-ui, sans-serif; background: var(--bg); color: var(- .trace-topbar .filter-label { color: var(--text-muted); font-size: 13px; white-space: nowrap; } .trace-topbar button { padding: 8px 16px; background: var(--accent); color: #fff; border: none; border-radius: 4px; cursor: pointer; font-weight: 600; } .trace-topbar button:hover { background: var(--accent-hover); } -.trace-topbar button.stop { background: var(--bg-input); color: var(--text); } -.trace-topbar button.stop:hover { background: var(--bg-panel); } +.trace-topbar button.stop { background: var(--danger); color: #fff; } +.trace-topbar button.stop:hover { background: var(--danger-hover); } .trace-topbar button.connect { background: var(--warn); color: #0f172a; } .trace-topbar button.connect:hover { background: var(--warn-hover); } .trace-main { display: flex; flex: 1; overflow: hidden; } @@ -2514,7 +2518,7 @@ function onFilterChange() { } // ──────────────────── Versioning ──────────────────── -const PWA_VERSION = '1.22.2'; +const PWA_VERSION = '1.22.3'; const MIN_SERVER_VERSION = '1.0.0'; function parseVersion(v) { diff --git a/frontend/sw.js b/frontend/sw.js index 719d5c5..f157ed8 100644 --- a/frontend/sw.js +++ b/frontend/sw.js @@ -1,4 +1,4 @@ -const CACHE = 'simtrace-analyser-v34'; +const CACHE = 'simtrace-analyser-v35'; const PRECACHE = [ 'index.html', diff --git a/pyproject.toml b/pyproject.toml index 83f6118..b776388 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.backends._legacy:_Backend" [project] name = "simtrace2-pysniff" -version = "1.22.2" +version = "1.22.3" 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 580d50c..ba9090d 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.2' +__version__ = '1.22.3' __all__ = [ 'SniffSession', 'DeviceDisconnected', diff --git a/tests/test_pcap_import.py b/tests/test_pcap_import.py index f676dbf..e03d1d0 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.2') + self.assertEqual(__version__, '1.22.3') def test_status_includes_version(self): import os