--- key: spa.datetime-local-input title: 2026-07-09 — datetime-local instead of Chronic natural-language start parsing status: active since: '2026-07-09' supersedes: none superseded-by: none rule: The channel-mode date/time input uses a native `` instead of free-text Chronic natural-language parsing. signals: '`playback.m3u8` `start` param, ISO-8601 round-trip · paths: none beyond the screen itself · issues: none cited' mechanics: playback-troubleshooting screen, `playback.m3u8` `start` param --- The channel-mode "Date and Time" input in the SPA playback-troubleshooting screen uses a native ``, a **deliberate deviation** from the Blazor page, which parsed a free-text field with `Chronic.Core.Parser` (natural language like "yesterday at 8pm"). The SPA has no Chronic dependency and a picker is unambiguous; the selected local datetime is sent to `playback.m3u8` as an ISO-8601 `start` param via `new Date(value).toISOString()`, which the controller binds to `DateTimeOffset?` exactly as the Blazor round-trip (`"o"`) format did.