mirror of
https://github.com/smittix/intercept.git
synced 2026-07-15 04:58:10 -07:00
v2.26.0: fix SSE fanout crash and branded logo FOUC
- Fix SSE fanout thread AttributeError when source queue is None during interpreter shutdown by snapshotting to local variable with null guard - Fix branded "i" logo rendering oversized on first page load (FOUC) by adding inline width/height to SVG elements across 10 templates - Bump version to 2.26.0 in config.py, pyproject.toml, and CHANGELOG.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -17,9 +17,9 @@ from __future__ import annotations
|
||||
|
||||
import logging
|
||||
import threading
|
||||
from dataclasses import dataclass, field
|
||||
from dataclasses import dataclass
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Callable, Optional
|
||||
from typing import Callable
|
||||
|
||||
from .constants import (
|
||||
HIDDEN_CORRELATION_WINDOW_SECONDS,
|
||||
@@ -29,7 +29,7 @@ from .constants import (
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# Global correlator instance
|
||||
_correlator_instance: Optional['HiddenSSIDCorrelator'] = None
|
||||
_correlator_instance: HiddenSSIDCorrelator | None = None
|
||||
_correlator_lock = threading.Lock()
|
||||
|
||||
|
||||
@@ -92,9 +92,9 @@ class HiddenSSIDCorrelator:
|
||||
self._revealed: dict[str, CorrelationResult] = {} # BSSID -> result
|
||||
|
||||
# Callbacks
|
||||
self._on_ssid_revealed: Optional[Callable[[CorrelationResult], None]] = None
|
||||
self._on_ssid_revealed: Callable[[CorrelationResult], None] | None = None
|
||||
|
||||
def record_probe(self, client_mac: str, probed_ssid: str, timestamp: Optional[datetime] = None):
|
||||
def record_probe(self, client_mac: str, probed_ssid: str, timestamp: datetime | None = None):
|
||||
"""
|
||||
Record a probe request.
|
||||
|
||||
@@ -122,7 +122,7 @@ class HiddenSSIDCorrelator:
|
||||
# Check for correlations with known hidden APs
|
||||
self._check_correlations()
|
||||
|
||||
def record_association(self, client_mac: str, bssid: str, timestamp: Optional[datetime] = None):
|
||||
def record_association(self, client_mac: str, bssid: str, timestamp: datetime | None = None):
|
||||
"""
|
||||
Record a client association with an AP.
|
||||
|
||||
@@ -151,7 +151,7 @@ class HiddenSSIDCorrelator:
|
||||
# Check for correlations
|
||||
self._check_correlations()
|
||||
|
||||
def record_hidden_ap(self, bssid: str, timestamp: Optional[datetime] = None):
|
||||
def record_hidden_ap(self, bssid: str, timestamp: datetime | None = None):
|
||||
"""
|
||||
Record a hidden access point (empty SSID).
|
||||
|
||||
@@ -171,7 +171,7 @@ class HiddenSSIDCorrelator:
|
||||
# Check for correlations
|
||||
self._check_correlations()
|
||||
|
||||
def get_revealed_ssid(self, bssid: str) -> Optional[str]:
|
||||
def get_revealed_ssid(self, bssid: str) -> str | None:
|
||||
"""
|
||||
Get the revealed SSID for a hidden AP, if known.
|
||||
|
||||
@@ -185,7 +185,7 @@ class HiddenSSIDCorrelator:
|
||||
result = self._revealed.get(bssid.upper())
|
||||
return result.revealed_ssid if result else None
|
||||
|
||||
def get_correlation(self, bssid: str) -> Optional[CorrelationResult]:
|
||||
def get_correlation(self, bssid: str) -> CorrelationResult | None:
|
||||
"""
|
||||
Get the full correlation result for a hidden AP.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user