mirror of
https://github.com/Matysh/houseplan-card
synced 2026-07-31 16:38:31 +00:00
v1.54.2: HP-1541-01 — vacuum selected_map fallback obeys the not-nullish map-id contract
The v1.54.1 contract (first not-None value wins, zero is a value) covered the source entity but not the card's fallback on the vacuum's own selected_map: _vacMapId still used truthiness, so selected_map: 0 became 'default' on the frontend while trails.py resolve_map_id stored the run under '0'. Calibration and server trails split across two keys and the recorded run never rendered after reload. The fallback is now the shared pure helper vacMapIdWithFallback (nullish check), mirroring resolve_map_id. Cross-runtime regressions added for selected_map = 0, '0' and '' on both sides; the frontend cases fail on the old truthiness code.
This commit is contained in:
@@ -6,6 +6,23 @@
|
||||
> **Правило проекта:** оба файла пополняются в одном коммите с самим
|
||||
> изменением — как и остальная документация (см. docs/STATUS.md).
|
||||
|
||||
## v1.54.2 — 2026-07-31
|
||||
|
||||
Патч-релиз: единственная оставшаяся находка повторного аудита v1.54.1
|
||||
(HP-1541-01), закреплена регрессиями с обеих сторон контракта.
|
||||
|
||||
- **Исправлено: пылесос с собственным `selected_map: 0` делил калибровку и
|
||||
след между двумя id карты.** Контракт map id из v1.54.1 («побеждает
|
||||
первое существующее значение, и ноль — значение») был применён к
|
||||
source-сущности, но не к фолбэку карточки на `selected_map` самого
|
||||
пылесоса: фронтенд по-прежнему судил по «истинности» и превращал `0` в
|
||||
`default`, тогда как серверный рекордер писал уборку под `0`. Калибровка
|
||||
сохранялась под ключом, которого рекордер не использовал, а записанный
|
||||
след после перезагрузки не отображался. Теперь фолбэк живёт по тому же
|
||||
правилу «не-null» с обеих сторон (`vacMapIdWithFallback` в карточке,
|
||||
`resolve_map_id` на сервере), с кросс-регрессиями для `selected_map` =
|
||||
`0`, `"0"` и `""`.
|
||||
|
||||
## v1.54.1 — 2026-07-31
|
||||
|
||||
Патч-релиз: всё, что нашёл adversarial-аудит v1.54.0 (HP-1540-01..06),
|
||||
|
||||
Reference in New Issue
Block a user