github smittix/intercept v2.27.0
v2.27.0 — UI Tiers, Multi-Window Fix & Performance

4 hours ago

What's New

Bug Fixes

  • Two-window hang — Opening the app in two browser tabs/windows caused it to become completely unresponsive. Root cause: HTTP/1.1 limits browsers to 6 connections per origin (shared across all tabs). VoiceAlerts was automatically opening 3 SSE streams per window on page load, so two windows produced 8 persistent connections and permanently blocked all regular HTTP requests. VoiceAlerts streams are now opt-in (disabled by default); existing preferences saved in browser storage are preserved.
  • Alert messages split between windows — The alerts SSE stream read from a single queue, so two windows would each receive only half the alerts. Now uses fanout so every window gets every alert.
  • Bluetooth v2 stream split between windows — Same single-queue issue in the Bluetooth SSE endpoint. Fixed with per-client subscriber queues, preserving named SSE events.
  • ICAO lookup cache unbounded growth — Capped at 50 000 entries with LRU eviction to prevent memory growth under sustained ADS-B load.
  • Bluetooth tracker fingerprint stability — Tracker signature scan was incorrectly resetting stability counters on unchanged payloads.

New Features

  • UI Tier system — Three display modes selectable from the nav bar: Lean (minimal, no decorative elements), Standard (default), and Enhanced (full animations and ambient effects). Replaces the old animations toggle.
  • Display mode in first-run setup — The first-run modal now includes a display mode selection step.

Performance

  • ADS-B SSE snapshot priming moved inside the response generator (avoids blocking before headers are sent).
  • WiFi network filter combined into a single list pass.
  • Bluetooth tracker signature scan skips processing when the BLE payload fingerprint is unchanged.
  • DataStore cleanup minimises lock hold time.

Installation

git clone https://github.com/smittix/intercept.git
cd intercept
./setup.sh
sudo ./start.sh

Or with Docker:

docker compose --profile basic up -d

See the documentation for full setup instructions.

Don't miss a new intercept release

NewReleases is sending notifications on new releases.