Skip to content

feat(status): reorder by data flow, sharpen reception signals#93

Merged
d4rken merged 5 commits into
devfrom
feat/apl-feed-status-reorder
May 18, 2026
Merged

feat(status): reorder by data flow, sharpen reception signals#93
d4rken merged 5 commits into
devfrom
feat/apl-feed-status-reorder

Conversation

@d4rken

@d4rken d4rken commented May 18, 2026

Copy link
Copy Markdown
Member

The status output now follows the actual data path so a reader can walk it top-to-bottom: receiver input → receiver activity → feed service → ADS-B uplink → identity → server reception → MLAT → diagnostics push.

A new Receiver activity line samples the receiver socket for ~2 seconds and reports whether bytes are actually arriving, so an unplugged antenna or silent decoder surfaces as a warning instead of hiding behind a port that still listens.

Airplanes.live link is renamed to ADS-B uplink and narrowed to ports 30004/64004 — the failover target was missing, and the old check accepted :31090, so a MLAT-only connection used to mask an ADS-B-down state. Website feed becomes Server reception with tier thresholds raised to match the 5-minute server-side sync (ok ≤ 8 min, warn ≤ 20 min, fail beyond) and a first-connect hint on the not-seen-yet case. MLAT name privacy is folded into the MLAT service line instead of taking its own line.

apl-feed status --json is bumped to schema_version: 2: website.feed_statewebsite.reception_state, plus a new receiver block carrying input_state, activity_state, and activity_bytes.

Status output now follows the actual data path. Adds a receiver-activity byte sample, narrows the uplink check to ADS-B ports, raises server-reception tiers to match the 5-min sync, folds MLAT privacy in, and bumps --json to v2.
@d4rken d4rken added the enhancement New feature or request label May 18, 2026
d4rken added 4 commits May 18, 2026 13:32
ADS-B uplink now parses the peer column only so a local listener on :30004/:64004 can't false-positive; netstat fallback enforces ESTABLISHED. Receiver activity skips on warn (not just fail) so malformed INPUT doesn't show a misleading second 'no data' line. Unknown mlat_private values surface as their own warn instead of being silently swallowed by the MLAT-line privacy fold.
CI runners ship /usr/bin/ss, so rm'ing the STUB_DIR/ss stub left command -v ss finding the system binary and the ss branch ran instead of the netstat fallback. Override command() in the test scope so BATS run inherits a definition that returns 1 for ss only.
The (vN) suffix is internal bookkeeping; operators have no actionable use for it and v1 just looks confusing on a freshly-registered feeder. Kept in --json (.claim.version) and the local mirror file for tooling.
…eorder

# Conflicts:
#	test/test_apl_feed_cli.bats
@d4rken d4rken merged commit 2af3e96 into dev May 18, 2026
12 checks passed
@d4rken d4rken deleted the feat/apl-feed-status-reorder branch May 18, 2026 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant