docs: the value-display bug lived six days, not a year and a half
Validate / hacs (push) Failing after 7s
Validate / hassfest (push) Failing after 6s
Validate / frontend (push) Successful in 1m44s
Validate / backend (push) Failing after 6m15s
Validate / smoke (push) Failing after 12m28s

Version distance is not calendar distance. v1.26.0 shipped 2026-07-21 and the
report came in on 2026-07-27; the project itself is three weeks old. The point
stands and is unchanged — nothing in the suite could have caught it, because the
option list and the schema were written in two languages and never compared —
but the 'year and a half' was wrong.
This commit is contained in:
Matysh
2026-07-28 00:29:40 +03:00
parent 3d41fe16b8
commit 8b531db3f5
4 changed files with 10 additions and 7 deletions
+2 -2
View File
@@ -12,8 +12,8 @@
`DISPLAY_MODES`, `TAP_ACTIONS`, `SPACE_FILL_MODES` and `ROOM_FILL_MODES` are `DISPLAY_MODES`, `TAP_ACTIONS`, `SPACE_FILL_MODES` and `ROOM_FILL_MODES` are
exported from the card and read by a backend test that asserts the schema exported from the card and read by a backend test that asserts the schema
accepts every value a user can actually pick. Adding an option to an editor accepts every value a user can actually pick. Adding an option to an editor
and forgetting the schema now fails the test suite instead of surfacing a year and forgetting the schema now fails the test suite instead of surfacing
later through somebody's error message. through somebody's error message.
## v1.45.2 — 2026-07-27 (hardening from the v1.45.1 review: R4-1, R4-2) ## v1.45.2 — 2026-07-27 (hardening from the v1.45.1 review: R4-1, R4-2)
- **A failed cleanup no longer reports an accepted save as an error (R4-1).** - **A failed cleanup no longer reports an accepted save as an error (R4-1).**
+1 -1
View File
@@ -20,7 +20,7 @@
экспортируются из карточки, и backend-тест читает их, проверяя, что схема экспортируются из карточки, и backend-тест читает их, проверяя, что схема
принимает каждое значение, которое пользователь реально может выбрать. принимает каждое значение, которое пользователь реально может выбрать.
Теперь добавить опцию в редактор и забыть про схему — значит уронить тесты, а Теперь добавить опцию в редактор и забыть про схему — значит уронить тесты, а
не узнать об этом через полтора года из чужого сообщения об ошибке. не узнать об этом из чужого сообщения об ошибке.
## v1.45.2 — 2026-07-27 (закалка по ревью v1.45.1: R4-1, R4-2) ## v1.45.2 — 2026-07-27 (закалка по ревью v1.45.1: R4-1, R4-2)
- **Сбой уборки больше не превращает принятое сохранение в ошибку (R4-1).** - **Сбой уборки больше не превращает принятое сохранение в ошибку (R4-1).**
+7 -4
View File
@@ -537,10 +537,13 @@ export type TapAction = 'info' | 'more-info' | 'toggle';
* *
* `display` gained 'value' in v1.26.0 ("show the measurement instead of the * `display` gained 'value' in v1.26.0 ("show the measurement instead of the
* icon") but the backend schema still only accepted badge/ripple/icon_ripple, * icon") but the backend schema still only accepted badge/ripple/icon_ripple,
* so saving any marker configured that way was rejected outright the feature * so saving any marker configured that way was rejected outright and since
* was unusable for a year and a half and only surfaced through a user's error * one bad marker fails the whole config write, the plan could not be saved at
* message (issue #3, 2026-07-27). The lists are exported so a backend test can * all. Shipped 2026-07-21, found by a user on 2026-07-27: six days, and only
* read them and assert the schema accepts every value a user can pick. * because they pasted the error text. Nothing in the suite could have caught
* it, because the option list and the schema that stores it were written in
* two languages and never compared. They are exported here so a backend test
* can read them and assert the schema accepts every value a user can pick.
* Adding an option here and forgetting the schema now fails the test suite. * Adding an option here and forgetting the schema now fails the test suite.
*/ */
export const DISPLAY_MODES = ['badge', 'ripple', 'icon_ripple', 'value'] as const; export const DISPLAY_MODES = ['badge', 'ripple', 'icon_ripple', 'value'] as const;