Let a card's back button take its taps again (0.2.56)
Since firmware 0.2.44 the back arrow of the brightness, colour and climate cards barely responded, and so did the button at the top right of the climate card. on_boot created the settings hold strip after the YAML cards on home_page, so the transparent strip lay on top of them and LVGL's hit test gave it the taps in the top bar region. attach_hold now takes the first card as `below` and moves the strip and its fill line to that index, under every card. Holding the top bar opens the settings page from the tile pages only. The dim wake overlay was never affected: apply_screen_settings moves it to the foreground when dimmed. Checked with 215 Python and 14 C++ tests, generate_packages --check, and ESP32 builds of both Easy profiles. Firmware 0.2.48. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# Test results app 0.2.56 / firmware 0.2.48 (2026-09-16)
|
||||
|
||||
Max found that the back arrow on the colour card of Studio 1 (firmware 0.2.44) did not respond, while the
|
||||
card itself kept working. Cause: `settings_screen::attach_hold` (firmware 0.2.44+) creates the transparent
|
||||
hold strip for the settings page in `on_boot`, after the YAML cards on `home_page`. It therefore lay on top of
|
||||
them, and LVGL's hit test gave taps in the top bar region (x 32-448, y 0-72 on the Guition) to the strip
|
||||
instead of the card's back button (x 16-76, y 16-76) or its action at the top right. See CHANGELOG 0.2.56
|
||||
and the compatibility note in docs/RELEASING.md.
|
||||
|
||||
## Automated
|
||||
|
||||
- Python (`.venv-portal`): 215 tests OK. `tests/test_settings_page.py` adds
|
||||
`test_the_hold_strip_lies_under_every_card`: `attach_hold` moves the strip under `below`, both profiles pass
|
||||
`id(brightness_overlay)`, it is the first card on `home_page` (before colour, climate, climate mode and the
|
||||
dim wake overlay), and the page controls come before it.
|
||||
- C++ (`clang++ -std=c++17 -Wall -Wextra -Werror -I. -I components/smart_display`): 14/14 PASS.
|
||||
- `generate_packages.py --check` green.
|
||||
- LVGL 9.5 `lv_obj_move_to_index` read in the bundled source: moving the strip and then the fill line to the
|
||||
index of `brightness_overlay` leaves strip < line < every card in the child order, and the hit test searches
|
||||
the last child first.
|
||||
|
||||
## Builds (ESPHome 2026.6.2)
|
||||
|
||||
| Profile | RAM | Flash | vs 0.2.55 |
|
||||
|---|---|---|---|
|
||||
| easy-guition-device.yaml | 24.0% (78,732 B) | 18.4% (1,496,815 B) | +0 B RAM, +40 B flash |
|
||||
| easy-cyd-device.yaml | 23.0% (75,484 B) | 76.1% (1,396,847 B) | +0 B RAM, +48 B flash |
|
||||
|
||||
## Not tested / for the owner
|
||||
|
||||
- Hardware and a real LVGL hit test. Nothing was flashed. Studio 1 updates through Home Assistant. On real
|
||||
glass after the update: the back arrow on the brightness, colour and climate cards, the button at the top
|
||||
right of the climate card, and holding the top bar on a tile page still opens the settings page.
|
||||
Reference in New Issue
Block a user