Commit Graph

22 Commits

Author SHA1 Message Date
RobbStarkAustria
fb0980aa88 fix(mqtt): force event topic resubscribe on reconnect [consent: user-approved] 2026-03-31 15:47:10 +02:00
RobbStarkAustria
25cf4e3322 feat(mqtt): finalize dashboard screenshot payload v2 and trigger flow
- switch dashboard payload to grouped schema v2.0 in simclient
- support immediate event-triggered screenshot sends via meta.json signaling
- update README and copilot instructions to document v2 payload and trigger behavior
- update migration checklist to reflect completed client/server rollout
2026-03-30 17:53:58 +02:00
RobbStarkAustria
77db2bc565 Way to V2 messaging 2026-03-30 14:18:56 +02:00
RobbStarkAustria
9d256788bc Remove bug from display manager of missing function 2026-03-30 12:13:48 +02:00
RobbStarkAustria
ba6785528d remove bug for playing videos 2026-03-29 15:04:09 +02:00
RobbStarkAustria
5d32b0a3eb add support for Wayland-screenshots 2026-03-29 13:10:33 +02:00
RobbStarkAustria
c4bd27510c Add scripts to kill and restart all processes 2026-03-29 12:51:36 +02:00
RobbStarkAustria
d6090a6179 fix(screenshots): harden event-triggered MQTT screenshot flow and cleanup docs
- fix race where periodic captures could overwrite pending event_start and event_stop metadata before simclient published
- keep latest.jpg and meta.json synchronized so triggered screenshots are not lost
- add stale pending trigger self-healing to recover from old or invalid metadata states
- improve non-interactive capture reliability with DISPLAY and XAUTHORITY fallbacks
- allow periodic idle captures in development mode so dashboard previews stay fresh without active events
- add deeper simclient screenshot diagnostics for trigger and metadata handling
- add regression test script for metadata preservation and trigger delivery
- add root-cause and fix documentation for the screenshot MQTT issue
- align and deduplicate README screenshot and troubleshooting sections; update release notes to March 2026
- fix scripts/start-dev.sh .env loading to ignore comments safely and remove export invalid identifier warnings
2026-03-29 10:38:29 +02:00
RobbStarkAustria
cda126018f Add screenshot consent notice and improve video frame/audio handling
- add required dashboard screenshot consent/privacy notice to README
- update copilot instructions to preserve consent notice in docs
- document external VLC audio behavior (`--no-audio` for muted/0%, `--gain` otherwise)
- capture real video frames for dashboard screenshots instead of black compositor output
- make ffmpeg fallback frame capture playback-relative (loop-aware) to avoid repeated stale image
2026-03-26 21:44:52 +01:00
RobbStarkAustria
cfc1931975 Add client volume settings and harden screenshot publishing
- persist client config from MQTT for display manager volume control
- apply effective VLC volume from event volume and client multiplier
- support live runtime volume updates for active video playback
- make latest screenshot handoff atomic to avoid broken latest.jpg races
- ignore broken screenshot pointers when selecting fallback images
- fix screenshot size logging and document server-side volume control
2026-03-22 12:41:13 +01:00
RobbStarkAustria
80e5ce98a0 feat(client-monitoring): finalize client-side monitoring and UTC logging
- add process health bridge and monitoring flow between display_manager and simclient
- publish health + warn/error log topics over MQTT
- standardize log/payload/screenshot timestamps to UTC (Z) to avoid DST drift
- improve video handling: python-vlc fullscreen enforcement and runtime PID reporting
- update README and copilot instructions with monitoring architecture and troubleshooting
- add Phase 3 monitoring implementation documentation
- update gitignore for new runtime/log artifacts
2026-03-11 20:24:38 +01:00
RobbStarkAustria
1c445f4ba7 align .env.template with .env
stragety for client monitoring setup
2026-03-11 11:40:45 +01:00
RobbStarkAustria
2340e698a4 create env template 2026-02-25 18:41:26 +01:00
RobbStarkAustria
d021e21544 feat: server-side PPTX conversion + screenshot dashboard system
PPTX Conversion:
- Remove LibreOffice from client dependencies (server uses Gotenberg)
- Update docs to reflect clients only display pre-rendered PDFs
- Clarify server-side conversion workflow in README and copilot-instructions

Screenshot System:
- Add background screenshot capture in display_manager.py
- Implement Wayland/X11 session detection with tool fallback
- Add client-side image processing (downscale + JPEG compression)
- Create timestamped files + latest.jpg symlink for easy access
- Implement file rotation (max 20 screenshots by default)
- Enhance simclient.py to transmit via MQTT dashboard topic
- Add structured JSON payload with screenshot, timestamp, system info
- New env vars: SCREENSHOT_CAPTURE_INTERVAL, SCREENSHOT_MAX_WIDTH,
  SCREENSHOT_JPEG_QUALITY, SCREENSHOT_MAX_FILES, SCREENSHOT_ALWAYS

Architecture: Two-process design with shared screenshots/ volume
2025-11-30 13:49:27 +01:00
RobbStarkAustria
65d7b99198 Improve MQTT resilience, clarify behavior, and minor UX
Switch to Paho v2 callbacks; add loop_start() and reconnect_delay_set() for auto-reconnect
Rework on_connect/on_disconnect to v2 signatures; handle session_present and reconnection flows
Gate heartbeats with client.is_connected() and add short retry on rc=4 (NO_CONN)
Re-send discovery after reconnect; ensure re-subscription to all topics
Add startup terminal message with ISO timestamp in simclient.py
Docs: update README and Copilot instructions with reconnection/heartbeat guidance and benign rc=4 notes
2025-11-30 09:20:48 +01:00
RobbStarkAustria
d14789b1f4 Server-side PPTX shift: Docs updated (README, copilot instructions) to reflect PDF-only workflow; legacy LibreOffice paths marked optional.
Setup improvements: Added pi-setup.sh (clone-before-venv, requirements-based install) + HDMI-CEC cec-utils inclusion.
Dependencies: Corrected python-dotenv, added server-side rendering + CEC notes in requirements.txt.
CEC integration: Confirmed and documented usage; minor wording adjustments.
2025-11-23 11:14:35 +01:00
RobbStarkAustria
6617c3d7b9 HDMI-CEC: auto-disable in dev mode + docs/tests synced
README: document dev-mode CEC auto-disable; add testing notes; set CEC_POWER_OFF_WAIT=5
Copilot instructions: add dev-mode CEC behavior and test script guidance
test-hdmi-cec.sh: respect ENV=development (skip option 5), explicit .env load, ASCII output, 30s wait
display_manager: remove emoji from logs to avoid Unicode errors
2025-11-12 17:09:11 +01:00
RobbStarkAustria
947552fad1 Finalize ignores and add .env.template 2025-10-25 18:04:17 +02:00
RobbStarkAustria
e6755e554e Add .env.template with placeholders (remove sensitive info) 2025-10-25 18:01:15 +02:00
RobbStarkAustria
4305da87cf Consolidate ignores: merge src/.gitignore into top-level .gitignore and remove src/.gitignore 2025-10-25 18:00:59 +02:00
RobbStarkAustria
12d67dd7f4 Remove embedded git backup directories from new repository 2025-10-25 17:43:08 +02:00
RobbStarkAustria
8ca9f69f6f Initial import: clean snapshot from /home/olafn/infoscreen-dev (2025-10-25) 2025-10-25 17:42:27 +02:00