-
-
Notifications
You must be signed in to change notification settings - Fork 35.8k
Fix WebSocket proxy for add-ons not forwarding ping/pong frame data #151654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Hey there @home-assistant/supervisor, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR fixes a bug in the Supervisor Ingress WebSocket proxy where ping/pong frame data was not being forwarded correctly. The issue violated RFC 6455 requirements for WebSocket keepalive mechanisms.
Key changes:
- Modified ping frame forwarding to include frame data
- Modified pong frame forwarding to include frame data
frenck
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @felipecrs 👍
../Frenck
|
Thanks for merging! @frenck can I request it to be cherry-picked to stable? |
|
Seems like Stefan already did 👍 😄 |
|
Awesome, thank you both! |
Proposed change
This PR fixes the Supervisor Ingress proxy for WebSocket connections of add-ons not properly forward the ping/pong frames. The ping/pong data was not being passed along, which is important depending on how the keepalive mechanism was implemented. This is stated in the RFC 6455, section 5.5.2.
For more context, please check home-assistant/supervisor#6144.
Note this PR has no dependency in home-assistant/supervisor#6144, although both needs to be merged in order to fully fix the issue reported in home-assistant/supervisor#6143.
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: