mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-06 14:39:22 +00:00
Release v1.62.0-beta.4 candidate
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# 068 — Подсказки к настройкам: переиспользуемый «?» в любом диалоге
|
||||
# 068 — Подсказки к настройкам: переиспользуемая кнопка помощи в любом диалоге
|
||||
|
||||
- Issue: **#68**
|
||||
- Приоритет: P2, polish
|
||||
- Статус ТЗ: **реализовано локально; проверки отложены до пре-релиза** (ревизия 4)
|
||||
- Статус ТЗ: **выпущено в v1.62.0-beta.1; локально усилено после ревью** (ревизия 5)
|
||||
- Связано: #30 (информационная архитектура диалогов), #31 (доступность),
|
||||
#62 (инфраструктура i18n), #85 (тесты должны уметь падать)
|
||||
- Область: общий компонент `hp-help`, фабрика вызова Houseplan Card, `hp-dialog`,
|
||||
@@ -22,6 +22,13 @@ dialog-owned portal в composed focus traversal и запрещает Escape п
|
||||
каждом попадании фокуса. Статический scanner дополнительно запрещает сочетать
|
||||
`title=` и `_help()` на одном host-контроле.
|
||||
|
||||
Ревизия 5 по полному code review запрещает «мёртвый» affordance: кнопка помощи
|
||||
не существует в DOM, если отсутствует или пуста хотя бы одна из двух обязательных
|
||||
локализованных строк — текст подсказки либо полная ARIA-подпись. Фабрика проверяет
|
||||
пару до создания host, а сам `hp-help` повторяет защиту для прямого и динамического
|
||||
использования. Визуальный знак — MDI `help-circle-outline` («вопрос в кружке»), а не
|
||||
зависящий от системного шрифта символ `?`.
|
||||
|
||||
---
|
||||
|
||||
## 0. Что изменено ревью 2026-08-11
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Issue #94 — универсальное действие «Переключить состояние»
|
||||
|
||||
- **Статус:** ТЗ принято владельцем; редакция 2 после технического ревью
|
||||
2026-08-12; готово к реализации
|
||||
- **Статус:** реализовано в `v1.62.0-beta.3`; полный code-review и hardening
|
||||
capability/live-target contracts включены в кандидат `v1.62.0-beta.4`
|
||||
- **Issue:** https://github.com/Matysh/houseplan-card/issues/94
|
||||
- **Область:** frontend, marker action model, HA service dispatch, backend
|
||||
compatibility, i18n, документация и QA
|
||||
@@ -216,6 +216,13 @@ unavailable/disabled/secure либо исчез service/adapter), действи
|
||||
|
||||
### 6.4. Save
|
||||
|
||||
Отображаемое значение select для нетронутого action является живой эффективной
|
||||
проекцией, а не копией, зафиксированной при открытии диалога. Оно пересчитывается
|
||||
из `originalTapAction` и актуального `previewDevice.primary` на каждом render:
|
||||
если HA позднее уточнил ведущую сущность как `light.*`, UI сразу показывает
|
||||
`Переключить состояние`, как и runtime. После явного изменения select значение
|
||||
становится пользовательским и больше автоматически не меняется.
|
||||
|
||||
- `toggle` разрешено сохранять всегда, даже при `kind: none`.
|
||||
- Save не требует target.
|
||||
- После повторного открытия явно выбранный action остаётся `toggle`; legacy
|
||||
@@ -443,6 +450,14 @@ siren, vacuum, water_heater и других domains. Появление ново
|
||||
toggle только из-за наличия `turn_on`: их запуск остаётся action `run`.
|
||||
Список adapters и state semantics не копируется по renderer/click paths.
|
||||
|
||||
Реализация использует один декларативный `POWER_ADAPTERS`. Для доменов, где
|
||||
Home Assistant регистрирует service на весь domain, но ограничивает конкретную
|
||||
entity через `supported_features`, adapter требует точные bits: climate
|
||||
`TURN_OFF/TURN_ON`, water heater `ON_OFF`, siren `TURN_OFF/TURN_ON`, camera
|
||||
`ON_OFF`, media player `TURN_OFF/TURN_ON` и legacy vacuum `TURN_OFF/TURN_ON`.
|
||||
Отсутствующий или пустой `hass.services` не считается оптимистическим
|
||||
разрешением.
|
||||
|
||||
Для automation hint обязан говорить «включить/выключить автоматизацию», а не
|
||||
«запустить»: запуск остаётся отдельным action `run`.
|
||||
|
||||
@@ -582,9 +597,11 @@ cover indicator, который управляет morph/activity marker. Отд
|
||||
| Весь device disabled | Marker скрыт по действующему contract; action/config не стираются |
|
||||
| Friendly name изменён | Hint обновляет имя, entity id остаётся тем же |
|
||||
| Integration добавила более сильную role entity | Auto-target device binding может измениться; hint отражает результат |
|
||||
| Пока #73 показывает последний цельный visual frame | Click повторно находит текущий marker по id и разрешает action/controls только из live devices; исчезнувший marker даёт no-op |
|
||||
| Explicit controls + own relay | Controls полностью выигрывают; relay не fallback |
|
||||
| Default light + controls | Собственный light default сохраняется; controls не перехватывают tap |
|
||||
| Legacy cover + controls | До явного изменения action сохраняется старая cover-цель; controls игнорируются |
|
||||
| Legacy device содержит disabled и active cover | Active cover имеет приоритет; disabled cover используется только как историческая объяснимая цель, если активной больше нет |
|
||||
| Group: one on, others off | Turn off all |
|
||||
| Group: all off | Turn on all |
|
||||
| Group: часть unavailable/missing | Команда для доступного подмножества; hint перечисляет пропущенные цели |
|
||||
|
||||
@@ -70,10 +70,10 @@ GitHub Issues и GitHub Projects (v2) остаются единственным
|
||||
| [#54](https://github.com/Matysh/houseplan-card/issues/54) Zigbee topology overlay | [054-zigbee-topology-overlay.md](054-zigbee-topology-overlay.md) | research + adapter contract |
|
||||
| [#55](https://github.com/Matysh/houseplan-card/issues/55) Independent Glow overlay | [055-independent-glow-overlay.md](055-independent-glow-overlay.md) | реализовано в v1.61.0-beta.2; #61 — v1.61.0-beta.3 |
|
||||
| [#56](https://github.com/Matysh/houseplan-card/issues/56) Static room color | [056-static-room-color.md](056-static-room-color.md) | реализовано в v1.61.0-beta.3 |
|
||||
| [#68](https://github.com/Matysh/houseplan-card/issues/68) Подсказки к настройкам | [068-help-affordance.md](068-help-affordance.md) | реализовано локально; проверки на пре-релизе |
|
||||
| [#68](https://github.com/Matysh/houseplan-card/issues/68) Подсказки к настройкам | [068-help-affordance.md](068-help-affordance.md) | выпущено в v1.62.0-beta.1; локально усилено после ревью |
|
||||
| [#84](https://github.com/Matysh/houseplan-card/issues/84) Источник «Всегда» без сущности HA + [#88](https://github.com/Matysh/houseplan-card/issues/88) ведущая сущность | [084-passive-forced-light-sources.md](084-passive-forced-light-sources.md) | реализовано локально вместе; ожидает prerelease/CI gate |
|
||||
| [#90](https://github.com/Matysh/houseplan-card/issues/90) Управляемый бейдж со значением | [090-device-value-badge.md](090-device-value-badge.md) | реализовано локально; ожидает prerelease/CI gate |
|
||||
| [#94](https://github.com/Matysh/houseplan-card/issues/94) Универсальное действие «Переключить состояние» | [094-universal-state-toggle.md](094-universal-state-toggle.md) | реализовано в v1.62.0-beta.3 по редакции 2; следующий gate — beta feedback и code review |
|
||||
| [#94](https://github.com/Matysh/houseplan-card/issues/94) Универсальное действие «Переключить состояние» | [094-universal-state-toggle.md](094-universal-state-toggle.md) | реализовано в v1.62.0-beta.3; review/hardening включены в кандидат v1.62.0-beta.4 |
|
||||
|
||||
## Правило актуализации
|
||||
|
||||
|
||||
Reference in New Issue
Block a user