mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
v1.60.0: harden background editing and device state
This commit is contained in:
@@ -137,6 +137,26 @@ Lovelace **пересоздаёт элемент карточки** — выбр
|
||||
из осевшей геометрии (`_bootSettled`), поэтому холодный бут по-прежнему платит
|
||||
полный защитный цикл.
|
||||
|
||||
### 2.1. Возврат после долгого сна вкладки
|
||||
|
||||
Тёплый viewport решает пересоздание экземпляра, но после долгого background
|
||||
браузер, HA chrome и websocket могут проснуться в разных кадрах. В этот момент
|
||||
`ResizeObserver` способен выдать нулевой или промежуточный размер сцены. Такой
|
||||
размер больше никогда не меняет `_view`.
|
||||
|
||||
Если вкладка была скрыта не меньше 15 секунд, обычный режим Просмотра включает
|
||||
короткий `_resumeSettling`: содержимое сцены остаётся за её уже правильным
|
||||
фоном, пока размер не станет ненулевым и спокойным. После этого сохранённые
|
||||
центр и zoom пересчитываются по окончательной геометрии и открываются одним
|
||||
кадром. Памятка `warmBoot` во время промежуточного кадра не обновляется.
|
||||
Быстрое переключение вкладок, редакторы и киоск в этот путь не входят.
|
||||
|
||||
Толстые стены дополнительно имеют критические `fill`, `stroke`, opacity и
|
||||
`fill-rule` как SVG presentation attributes. Поэтому даже промежуточный кадр
|
||||
нового DOM-экземпляра не может получить браузерную заливку `black` до того,
|
||||
как применятся стили компонента; CSS hooks при этом сохранены и по обычному
|
||||
каскаду остаются сильнее presentation attributes.
|
||||
|
||||
## 3. Диалоги переживают пересоздание
|
||||
|
||||
В той же записи памятки лежит `dlg`: `{ kind, space, mode, data }`, где
|
||||
|
||||
Reference in New Issue
Block a user