feat!: remove skill-side home/resting screen API#421
Conversation
The home/resting screen is a GUI render-backend concern, not a skill concern. Skills are voice apps and must not provide or register a home or resting screen (OVOS-GUI-1 §6.9: the resting display is owned by the render backend; applications MUST NOT provide/register a home or resting screen). Removes the skill-side homescreen/resting-screen API: - decorators: drop `resting_screen_handler` and `homescreen_app` - skills: delete `IdleDisplaySkill` (idle_display_skill.py) and its re-export from `ovos_workshop.skills` - OVOSSkill: drop `register_resting_screen()` and `register_homescreen_app()`, the `register_resting_screen()` init call, and the homescreen-app registration block in `_register_app_launcher` (now a no-op); remove the now-dead `__skill_id2name` helper and the unused `shutil` / `get_xdg_cache_save_path` imports - tests: delete test_idle_display_skill.py BREAKING CHANGE: `resting_screen_handler`, `homescreen_app`, `IdleDisplaySkill`, `OVOSSkill.register_resting_screen` and `OVOSSkill.register_homescreen_app` are removed. Skills can no longer register a home or resting screen; this is handled by the GUI render backend. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Hello! I've finished running some automated checks on this PR. 👋I've aggregated the results of the automated checks for this PR below. 🔍 LintGeneric report status: Complete and verified. ✅ ❌ ruff: issues found — see job log 📋 Repo HealthKeeping the project in tip-top shape! 🏃 ✅ All required files present. Latest Version: ✅ 🔒 Security (pip-audit)Ensuring our password hashing is up to date. 🔨 ✅ No known vulnerabilities found (72 packages scanned). ⚖️ License CheckEnsuring our licenses allow for commercial use. 🏢 ✅ No license violations found. Policy: Apache 2.0 (universal donor). StrongCopyleft / NetworkCopyleft / WeakCopyleft / Other / Error categories fail. MPL allowed. 🔨 Build TestsChecking the blueprint against the actual construction. 📐 ✅ All versions pass
Beep boop. See you in the next PR! 👋 |
What
Enacts the decision that the home/resting screen is a GUI render-backend concern,
not a skill concern (OVOS-GUI-1 §6.9: the resting display is owned by the render
backend; applications MUST NOT provide/register a home or resting screen). Removes
the skill-side homescreen/resting-screen API. Breaking change.
Changes
resting_screen_handlerandhomescreen_appIdleDisplaySkill(idle_display_skill.py) and its re-exportOVOSSkill: removedregister_resting_screen(),register_homescreen_app(), theinit call, and the homescreen-app block in
_register_app_launcher(now no-op);removed dead
__skill_id2nameand unusedshutil/get_xdg_cache_save_pathimportstest_idle_display_skill.pyBreaking API removed
resting_screen_handler,homescreen_app,IdleDisplaySkill,OVOSSkill.register_resting_screen,OVOSSkill.register_homescreen_app.Verification
grep clean; imports resolve;
pytest test/unittests -q→ 480 passed.Downstream impact (follow-up, not touched here)
ovos-ocp-audio-plugin— emitshomescreen.manager.show_active/ hasremove_homescreenovos-skill-iss-location— callsregister_resting_screenovos-pydantic-models— defines home-screen modelsovos-skill-homescreen— should be archived