diff --git a/custom_components/houseplan/__pycache__/const.cpython-310.pyc b/custom_components/houseplan/__pycache__/const.cpython-310.pyc index 881b32e..ce47d45 100644 Binary files a/custom_components/houseplan/__pycache__/const.cpython-310.pyc and b/custom_components/houseplan/__pycache__/const.cpython-310.pyc differ diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 578f09b..c3f23a4 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -12,8 +12,8 @@ `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 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 - later through somebody's error message. + and forgetting the schema now fails the test suite instead of surfacing + through somebody's error message. ## 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).** diff --git a/docs/CHANGELOG.ru.md b/docs/CHANGELOG.ru.md index c30d223..e8815c7 100755 --- a/docs/CHANGELOG.ru.md +++ b/docs/CHANGELOG.ru.md @@ -20,7 +20,7 @@ экспортируются из карточки, и backend-тест читает их, проверяя, что схема принимает каждое значение, которое пользователь реально может выбрать. Теперь добавить опцию в редактор и забыть про схему — значит уронить тесты, а - не узнать об этом через полтора года из чужого сообщения об ошибке. + не узнать об этом из чужого сообщения об ошибке. ## v1.45.2 — 2026-07-27 (закалка по ревью v1.45.1: R4-1, R4-2) - **Сбой уборки больше не превращает принятое сохранение в ошибку (R4-1).** diff --git a/src/logic.ts b/src/logic.ts index 177a039..3d9aedc 100644 --- a/src/logic.ts +++ b/src/logic.ts @@ -537,10 +537,13 @@ export type TapAction = 'info' | 'more-info' | 'toggle'; * * `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, - * so saving any marker configured that way was rejected outright — the feature - * was unusable for a year and a half and only surfaced through a user's error - * message (issue #3, 2026-07-27). The lists are exported so a backend test can - * read them and assert the schema accepts every value a user can pick. + * so saving any marker configured that way was rejected outright — and since + * one bad marker fails the whole config write, the plan could not be saved at + * all. Shipped 2026-07-21, found by a user on 2026-07-27: six days, and only + * 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. */ export const DISPLAY_MODES = ['badge', 'ripple', 'icon_ripple', 'value'] as const;