A JSON body with one field reset every checkbox in the sections it touched:
the MQTT bridge's brightness slider turned off disable_hardware_pulsing,
inverse_colors, show_refresh_rate and use_short_date_format, and a
timezone-only save turned off web-UI autostart and weekly auto-updates.
Missing-means-unchecked now applies only to form posts: form-encoded bodies
and the v3 forms, which mark themselves with a hidden __form_section input.
Also on the config routes:
- vegas_min/max_cycle_duration no longer match the generic *_duration rule,
so they stop landing in display_durations and a blank one no longer
rejects the whole Display save;
- saving from the Raw JSON editor calls start_setup_if_needed like the
General form, so enabling auto-update there finishes its setup;
- the schedule and dim-schedule POSTs accept the per-day days.<day> shape
their GETs return, as well as the flat form keys.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>