-
Notifications
You must be signed in to change notification settings - Fork 392
[cronet_http] Fix background bugs #1862
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
base: master
Are you sure you want to change the base?
Conversation
PR HealthLicense Headers ✔️
All source files should start with a license header. Unrelated files missing license headers
This check can be disabled by tagging the PR with API leaks ✔️The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.
This check can be disabled by tagging the PR with
Breaking changes
|
| Package | Change | Current Version | New Version | Needed Version | Looking good? |
|---|---|---|---|---|---|
| cronet_http | Non-Breaking | 1.7.0 | 1.7.1-wip | 1.8.0 Got "1.7.1-wip" expected >= "1.8.0" (non-breaking changes) |
This check can be disabled by tagging the PR with skip-breaking-check.
Coverage ⚠️
| File | Coverage |
|---|---|
| pkgs/cronet_http/lib/src/cronet_client.dart | 💔 Not covered |
This check for test coverage is informational (issues shown here will not fail the PR).
This check can be disabled by tagging the PR with skip-coverage-check.
Changelog Entry ✔️
| Package | Changed Files |
|---|
Changes to files need to be accounted for in their respective changelogs.
This check can be disabled by tagging the PR with skip-changelog-check.
| super.reasonPhrase}); | ||
| } | ||
|
|
||
| class UrlResponseInfo { |
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.
I think that this should be private. Also, would it make sense to just add these add fields to CronetStreamedResponse?
By making the callbacks all async, we basically make them all fire-and-forget so a long running http request cannot callback to a potentially non-existent Dart callback synchronously and fail. Instead it will just be ignored.
Also release the JNI references eagerly to prevent reference overflow issues that could be created by doing too many requests in one go (and GC not picking up the references in the meantime)
These changes should overall fix the bugs people are facing in #1217 and #1842.