-
Notifications
You must be signed in to change notification settings - Fork 7.6k
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
3.x: Add onDropped callback to throttleLatest operator #7457
Merged
Conversation
This file contains 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
Codecov Report
@@ Coverage Diff @@
## 3.x #7457 +/- ##
============================================
+ Coverage 99.55% 99.56% +0.01%
- Complexity 6781 6784 +3
============================================
Files 751 751
Lines 47482 47579 +97
Branches 6378 6393 +15
============================================
+ Hits 47271 47373 +102
Misses 93 93
+ Partials 118 113 -5
📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more |
This was referenced Aug 8, 2022
vanniktech
approved these changes
Aug 9, 2022
This was referenced Jan 18, 2023
Goooler
referenced
this pull request
in Goooler/DemoApp
Jan 18, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [io.reactivex.rxjava3:rxjava](https://togithub.com/ReactiveX/RxJava) | `3.1.5` -> `3.1.6` | [![age](https://badges.renovateapi.com/packages/maven/io.reactivex.rxjava3:rxjava/3.1.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/io.reactivex.rxjava3:rxjava/3.1.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/io.reactivex.rxjava3:rxjava/3.1.6/compatibility-slim/3.1.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/io.reactivex.rxjava3:rxjava/3.1.6/confidence-slim/3.1.5)](https://docs.renovatebot.com/merge-confidence/) | --- ### ⚠ Dependency Lookup Warnings ⚠ Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>ReactiveX/RxJava</summary> ### [`v3.1.6`](https://togithub.com/ReactiveX/RxJava/releases/tag/v3.1.6) [Maven](http://search.maven.org/#artifactdetails%7Cio.reactivex.rxjava3%7Crxjava%7C3.1.6%7C) [JavaDocs](http://reactivex.io/RxJava/3.x/javadoc/3.1.6) ##### API changes - Add an overload to `throttleLatest` operator with an `onDropped` callback. (<a href='https://github.com/ReactiveX/RxJava/issues/7457'>[#​7457](https://togithub.com/ReactiveX/RxJava/issues/7457)</a>) - Add an overload to `throttleFirst` operator with an `onDropped` callback. (<a href='https://github.com/ReactiveX/RxJava/issues/7482'>[#​7482](https://togithub.com/ReactiveX/RxJava/issues/7482)</a>) - Add an overload to `throttleLast` operator with an `onDropped` callback. (<a href='https://github.com/ReactiveX/RxJava/issues/7488'>[#​7488](https://togithub.com/ReactiveX/RxJava/issues/7488)</a>) - Add an overload to `throttleWithTimeout` operator with an `onDropped` callback. (<a href='https://github.com/ReactiveX/RxJava/issues/7510'>[#​7510](https://togithub.com/ReactiveX/RxJava/issues/7510)</a>) ##### Bugfixes - Fix a race condition in `Single.timeout` that prevented the timeout signal from happening. (<a href='https://github.com/ReactiveX/RxJava/issues/7515'>[#​7515](https://togithub.com/ReactiveX/RxJava/issues/7515)</a>) ##### Documentation - Fix formatting in `TestObserver/Consumer/Subscriber` javadoc html. (<a href='https://github.com/ReactiveX/RxJava/issues/7442'>[#​7442](https://togithub.com/ReactiveX/RxJava/issues/7442)</a>) - Fix typo in `BehaviorSubject.java`. (<a href='https://github.com/ReactiveX/RxJava/issues/7452'>[#​7452](https://togithub.com/ReactiveX/RxJava/issues/7452)</a>) - Fix grammar about cancellation in `Schedulers` javadoc. (<a href='https://github.com/ReactiveX/RxJava/issues/7453'>[#​7453](https://togithub.com/ReactiveX/RxJava/issues/7453)</a>) - Change `@coded` tag to `@code` tag. (<a href='https://github.com/ReactiveX/RxJava/issues/7463'>[#​7463](https://togithub.com/ReactiveX/RxJava/issues/7463)</a>) - Fix `fromCompletionStage` javadoc. (<a href='https://github.com/ReactiveX/RxJava/issues/7508'>[#​7508](https://togithub.com/ReactiveX/RxJava/issues/7508)</a>) ##### Other - Add missing `@NonNull` annotation to `Maybe` type argument. (<a href='https://github.com/ReactiveX/RxJava/issues/7436'>[#​7436](https://togithub.com/ReactiveX/RxJava/issues/7436)</a>) - Remove redundant interface declarations. (<a href='https://github.com/ReactiveX/RxJava/issues/7438'>[#​7438](https://togithub.com/ReactiveX/RxJava/issues/7438)</a>) - Standardize `MissingBackpressureException` message, introduce `QueueOverflowException`. (<a href='https://github.com/ReactiveX/RxJava/issues/7459'>[#​7459](https://togithub.com/ReactiveX/RxJava/issues/7459)</a>) - Update `Flowable.throttleLatest` `MissingBackpressureException` message. (<a href='https://github.com/ReactiveX/RxJava/issues/7460'>[#​7460](https://togithub.com/ReactiveX/RxJava/issues/7460)</a>) - Fix cancellation order in `throttleFirst`. (<a href='https://github.com/ReactiveX/RxJava/issues/7484'>[#​7484](https://togithub.com/ReactiveX/RxJava/issues/7484)</a>) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Goooler/DemoApp). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMDUuMyIsInVwZGF0ZWRJblZlciI6IjM0LjEwNS4zIn0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This was referenced Jan 18, 2023
Merged
1 task
1 task
1 task
ZacSweers
referenced
this pull request
in slackhq/circuit
Jan 19, 2023
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io.reactivex.rxjava3:rxjava](https://togithub.com/ReactiveX/RxJava) | dependencies | patch | `3.1.5` -> `3.1.6` | --- ### Release Notes <details> <summary>ReactiveX/RxJava</summary> ### [`v3.1.6`](https://togithub.com/ReactiveX/RxJava/releases/tag/v3.1.6) [Maven](http://search.maven.org/#artifactdetails%7Cio.reactivex.rxjava3%7Crxjava%7C3.1.6%7C) [JavaDocs](http://reactivex.io/RxJava/3.x/javadoc/3.1.6) ##### API changes - Add an overload to `throttleLatest` operator with an `onDropped` callback. (<a href='https://github.com/ReactiveX/RxJava/issues/7457'>[#​7457](https://togithub.com/ReactiveX/RxJava/issues/7457)</a>) - Add an overload to `throttleFirst` operator with an `onDropped` callback. (<a href='https://github.com/ReactiveX/RxJava/issues/7482'>[#​7482](https://togithub.com/ReactiveX/RxJava/issues/7482)</a>) - Add an overload to `throttleLast` operator with an `onDropped` callback. (<a href='https://github.com/ReactiveX/RxJava/issues/7488'>[#​7488](https://togithub.com/ReactiveX/RxJava/issues/7488)</a>) - Add an overload to `throttleWithTimeout` operator with an `onDropped` callback. (<a href='https://github.com/ReactiveX/RxJava/issues/7510'>[#​7510](https://togithub.com/ReactiveX/RxJava/issues/7510)</a>) ##### Bugfixes - Fix a race condition in `Single.timeout` that prevented the timeout signal from happening. (<a href='https://github.com/ReactiveX/RxJava/issues/7515'>[#​7515](https://togithub.com/ReactiveX/RxJava/issues/7515)</a>) ##### Documentation - Fix formatting in `TestObserver/Consumer/Subscriber` javadoc html. (<a href='https://github.com/ReactiveX/RxJava/issues/7442'>[#​7442](https://togithub.com/ReactiveX/RxJava/issues/7442)</a>) - Fix typo in `BehaviorSubject.java`. (<a href='https://github.com/ReactiveX/RxJava/issues/7452'>[#​7452](https://togithub.com/ReactiveX/RxJava/issues/7452)</a>) - Fix grammar about cancellation in `Schedulers` javadoc. (<a href='https://github.com/ReactiveX/RxJava/issues/7453'>[#​7453](https://togithub.com/ReactiveX/RxJava/issues/7453)</a>) - Change `@coded` tag to `@code` tag. (<a href='https://github.com/ReactiveX/RxJava/issues/7463'>[#​7463](https://togithub.com/ReactiveX/RxJava/issues/7463)</a>) - Fix `fromCompletionStage` javadoc. (<a href='https://github.com/ReactiveX/RxJava/issues/7508'>[#​7508](https://togithub.com/ReactiveX/RxJava/issues/7508)</a>) ##### Other - Add missing `@NonNull` annotation to `Maybe` type argument. (<a href='https://github.com/ReactiveX/RxJava/issues/7436'>[#​7436](https://togithub.com/ReactiveX/RxJava/issues/7436)</a>) - Remove redundant interface declarations. (<a href='https://github.com/ReactiveX/RxJava/issues/7438'>[#​7438](https://togithub.com/ReactiveX/RxJava/issues/7438)</a>) - Standardize `MissingBackpressureException` message, introduce `QueueOverflowException`. (<a href='https://github.com/ReactiveX/RxJava/issues/7459'>[#​7459](https://togithub.com/ReactiveX/RxJava/issues/7459)</a>) - Update `Flowable.throttleLatest` `MissingBackpressureException` message. (<a href='https://github.com/ReactiveX/RxJava/issues/7460'>[#​7460](https://togithub.com/ReactiveX/RxJava/issues/7460)</a>) - Fix cancellation order in `throttleFirst`. (<a href='https://github.com/ReactiveX/RxJava/issues/7484'>[#​7484](https://togithub.com/ReactiveX/RxJava/issues/7484)</a>) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xOTAuNiIsInVwZGF0ZWRJblZlciI6IjMyLjE5MC42In0=-->
ZacSweers
referenced
this pull request
in slackhq/foundry
Jan 19, 2023
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io.reactivex.rxjava3:rxjava](https://togithub.com/ReactiveX/RxJava) | dependencies | patch | `3.1.5` -> `3.1.6` | --- ### Release Notes <details> <summary>ReactiveX/RxJava</summary> ### [`v3.1.6`](https://togithub.com/ReactiveX/RxJava/releases/tag/v3.1.6) [Maven](http://search.maven.org/#artifactdetails%7Cio.reactivex.rxjava3%7Crxjava%7C3.1.6%7C) [JavaDocs](http://reactivex.io/RxJava/3.x/javadoc/3.1.6) ##### API changes - Add an overload to `throttleLatest` operator with an `onDropped` callback. (<a href='https://github.com/ReactiveX/RxJava/issues/7457'>[#​7457](https://togithub.com/ReactiveX/RxJava/issues/7457)</a>) - Add an overload to `throttleFirst` operator with an `onDropped` callback. (<a href='https://github.com/ReactiveX/RxJava/issues/7482'>[#​7482](https://togithub.com/ReactiveX/RxJava/issues/7482)</a>) - Add an overload to `throttleLast` operator with an `onDropped` callback. (<a href='https://github.com/ReactiveX/RxJava/issues/7488'>[#​7488](https://togithub.com/ReactiveX/RxJava/issues/7488)</a>) - Add an overload to `throttleWithTimeout` operator with an `onDropped` callback. (<a href='https://github.com/ReactiveX/RxJava/issues/7510'>[#​7510](https://togithub.com/ReactiveX/RxJava/issues/7510)</a>) ##### Bugfixes - Fix a race condition in `Single.timeout` that prevented the timeout signal from happening. (<a href='https://github.com/ReactiveX/RxJava/issues/7515'>[#​7515](https://togithub.com/ReactiveX/RxJava/issues/7515)</a>) ##### Documentation - Fix formatting in `TestObserver/Consumer/Subscriber` javadoc html. (<a href='https://github.com/ReactiveX/RxJava/issues/7442'>[#​7442](https://togithub.com/ReactiveX/RxJava/issues/7442)</a>) - Fix typo in `BehaviorSubject.java`. (<a href='https://github.com/ReactiveX/RxJava/issues/7452'>[#​7452](https://togithub.com/ReactiveX/RxJava/issues/7452)</a>) - Fix grammar about cancellation in `Schedulers` javadoc. (<a href='https://github.com/ReactiveX/RxJava/issues/7453'>[#​7453](https://togithub.com/ReactiveX/RxJava/issues/7453)</a>) - Change `@coded` tag to `@code` tag. (<a href='https://github.com/ReactiveX/RxJava/issues/7463'>[#​7463](https://togithub.com/ReactiveX/RxJava/issues/7463)</a>) - Fix `fromCompletionStage` javadoc. (<a href='https://github.com/ReactiveX/RxJava/issues/7508'>[#​7508](https://togithub.com/ReactiveX/RxJava/issues/7508)</a>) ##### Other - Add missing `@NonNull` annotation to `Maybe` type argument. (<a href='https://github.com/ReactiveX/RxJava/issues/7436'>[#​7436](https://togithub.com/ReactiveX/RxJava/issues/7436)</a>) - Remove redundant interface declarations. (<a href='https://github.com/ReactiveX/RxJava/issues/7438'>[#​7438](https://togithub.com/ReactiveX/RxJava/issues/7438)</a>) - Standardize `MissingBackpressureException` message, introduce `QueueOverflowException`. (<a href='https://github.com/ReactiveX/RxJava/issues/7459'>[#​7459](https://togithub.com/ReactiveX/RxJava/issues/7459)</a>) - Update `Flowable.throttleLatest` `MissingBackpressureException` message. (<a href='https://github.com/ReactiveX/RxJava/issues/7460'>[#​7460](https://togithub.com/ReactiveX/RxJava/issues/7460)</a>) - Fix cancellation order in `throttleFirst`. (<a href='https://github.com/ReactiveX/RxJava/issues/7484'>[#​7484](https://togithub.com/ReactiveX/RxJava/issues/7484)</a>) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xOTAuNiIsInVwZGF0ZWRJblZlciI6IjMyLjE5MC42In0=-->
This was referenced Jan 20, 2023
1 task
1 task
This was referenced Mar 11, 2023
Merged
Open
1 task
This was referenced Mar 28, 2023
1 task
Open
1 task
1 task
1 task
1 task
Closed
1 task
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.
This PR adds an overload to the
throttleLatest
operator which takes anonDropped
consumer.This consumer is called when the latest known item is replaced by a newer item, or the sequence gets terminated with a latest known item. It should allow some per-item cleanup to happen.
If the
onDropped
crashes, the exception is either delivered to the downstream (if the sequence is still live at that point) or to the global error handler (sequence is stopped).(Also fixed a bug in one of the test helpers regarding asserting composite exception members.)