Files
qwen-image/tour-comfy
mike de71049079 Summary
• Implemented a system-wide privacy lock that automatically hides the studio interface when the OS is locked or when triggered via a new API endpoint.

   Changes
   • Backend edit_api.py:
     • Added a background monitor daemon that uses gdbus to listen for Ubuntu/GNOME screen lock events org.gnome.ScreenSaver.ActiveChanged.
     • Introduced a global _privacy_locked state synchronized across the backend.
     • Added new API endpoints: GET /privacy/status, POST /privacy/lock, and POST /privacy/unlock to allow external triggers e.g., keyboard macros.
     • Updated the static data exporter to include system_status.json, enabling efficient frontend polling.
   • Frontend car.html:
     • Added a 3-second polling mechanism to check for the system lock state.
     • Implemented auto-activation of Privacy Mode and the privacy overlay when a system lock transition is detected.
     • Added a visual toast notification when the app is auto-locked by the system.

   Verification
   • Verified backend code integrity via py_compile.
   • Confirmed that the gdbus monitor command correctly identifies GNOME lock states.
   • Ensured the frontend polling logic correctly handles transitions without redundant UI flickering.

   Notes
   • To map the Logitech Craft multimedia button top left, use a tool like Solaar or Ubuntu's Custom Shortcuts to execute: curl -X POST http://localhost:8500/privacy/lock. This will instantly hide the app regardless of browser focus.
2026-06-28 12:39:19 +02:00
..
2026-06-27 00:45:45 +02:00
2026-06-28 12:39:19 +02:00
2026-06-27 13:51:51 +02:00
2026-06-28 03:33:02 +02:00
2026-06-27 00:45:45 +02:00
2026-06-28 12:39:19 +02:00
2026-06-27 23:01:16 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 01:22:26 +02:00
2026-06-28 12:39:19 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 01:22:26 +02:00
2026-06-27 00:45:45 +02:00
2026-06-28 00:51:07 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 00:45:45 +02:00
2026-06-27 23:01:16 +02:00
2026-06-27 00:45:45 +02:00