Extract WebRTC integration#157648
Conversation
|
Hey there @home-assistant/core, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
|
Hey there @home-assistant/cloud, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
c229dad to
c14b8fa
Compare
There was a problem hiding this comment.
Pull request overview
This PR extracts WebRTC functionality from the camera component into a new standalone webrtc integration, making it available for use by other integrations. The extraction is part of standardization efforts and will be used by an upcoming PR.
Key changes:
- Created new WebRTC integration with ICE server registration and retrieval capabilities
- Updated camera and cloud components to use the new webrtc integration
- Comprehensive test coverage for the new integration
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| homeassistant/components/webrtc/init.py | New WebRTC integration with ICE server registration, retrieval, and WebSocket command handling |
| homeassistant/components/webrtc/manifest.json | Manifest for new WebRTC system integration with internal quality scale |
| tests/components/webrtc/init.py | Test package initialization for WebRTC integration |
| tests/components/webrtc/test_init.py | Comprehensive tests covering setup, custom ICE servers, registration, and WebSocket endpoints |
| homeassistant/components/camera/init.py | Updated to import async_get_ice_servers from webrtc integration and removed duplicate ICE server logic |
| homeassistant/components/camera/webrtc.py | Removed async_register_ice_servers function and DATA_ICE_SERVERS (moved to webrtc integration) |
| homeassistant/components/camera/manifest.json | Added webrtc as a dependency |
| homeassistant/components/cloud/client.py | Updated import to use async_register_ice_servers from webrtc integration |
| homeassistant/components/cloud/manifest.json | Added webrtc as a dependency |
| tests/components/camera/test_webrtc.py | Updated imports to use webrtc integration for ICE server functionality |
| script/hassfest/quality_scale.py | Added webrtc to quality scale exemptions list |
| script/hassfest/manifest.py | Added webrtc to non-scaled quality scale tiers |
| CODEOWNERS | Added codeowners entries for webrtc integration and tests |
MartinHjelmare
left a comment
There was a problem hiding this comment.
I think @edenhaus should review too if there are more parts that should move, eg the client configuration and the WebRTC message classes.
d312778 to
ffca50a
Compare
This comment was marked as resolved.
This comment was marked as resolved.
|
Fine to merge after merge conflict get resolved :) |
0483093 to
a294215
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Breaking change
Proposed change
Add WebRTC integration.
To standardize this and make available to other integrations.
Will be used for #157489
Type of change
Additional information
Checklist
ruff format homeassistant tests)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest.requirements_all.txt.Updated by running
python3 -m script.gen_requirements_all.To help with the load of incoming pull requests: