3.8 KiB
3.8 KiB
DEV-CHANGELOG
This changelog tracks all changes made in the development workspace, including internal, experimental, and in-progress updates. Entries here may not be reflected in public releases or the user-facing changelog.
Unreleased (development workspace)
- TV power intent (Phase 1): Scheduler publishes retained QoS1 group-level intents to
infoscreen/groups/{group_id}/power/intentwith transition+heartbeat semantics, startup/reconnect republish, and poll-based expiry (max(3 × poll_interval_sec, 90s)). - TV power validation: Added unit/integration/canary coverage in
scheduler/test_power_intent_utils.py,scheduler/test_power_intent_scheduler.py, andtest_power_intent_canary.py. - Monitoring system completion: End-to-end monitoring pipeline is active (MQTT logs/health → listener persistence → monitoring APIs → superadmin dashboard).
- Monitoring API: Added/active endpoints
GET /api/client-logs/monitoring-overviewandGET /api/client-logs/recent-errors; per-client logs viaGET /api/client-logs/<uuid>/logs. - Dashboard monitoring UI: Superadmin monitoring page is integrated and displays client health status, screenshots, process metadata, and recent error activity.
- Bugfix: Presentation flags
page_progressandauto_progressnow persist reliably across create/update and detached-occurrence flows. - Frontend (Settings → Events): Added Presentations defaults (slideshow interval, page-progress, auto-progress) with load/save via
/api/system-settings; UI uses Syncfusion controls. - Backend defaults: Seeded
presentation_interval("10"),presentation_page_progress("true"),presentation_auto_progress("true") inserver/init_defaults.pywhen missing. - Data model: Added per-event fields
page_progressandauto_progressonEvent; Alembic migration applied successfully. - Event modal (dashboard): Extended to show and persist presentation
pageProgress/autoProgress; applies system defaults on create and preserves per-event values on edit; payload includespage_progress,auto_progress, andslideshow_interval. - Scheduler behavior: Now publishes only currently active events per group (at "now"); clears retained topics by publishing
[]for groups with no active events; normalizes naive timestamps and compares times in UTC; presentation payloads includepage_progressandauto_progress. - Recurrence handling: Still queries a 7‑day window to expand recurring events and apply exceptions; recurring events only deactivate after
recurrence_end(UNTIL). - Logging: Temporarily added filter diagnostics during debugging; removed verbose logs after verification.
- WebUntis event type: Implemented new
webuntistype. Event creation resolves URL from systemsupplement_table_url; returns 400 if not configured. WebUntis behaves like Website on clients (shared website payload). - Settings consolidation: Removed separate
webuntis_url(if present during dev); WebUntis and Vertretungsplan sharesupplement_table_url. Removed/api/system-settings/webuntis-urlendpoints; use/api/system-settings/supplement-table. - Scheduler payloads: Added top-level
event_typefor all events; introduced unified nestedwebsitepayload for bothwebsiteandwebuntisevents:{ "type": "browser", "url": "…" }. - Frontend: Program info bumped to
2025.1.0-alpha.13; changelog includes WebUntis/Website unification and settings update. Event modal shows no per-event URL for WebUntis. - Documentation: Added
MQTT_EVENT_PAYLOAD_GUIDE.mdandWEBUNTIS_EVENT_IMPLEMENTATION.md. Updated.github/copilot-instructions.mdandREADME.mdfor unified Website/WebUntis handling and system settings usage.
Note: These changes are available in the development environment and may be included in future releases. For released changes, see TECH-CHANGELOG.md.