Note remchild discovery and heartbeat notices

This commit is contained in:
Fisto
2026-09-22 19:31:49 +02:00
parent 03a629b449
commit ad06fce7df
+9
View File
@@ -40,6 +40,15 @@ mobile draft at 390px.
- [x] C11 preview caching: Discord-hosted image/GIF previews (WebP 320px, hash-addressed, 5 MiB - [x] C11 preview caching: Discord-hosted image/GIF previews (WebP 320px, hash-addressed, 5 MiB
cap, one attempt) run after every walk in both modes. Live run `...-20260916090722`: cap, one attempt) run after every walk in both modes. Live run `...-20260916090722`:
`previewed: 2`; thumbs served over `/api/media/<scrape>/<item>/thumb` (200). `previewed: 2`; thumbs served over `/api/media/<scrape>/<item>/thumb` (200).
- [x] C81 remchild discovery and heartbeat-miss notices. The server answers UDP probes on 8798
and beacons `{type,name,port,id}` to every interface broadcast; `remchild` with no `--server`
probes for 5 s, auto-connects on one answer, shows a pick list on several, and falls back to
the typed address on none. `--server` skips discovery. The server also watches the fast
heartbeat phases (10 s/30 s): a missed heartbeat sends an informational `notice` that the
client prints as "the connection may be unstable" — nothing else changes. Verified live:
discovery dedupe by beacon id, welcome + 3 ms pong, a no-heartbeat fake client got
`missed: 1`, and the client printed a `missed: 3` notice. Branch `remchild` at `e38d7d0`;
server running here on 8799 with `--allow-all` and the static client rebuilt for scp.
- [x] C80 Request Desktop Website is honored. The layout was already width-driven, so browsers - [x] C80 Request Desktop Website is honored. The layout was already width-driven, so browsers
that widen the viewport for desktop mode (Safari, Chrome) got the desktop layout. Browsers that widen the viewport for desktop mode (Safari, Chrome) got the desktop layout. Browsers
that only swap the user agent (Firefox Android) stayed mobile. `app.js` now detects that case that only swap the user agent (Firefox Android) stayed mobile. `app.js` now detects that case