AIO Relay Status
Single source page for release posture, current updates, known gaps, and roadmap checkpoints.
Current Package Baseline
v1.2.0
UI Version Marker
v1.2.0
Latest Runtime Fix Pack
2026-03-17
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
Runtime consistency hardening
Managed Encoder / Display / Window / Playlist ingest
Playlist evergreen playout live
Playlist folder-open workflow live
Light / Dark theme toggle live
Appliance shell finish polished
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-03-17 | Playlist Source | Added a separate evergreen Playlist ingest source with local playlist/ folder scan, checkbox row selection, row ordering, Play / Repeat transport, and folder-open workflow directly from the Playlist tab. |
| 2026-03-17 | Playlist Playout Runtime | Added branded interstitial slate behavior between multi-item playlist selections so local playout feels intentional instead of like a hard source handoff. |
| 2026-03-17 | Shell Finish + Theme | Polished the appliance shell so the metallic perimeter runs to the app edges, the deep ridge treatment remains, light mode is operator-available, and the drawer bottom now finishes with the same shell language as the rest of the appliance. |
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, Window Capture, and Playlist, 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. |
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.
- Playlist multi-item
Repeatcan still show a small seam only at end-of-cycle restart. - Lint/code-quality cleanup continues (`server.js` baseline and naming cleanup tasks).
Roadmap + Timeline (Post v1.2.0)
Immediate (0-7 days)
- Run operator end-to-end runtime validation against the packaged v1.2.0 mainline build.
- Run a full Stripe checkout smoke test against the current website package and hosted flow.
- Hold v1.2.0 as the new baseline and document only release-closeout fixes until v1.3 planning begins.
- Maintain deterministic gate sequence (`update-locks` -> `verify` -> `prebuild` -> `verify` -> `build` -> `verify`).
Near-Term (1-3 weeks)
- Publisher signing/reputation hardening for better SmartScreen trust posture.
- Expand telemetry/dashboard coverage on the stabilized v1.2.0 foundation.
- Continue lock-state and drag persistence regression coverage on the
dnd-kitpath.
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 v4 evaluation/migration after the v1.2.0 line is closed.
Source Docs Used
- Current release handoff and closeout summary
docs/HANDOFF_PLAYLIST_MODULE_v1.2.0_2026-03-17.mddocs/AgentProtocols.md- Archived release and hardening notes under
docs/archive/2026-03-17-v1.2-closeout/ - Installer manifests and release checksums under
docs/release-manifests/ - Targeted rollback notes under
docs/revert-points/
This page is intentionally static for now so it can later be mirrored into Notion, AppFlowy, or any third system without coupling.