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:
Smittix
2026-03-13 11:51:27 +00:00
parent 5758f4ace6
commit 5165cef7f9
183 changed files with 2006 additions and 4243 deletions
+9 -11
View File
@@ -8,8 +8,6 @@ Airspy HF+ supports 9 kHz - 31 MHz and 60-260 MHz.
from __future__ import annotations
from typing import Optional
from utils.dependencies import get_tool_path
from .base import CommandBuilder, SDRCapabilities, SDRDevice, SDRType
@@ -63,10 +61,10 @@ class AirspyCommandBuilder(CommandBuilder):
device: SDRDevice,
frequency_mhz: float,
sample_rate: int = 22050,
gain: Optional[float] = None,
ppm: Optional[int] = None,
gain: float | None = None,
ppm: int | None = None,
modulation: str = "fm",
squelch: Optional[int] = None,
squelch: int | None = None,
bias_t: bool = False
) -> list[str]:
"""
@@ -102,7 +100,7 @@ class AirspyCommandBuilder(CommandBuilder):
def build_adsb_command(
self,
device: SDRDevice,
gain: Optional[float] = None,
gain: float | None = None,
bias_t: bool = False
) -> list[str]:
"""
@@ -132,8 +130,8 @@ class AirspyCommandBuilder(CommandBuilder):
self,
device: SDRDevice,
frequency_mhz: float = 433.92,
gain: Optional[float] = None,
ppm: Optional[int] = None,
gain: float | None = None,
ppm: int | None = None,
bias_t: bool = False
) -> list[str]:
"""
@@ -161,7 +159,7 @@ class AirspyCommandBuilder(CommandBuilder):
def build_ais_command(
self,
device: SDRDevice,
gain: Optional[float] = None,
gain: float | None = None,
bias_t: bool = False,
tcp_port: int = 10110
) -> list[str]:
@@ -193,8 +191,8 @@ class AirspyCommandBuilder(CommandBuilder):
device: SDRDevice,
frequency_mhz: float,
sample_rate: int = 2048000,
gain: Optional[float] = None,
ppm: Optional[int] = None,
gain: float | None = None,
ppm: int | None = None,
bias_t: bool = False,
output_format: str = 'cu8',
) -> list[str]: