Fix premature OVERDUE on the API and the Complete tap doing nothing
Overdue: the API read the host clock (the deployed container runs UTC, the household is US Eastern), so every morning quest turned overdue from ~04:00 local, and the snapshot routes built a default settings object instead of the stored one. Add an additive `timezone` setting (IANA name; "" keeps the host-local behaviour), validated through the shared settings field table and exposed on the admin settings GET/PATCH. Every API clock read (panel/admin routes, the missed-sweep scheduler) now re-expresses the one host read in that zone, and the snapshot routes load the persisted settings. Complete: with target ES2022, TypeScript's useDefineForClassFields default emitted the cards' reactive fields as native class fields that shadow Lit's accessors, so setting `_confirm` never re-rendered and the confirm dialog never opened. Set useDefineForClassFields to false (Lit's documented TypeScript setting) and rebuild the bundle. Tests pin the clock at the due-time boundary for both snapshot shapes, cover the scheduler and on-time stamp, and drive the built bundle's Complete tap through to the complete_quest service call. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -112,6 +112,13 @@ CONF_AFTERNOON_REMINDER_ENABLED = "afternoon_reminder_enabled"
|
||||
CONF_END_OF_DAY_REPORT_ENABLED = "end_of_day_report_enabled"
|
||||
CONF_CELEBRATION_ENABLED = "celebration_enabled"
|
||||
DEFAULT_AUTOMATION_ENABLED = True
|
||||
# The household's IANA time zone (e.g. ``America/New_York``) the API
|
||||
# service reads its clock in. The empty string keeps the historical
|
||||
# behaviour — the API host's own local time — so an existing install is
|
||||
# unchanged until the owner sets it. The integration itself always uses
|
||||
# Home Assistant's configured ``time_zone`` and ignores this field.
|
||||
CONF_TIMEZONE = "timezone"
|
||||
DEFAULT_TIMEZONE = ""
|
||||
|
||||
# Panel-plane API client (Feature 18): the integration reaches the
|
||||
# NestQuest API service (Feature 16) over HTTP instead of the database.
|
||||
|
||||
Reference in New Issue
Block a user