Session handover — 2026-08-12

Single entry point for this session on telep-mainframe + the tailnet. Every thread below already has a detailed dated note — this ties them together, states current status per subsystem, and lists what still needs a human. Canonical living runbook: telep-mainframe-handover. Prior handover: 2026-08-10-session-handover.

Access

/usr/bin/ssh levander@telep-mainframe (bare ssh is broken on this Mac). Router root@telep-router over the mainframe.

Status at a glance

SubsystemState
Top-kép community votingLIVE — replaces the Google-Drive workflow. Mobile-first UI, tap-to-zoom lightbox, Person/Car filter, on-demand HD button. Tailnet-only https://telep-mainframe.taild4189d.ts.net:8443 (routes /nap /het /honap). Verified end-to-end in a real browser.
Frigate HD recording✅ now records the 2304×1296 MAIN streams (detect still on 720p subs). ⚠️ each Tapo now serves 4 RTSP pulls (sub+main × 2 lenses) + ONVIF — watch for camera connection limits.
Camwall (TV wall)✅ working + hardened — per-pane freeze watchdog (all 4 mpv sockets) + HDMI 4K mode-enforce + watchdog resolution auto-heal (survives power events).
Cameras✅ healthy (~5fps), rebooted this session, OSD clocks correct.
Camera reboot tooling✅ ONVIF reboot works (~/tapo-ctl/reboot-cams-onvif.py); old pytapo reboot-cam.py creds are DEAD; reboot now re-syncs the OSD clock.
AirPlay receiver (telep-tv)⚠️ STILL BROKEN — fix PARKED awaiting user go-ahead (needs a Wi-Fi bounce).
Printer (HP LaserJet M203dw)⚠️ DEAD Ethernet NIC after the power outage; USB fallback pending user action.
Needs you⚠️ see below

Open items — needs you

Human action required

  • AirPlay — approve clearing AP client-isolation on the telep1 Wi-Fi to restore the receiver. Root cause (diagnosed + fix ready, not yet applied): the running hostapd for the telep1 BSSes has ap_isolate=1 (with NO uci backing — only the telepcc/cams SSID is meant to be isolated), which drops wired→Wi-Fi mDNS multicast, so Wi-Fi clients can’t discover telep-tv. Fix: uci set wireless.telep1_5.isolate='0'; uci set wireless.telep1_2.isolate='0'; uci commit wireless; wifi reload on telep-router (leaves the cams SSID telepcc isolated). Costs a ~5–10s Wi-Fi bounce — that’s why it’s held for approval. Also likely fixes general mDNS discovery from Wi-Fi (Bonjour/printers-from-Wi-Fi).
  • Printer — the M203dw’s Ethernet NIC is dead: after the outage it shows link/carrier up but rx_packets=0 on the switch port (sent the router ZERO frames), unchanged across a power-cycle, a NEW cable, and a DIFFERENT port. Diagnosed as surge-damaged/hung NIC. The unit has NO screen. Plan: connect it to telep-mainframe by USB (A-to-B), then add it to CUPS as a USB printer (CUPS is healthy, driver present) — awaiting the physical plug-in. The old DHCP-reservation open item is moot until it’s on a network again; if the NIC is truly dead, USB is the path (or service/replace the printer).
  • Watch: cameras now serve 4 concurrent RTSP pulls each after the HD-recording change — watch for camera-side connection limits under load.
  • (Longstanding, from prior handover) 3rd-GPU PCIe cable; a dedicated mains circuit for the space.

What happened this session

Top-kép voting — built out + hardened (replaces Drive)

  • An earlier review pass found + fixed real bugs, incl. a CRITICAL pre-existing one: GRID_TAIL was raw-concatenated with doubled {{ }} braces → invalid JS → the vote button never worked (voting had never functioned in a browser). Also fixed: stored XSS via client-supplied camera, a concurrent-toggle 500 (now atomic DELETE-rowcount + INSERT OR IGNORE), un-vote disk reclaim, CSRF (Sec-Fetch-Site), and votes.db perms (644→600). See 2026-08-10-top-kep-community-voting-system.
  • This session added: mobile-first bigger cards; a full-screen tap-to-zoom lightbox (Nagyítás / ❤ / Bezár); a Person/Car filter (?label=, new pics.label column); the Frigate HD-recording reconfig; and the “Magasabb minőség” HD button (/pic/<id>?hq=1 → recording-snapshot at event time, cached to /srv/top-kep/hq, 720p fallback). All verified live via a headless real browser (filter toggles, lightbox, HD upgrade 1280→2304, vote→persist→un-vote→reclaim).

Cameras “stuck” → camwall watchdog gap + dead reboot creds

  • Root cause was the camwall (not Frigate): only 1 of 4 mpv panes had an IPC socket, so 3 panes had no freeze detection. Fixed: all 4 panes get sockets, watchdog re-rolls on any pane stall (verified via stall simulation). Also the pytapo reboot creds were dead → switched to ONVIF SystemReboot; reboot now re-syncs the OSD clock (Tapos have no RTC). See 2026-08-11-camwall-freeze-and-cam-reboot-fixes.

Power outage → TV render didn’t come back

  • Host stayed up on UPS; the blip made Xorg fall back to 640×480 with no mode on HDMI-1, so the 4K wall couldn’t map (black panes). Fixed manually (set HDMI-1 to 3840×2160 + re-roll) and HARDENED: camwall enforces 4K on every start, and the watchdog detects a resolution fallback and re-rolls (both verified via fault injection). See 2026-08-11-camwall-hdmi-mode-fallback-power-recovery.

Printer died after the outage

  • Full diagnosis (LAN sweep + router leases/ARP/FDB + per-port packet counters) → dead Ethernet NIC (link up, zero frames), not the network and NOT the AirPlay/mDNS issue (verified: even the wired mainframe can’t see it). USB fallback is the path.