Repository navigation
Bump Starscream to 4.0.10 and release 0.4.19 - #127
Merged
Merged
Conversation
Starscream 4.0.10 stops setting the permessage-deflate compressed bit on control frames. aiohttp 3.14.4 (Home Assistant Core 2026.10) rejects such frames per RFC 7692, so the pong answering every server heartbeat ping dropped the connection roughly every 56 seconds. Refs home-assistant/iOS#6011 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017NccCmJppSCweVhhGQn8Hk
There was a problem hiding this comment.
🟡 Changes recommended
The CocoaPods example still pins an older Starscream branch that lacks the advertised fix.
1 open finding
What changed in this PR
Updates Starscream to fix WebSocket heartbeat disconnects and prepares HAKit 0.4.19 for release.
Changes:
- Bumps Starscream to 4.0.10.
- Updates release metadata and changelog.
- Updates CocoaPods installation guidance.
| File | Description |
|---|---|
Package.swift |
Raises the Starscream minimum version. |
Package.resolved |
Resolves Starscream 4.0.10. |
HAKit.podspec |
Sets release version 0.4.19. |
CHANGELOG.md |
Documents the WebSocket fix. |
README.md |
Updates CocoaPods installation instructions. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #127 +/- ##
=======================================
Coverage 99.83% 99.83%
=======================================
Files 53 53
Lines 1824 1824
=======================================
Hits 1821 1821
Misses 3 3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
The README pointed CocoaPods users at the ha-URLSession-fix branch, which predates both 4.0.9 and the control-frame compression fix. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017NccCmJppSCweVhhGQn8Hk
2 of 4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Fixes WebSocket connections dropping roughly every 56 seconds against Home Assistant Core 2026.10 with
Received frame with non-zero reserved bits(close code 1002). Reported in home-assistant/iOS#6011.Starscream ran every outgoing frame through the permessage-deflate compressor, so control frames went out with RSV1 set, including the empty pong it sends back for the server's 55 s heartbeat ping. RFC 7692 §6.1 forbids the compressed bit on control frames, and aiohttp 3.14.4 (bumped in home-assistant/core#184382) now enforces it; 3.14.3 tolerated it.
Starscream 4.0.10 (bgoncal/Starscream@9f793f7) only compresses text and binary frames.
Changes
Package.swift: Starscreamfrom: "4.0.10".Package.resolved: Starscream 4.0.10.CHANGELOG.md,HAKit.podspec,README.md), so this can be tagged right after merge. Fix WebSocket disconnects with Home Assistant 2026.10 (bump Starscream and HAKit) iOS#6038 picks up 0.4.19 once it is tagged.watchOS (compression disabled) and mTLS (
URLSessionWebSocketTask) connections were not affected.🤖 Generated with Claude Code
https://claude.ai/code/session_017NccCmJppSCweVhhGQn8Hk
Generated by Claude Code