AIO Relay Status

Single source page for release posture, current updates, known gaps, and roadmap checkpoints.

Current Package Baseline
v2.0
UI Version Marker
v2.0
Latest Runtime Update
2026-05-12
Updated to v8! Updated: dnd-kit drag/drop refactor Improved: lock-state hardening Auth worker live NSIS + MSI build path working Shutdown sequencing hardened Write-route auth order corrected Local shutdown remains available under auth lock Boot settings hydration hardened Master Switch contract normalized Reload/Flush confirm + verification modals Backend runtime modularized Frontend orchestration modularized v2.0: NMS → MediaMTX v2.0: FLV.js removed, HLS-only v2.0: Webhook-based event handling v2.0: CI downloads both binaries Runtime consistency hardening Managed Encoder / Display / Window ingest Capture audio paths + mic confidence preview Measured app IN/OUT + NIC Net telemetry Installer relaunch auth skip for activated systems Lane-instance platform reassignment Profile-scoped write protection Hybrid tee failure truth improved Desktop compile check passing Ops runbook hardened Operator post-install viewport parity check required

Updates Since 1.0.0

Date Area Update
2026-02-16 Auth + Build Key lifecycle endpoints and installer outputs stabilized for `.exe` and `.msi` production flow.
2026-02-17 Ops + Docs Reality check, v2 planning, and process docs expanded to capture shipping status and open hardening gaps.
2026-02-18 Website + Distribution `/download` page aligned with password-gated distribution and direct installer/checklist links in the `downloads/` file folder.
2026-02-21 Desktop Runtime Tray menu cleanup (4 actions), window policy centralization, backend spawn dedupe, and safer reset/kill handling in `main.rs`.
2026-02-21 Modularization Tauri runtime split into focused modules: backend supervisor, window policy, tray controller, and lifecycle handlers.
2026-02-21 Profile Behavior Profile switching logic corrected to block only on active destination playout, not ingest-only live state.
2026-02-21 Auth Hardening Activation/license flow moved to fail-closed startup defaults with server-side write-route auth gating.
2026-02-21 API Parity Start/stop route naming aligned to UI controls: /api/startall and /api/stopall; docs synchronized.
2026-02-22 Tray + Recovery UX Tray Reset Relay/Shutdown Relay confirms moved to in-app modals; Recover I/O now restores a safer drawer-closed recovery state.
2026-02-22 Branding + Drawer Brand overlay workflow stabilized (upload/select/remove/persistence) and rendered behind columns; cards remain visually solid.
2026-02-23 Runtime Hardening Drag/lock parity hardening restored via unlock-triggered recovery resync; prevented UI-unlocked but non-draggable column/card state.
2026-02-23 Network Runtime node-media-server host-bind behavior patched and made durable via patch-package so LAN mode intent is honored (localhost vs 0.0.0.0).
2026-02-23 Appliance Window Policy Desktop startup width policy hardened to a fixed physical design envelope (1440px target with fit fallback) for more consistent first-launch presentation.
2026-02-27 FFmpeg Runtime Updated to v8 (`ffmpeg`/`ffprobe` 8.0.1) with protocol/filter verification and smoke coverage documented in handoff artifacts.
2026-02-27 Lock State Hardening Improved settings persistence with lock-parity safeguards, dedicated lock-save path, and revision conflict protection to prevent stale saves from silently re-locking columns.
2026-02-27 User Tab + Branding Improved station user-tab layout, brand upload filename handling, and backend URL resolution so brand preview/overlay remains consistent after modal transitions.
2026-02-28 Dashboard Access Updated ops dashboard access path: press-and-hold the app I/O button to open the Live Ops dashboard in a separate browser window (manual fallback: /docs/ops.html).
2026-02-28 Ops Runbook Completed deterministic release gate sequence and pre-build lock protocol standardization for the current release workflow.
2026-02-28 I/O Control Parity Updated app I/O click now follows tray-equivalent Show/Hide UI state handling while press-and-hold still opens the Live Ops dashboard; close-ui contract updated to validate behavior path instead of hard-coded JSX binding.
2026-02-28 Drawer DnD Refactor Refactored drawer drag-and-drop stack to dnd-kit and removed legacy sortable/layered behavior to improve lock-state reliability and ordering persistence transparency in the v1.2.0 line.
2026-03-01 Website + Auth Admin Hardened website status/admin-auth surfaces: sanitization updates, safer saved-credential reset flow, and protocol doc cleanup for packaging/deploy consistency.
2026-03-06 Code Integrity Audit Verified post-drive-recovery repository integrity (locked file hash checks, syntax/config validation, and build-path readiness confirmation).
2026-03-07 Security Hardening Completed dependency hardening pass (6/7 vulnerabilities fixed), migrated to Vite 7.3.1, and documented remaining pkg advisory/mitigation track for v1.2.
2026-03-07 Ingest Preview Optimization Updated monitor behavior to HLS-first with FLV fallback, on-demand preview controls, and ingest-state/error visibility improvements for lower background bandwidth and better operator diagnostics.
2026-03-10 Shutdown + Auth Runtime Hardened power-down flow so backend shutdown uses graceful teardown and desktop shutdown waits for backend stop with fallback cleanup, reducing orphan backend process risk during hard System Shutdown.
2026-03-10 Recovery Controls UX Updated Reload Ingest and Flush Cache to use explicit confirmation and completion/error verification modals; /api/flush now returns cleanup details (removedCount, skippedActiveKey).
2026-03-10 Auth + State Integrity Hardened write-route auth middleware ordering, preserved loopback shutdown when auth is locked, restored boot-time server settings hydration, normalized the masterSwitch contract, and removed the dead backend lock API shim that no longer controlled runtime state.
2026-03-10 Release Refresh Verified deterministic gate sequence for the current validation baseline: prebuild, lock verification, Windows bundle rebuild, installer manifest refresh, and final lock verification all passed.
2026-03-11 Refactor + Runtime Architecture Completed backend composition split from the former server.js monolith into focused runtime and route modules; frontend orchestration was similarly decomposed into shared helpers, hooks, and extracted control components for the v1.2.0 line.
2026-03-13 Runtime Consistency Hardened ingest session ownership, process/timer cleanup, profile-scoped write paths, serialized status polling, and tee/dedicated status truth so late events and stale telemetry no longer drift UI state away from backend runtime truth.
2026-03-16 Lane Model + Drawer Identity Refactored platform columns to true lane instances so empty columns can be reassigned to another real platform type without cosmetic-only rename behavior; duplicate platform columns now persist as distinct lanes.
2026-03-16 Managed Ingest Capture Added Windows managed ingest sources for Encoder, Display Capture, and Window Capture, routed into the existing RTMP ingest path with operator target/preset selection.
2026-03-16 Capture Audio Paths Added managed capture audio selection for None, Desktop, Mic, and Desktop + Mic, plus mic-confidence preview and operator mute control over the always-open capture audio path.
2026-03-16 Bandwidth Telemetry Expanded bandwidth reporting so appliance throughput and physical uplink throughput can be compared against link capacity/headroom without redesigning the existing monitor surface.
2026-03-16 Measured Throughput Corrected appliance bandwidth telemetry so app IN/OUT uses live ingest/progress-derived throughput instead of nominal configured bitrate math, while Net continues to show total physical NIC DOWN/UP traffic.
2026-03-16 Modal + Installer Flow Hardened shared modal positioning/scroll behavior, managed-capture handoff from external ingest, and installer auth-page gating so already-activated Windows machines can reinstall without being forced through a redundant license-key prompt.
2026-05-12 v2.0 Migration Completed migration from Node Media Server to MediaMTX (transport/router). NMS fully removed: no legacy runtime, no patches, no dependency. FLV.js deleted; HLS.js remains as the only browser playback path. Webhook-based event handling replaces in-process NMS listeners. MediaMTX serves native LL-HLS for monitoring and exposes a REST API for stream lifecycle management. The watchdog and capture-source disconnect now poll the MediaMTX API instead of HLS mtime or NMS session state. CI workflows download MediaMTX binary at build time. This is an evolutionary, future-proof foundation.

Accomplishments + Failures (v1.2.0 Stabilization)

Date Type Detail
2026-02-27 Accomplishment FFmpeg runtime upgraded to `8.0.1` with protocol/filter verification and runtime smoke validation.
2026-02-27 Accomplishment Settings/lock save path hardened to prevent stale modal saves from silently re-locking columns.
2026-02-28 Accomplishment I/O parity finalized: click performs tray-equivalent show/hide UI behavior; press/hold opens Live Ops dashboard window.
2026-02-28 Failure (Resolved) Sortable/layer-based drawer interactions repeatedly regressed under lock-heavy scenarios (blocked drag, snapback, directional reorder faults, lane distortion).
2026-02-28 Resolution DnD layer refactored to `dnd-kit`; sortable fallback path is not recommended for this drawer surface.
2026-03-06 Accomplishment Post-drive-recovery integrity audit passed: repository structure, lock hashes, and build contracts validated before release continuation.
2026-03-07 Accomplishment Security hardening cycle completed (6/7 npm issues fixed) with risk acceptance documentation for the remaining pkg advisory.
2026-03-07 Accomplishment Ingest preview stability and bandwidth behavior improved with HLS-first + FLV fallback and explicit monitor status/error signaling.
2026-03-10 Accomplishment Shutdown/auth failure path stabilized with graceful backend teardown and supervisor-backed stop confirmation in desktop power-down flow.
2026-03-10 Accomplishment Operator visibility improved for recovery actions: Reload/Flush now require confirmation and return explicit success/failure feedback.
2026-03-10 Accomplishment Auth-protected mutation routes were reordered correctly, local shutdown under auth lock was preserved, and startup settings hydration was fixed to prevent stale browser cache from overwriting the active profile.
2026-03-10 Accomplishment The legacy backend /api/settings/locks shim was retired; runtime lock ownership remains in the UI and lock fields continue to be stripped from persisted settings.
2026-03-11 Accomplishment Backend and frontend runtime orchestration were modularized without changing the locked dashboard layout, reducing monolith risk ahead of the v1.2.0 release line.
2026-03-13 Accomplishment Runtime consistency hardening closed stale-session teardown, orphan timer/process cleanup, profile-write crossover, and polling truth drift discovered during second-pass runtime audit.
2026-03-16 Accomplishment Managed ingest capture shipped on Windows for Encoder, Display Capture, and Window Capture, including target inventory, preset selection, capture-audio options, and a mic-confidence preflight path.
2026-03-16 Accomplishment Platform columns now use a lane-instance model, allowing duplicate real platform lanes and true empty-column platform reassignment instead of cosmetic rename overrides.
2026-03-16 Accomplishment Bandwidth telemetry now separates measured appliance IN/OUT from total physical-NIC Net DOWN/UP, with the 8x estimate-conversion error documented and removed from the live path.
2026-03-16 Accomplishment Installer auth flow was corrected so persistent activation state can skip the redundant license-entry page on reinstall, rather than forcing already-licensed systems through a repeat key prompt.
2026-05-12 Accomplishment (v2.0) Node Media Server fully replaced by MediaMTX (RTMP ingest, LL-HLS serving, REST API). Binary managed via spawn/kill lifecycle with temporary YAML config generation.
2026-05-12 Accomplishment (v2.0) Five NMS event handlers (preConnect, doneConnect, prePublish, donePublish) replaced by two webhook endpoints (/api/webhook/publish-start, /api/webhook/publish-end). Capture-source disconnect migrated from nms.getSession().reject() to DELETE /v3/paths/delete/{key} via MediaMTX API.
2026-05-12 Accomplishment (v2.0) Monitor runtime fully removed (backend/monitor-runtime.js deleted, 211 lines). Watchdog migrated from HLS mtime polling to MediaMTX API health checks (GET /v3/paths/get/{key}). FLV.js vendor file and all FLV playback code stripped from StreamMonitor.jsx and embed.html. HLS-only monitoring via HLS.js.
2026-05-12 Accomplishment (v2.0) node-media-server removed from package.json, patch-package and postinstall script eliminated, NMS patch file deleted. MediaMTX + LiveForze binary paths added to pkg.assets. CI workflows (pkg-build.yml, tauri-appliance.yml) updated to download both binaries from their respective GitHub releases at build time.
2026-05-12 Accomplishment (v2.0) Lockdown manifest regenerated (286 files verified) to reflect all v2.0 changes. Prebuild checks (ESLint, preflight, Vite build, test suite) all passing with zero errors. Net change: -248 lines across 14 files.

Bandwidth Badge Legend

Badge Meaning
Status: OK / POOR / WEAK / UNSTABLE Overall quality state derived from recent throughput + jitter scoring while live.
Status: CONGESTION / BLOCKED / FAILURE Upload-path degradation tiers; these indicate increasing egress risk and should be investigated immediately.
Reason: STREAM ERROR / NO INGEST / AUDIO LOSS Current top-level fault hint shown beside the monitor to speed operator diagnosis.
Reason: DEST FAIL / HIGH UTILIZATION / HIGH JITTER Destination-specific failures or network stress indicators that may explain quality drops.

Throughput values are NIC-based best-effort estimates. Link capacity reflects adapter link speed, not a guaranteed ISP speed test.

Known Gaps / Active Hardening

Operational

  • Operator post-install physical validation remains required (target hardware/network checks).
  • Artifact manifest/checksum publication should be formalized for external release traceability.
  • Stripe checkout still needs a full end-to-end smoke test against the current website/deploy package.

Security / Access

  • Publisher identity/signing reputation workflow is in progress for improved SmartScreen trust posture.
  • Administrative tooling is restricted to authorized operators.

Quality / UX

  • Transparency: the prior DPI scaling anomaly was traced to a corrupted profile on a single test machine.
  • Appliance sizing policy is improved/hardened, but real-world monitor validation is still required after the latest window policy change.
  • FFmpeg-first capture audio muting still rebuilds the managed capture worker; native no-restart audio gating remains future architecture work.
  • MediaMTX temp YAML config is cleaned on shutdown; potential orphan config file if process is killed ungracefully.

Roadmap + Timeline (v2.0+)

Immediate (0-7 days)

  • Run operator end-to-end runtime validation against the v2.0 build with MediaMTX.
  • Validate MediaMTX webhook routing for publish-start/publish-end lifecycle.
  • Run a full Stripe checkout smoke test against the current website package and hosted flow.
  • Complete beta feedback intake and triage pass for merge-back to main.
  • Maintain deterministic gate sequence (update-locksverifyprebuildbuildverify).

Near-Term (1-3 weeks)

  • Publisher signing/reputation hardening for better SmartScreen trust posture.
  • FFmpeg-based compositing: overlays, picture-in-picture, brand watermark processing.
  • SRT/RIST egress options on the MediaMTX foundation.
  • Continue lock-state and drag persistence regression coverage on the dnd-kit path.

Deferred / Parked

  • Internal tbar-* nomenclature refactor remains parked by operator direction.
  • Control-surface integration model (Stream Deck first, extensible mapping later).
  • Policy-based output auto-recovery orchestration.
  • Multi-ingest routing via MediaMTX path-based remapping.
  • Recording, clipping, and local archiving controls.

Near-Term (1-3 weeks)

  • Publisher signing/reputation hardening for better SmartScreen trust posture.
  • Expand telemetry/dashboard coverage on the stabilized v2.0 foundation.
  • Continue lock-state and drag persistence regression coverage on the dnd-kit path.

Deferred / Parked

  • Internal `tbar-*` nomenclature refactor remains parked by operator direction.
  • Control-surface integration model (Stream Deck first, extensible mapping later).
  • Policy-based output auto-recovery orchestration.
  • Node Media Server fully replaced by MediaMTX (completed v2.0).

Source Docs Used

This page is intentionally static for now so it can later be mirrored into Notion, AppFlowy, or any third system without coupling.