-
-
Notifications
You must be signed in to change notification settings - Fork 388
feat(realtime): add explicit REST API call for broadcast #1256
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
Draft
Conversation
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
Added new public method `http_send` for explicit usage of REST API for broadcast messages. This method always uses the REST API endpoint regardless of WebSocket connection state, giving users more control over message delivery. Changes: - Add `http_send()` method to AsyncRealtimeChannel for explicit REST delivery - Add deprecation warning to `send_broadcast()` when falling back to REST - Add httpx dependency for REST API calls - Add comprehensive test suite for http_send functionality Ported from supabase-js PR #1751 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
coveralls
commented
Oct 21, 2025
Pull Request Test Coverage Report for Build 18695423238Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
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.
🔍 Description
This PR ports the feature from supabase-js#1751 to add explicit REST API support for broadcast messages in the Python realtime library.
What changed?
http_send(): Added a new public method toAsyncRealtimeChannelthat explicitly uses the REST API for broadcast messages, regardless of WebSocket connection statesend_broadcast()is called while not connected, alerting users about the implicit behaviorhttpx[http2]to enable HTTP requests for the REST API callshttp_send()functionalityWhy was this change needed?
The current approach can lead users to use broadcast without understanding the underlying mechanism. By providing an explicit
http_send()method, users have more control over how their messages are delivered:🔄 Breaking changes
send_broadcast()while not connectedhttp_send()for explicit REST delivery📋 Checklist
<type>(<scope>): <description>🧪 Test plan
The PR includes comprehensive test coverage:
http_send()with and without access tokenssend_broadcast()All tests pass:
pytest tests/test_http_send.py -v📚 Related
🤖 Generated with Claude Code