Merge remote-tracking branch 'origin/dev' into feature/916210e7

Brings the expanded task icons feature (#248) into the UI-bugs branch.
Conflicts resolved:
- tests/test_panel_cards.py: kept both the UI-bugs tests (tap-to-complete,
  Lit accessor tsconfig, crest classes/geometry, meta class) and the icon
  tile tests (registry-backed open tile, star fallback, sealed star).
- frontend/tests/render-quest-log.mjs: merged doc comment to describe both
  the tiles and tap payload fields (code auto-merged).
- custom_components/nestquest/www/nestquest-cards.js: regenerated with
  npm run build from the merged source.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-26 09:45:29 -04:00
co-authored by Claude Opus 5.5
33 changed files with 5187 additions and 1101 deletions
+5
View File
@@ -152,6 +152,10 @@ core_quest_definitions = importlib.import_module(
f"{_CORE_MODULE_NAME}.quest_definitions"
)
#: The icon-key module (``core.icons.normalize_icon_for_read``) the
#: admin plane's quest-definition responses normalize ``icon`` through.
core_icons = importlib.import_module(f"{_CORE_MODULE_NAME}.icons")
#: The recurrence model (``core.recurrence.ScheduleRule`` and
#: ``RuleValidationError``) the quest-definition routes build request
#: rules with — the model validates at construction, the routes never
@@ -215,6 +219,7 @@ __all__ = [
"core_db",
"core_events",
"core_history",
"core_icons",
"core_materialize",
"core_migrations",
"core_presence",
+2 -1
View File
@@ -336,6 +336,7 @@ from api.nestquest_core import (
core_dao_children,
core_dao_rules,
core_history,
core_icons,
core_materialize,
core_presence_management,
core_quest_definitions,
@@ -1228,7 +1229,7 @@ def _quest_definition_response(
id=bundle.definition.id,
title=bundle.definition.title,
description=bundle.definition.description,
icon=bundle.definition.icon,
icon=core_icons.normalize_icon_for_read(bundle.definition.icon),
is_active=bundle.definition.is_active,
skip_on_away=bundle.definition.skip_on_away,
rule=_rule_response(bundle.rule),