Skip to content

1.x#7372

Closed
Darkstar1t wants to merge 690 commits intoReactiveX:3.xfrom
Darkstar1t:1.x
Closed

1.x#7372
Darkstar1t wants to merge 690 commits intoReactiveX:3.xfrom
Darkstar1t:1.x

Conversation

@Darkstar1t
Copy link

@Darkstar1t Darkstar1t commented Dec 11, 2021

Thank you for contributing to RxJava. Before pressing the "Create Pull Request" button, please consider the following points:

  • Please give a description about what and why you are contributing, even if it's trivial.

  • Please include the issue list number(s) or other PR numbers in the description if you are contributing in response to those.

  • Please include a reasonable set of unit tests if you contribute new code or change an existing one. If you contribute an operator, (if applicable) please make sure you have tests for working with an empty, just, range of values as well as an error source, with and/or without backpressure and see if unsubscription/cancellation propagates correctly.

s44160-021-00001-4 (2).pdf

akarnokd and others added 30 commits May 5, 2016 21:29
…eX#3958)

This PR adds the call to RxJavaObservableExecutionHook.onCreate() to the just() - ScalarSynchronousObservable construction.

Related: ReactiveX#2656.
This PR adds extra information to assertion failure messages on `TestSubscriber` and `TestObserver`, indicating:

  - the listener didn't receive any `onCompleted` calls, which is an indication of hung or skipping operation,
  - there were errors received, indicating a failure in the event generation process.

Previously, if there was something wrong with the sequence, the order and type of assertions were mostly unhelpful: if `assertValues` was first, the lack of values failure could hide a revealing onError call. If the `assertNoErrors()` was first, the error is visible but no way of knowing how far the sequence got.

Now, it is generally okay to use `assertValues` first, which along the difference, will print the lack of completion and the number of exceptions received, plus, the `AssertionError` will have its cause initialized to the actual or composited exception. The message format thus changes:

```
original assertion message with details (0 completions) (+1 error)
...
caused by
...
```

This extra information saved me a lot of time in 2.x and Rsc development.

Note that this change doesn't make the `assertXXX`s also assert for completion or error at all. If the values match, but there is an additional error instead of completion, one has to assert that separately, just like now.
…veX#3951)

* 1.x: javac- and javadoc-related cleanup in components, part 2 final

This PR clears the cast warnings introduced by the need to be JDK 9
compilable.

* 1.x: javac- and javadoc-related cleanup in components, part 2 final
* 1.x: benchmark just and Single

* Adjust header date
ReactiveX#3942)

Add option to safely subscribe a CompletableSubscriber / regular Subscriber and handle onXXX failures.
This PR removes the remaining AtomicXFieldUpdaters from the library because reflection is somewhat problematic on Android.

This also deprecates the internal BackpressureUtils.getAndAddRequest to indicate requested field updater should not be used anymore.
* 1.x: request rebatch operator

* Add argument test

* Fix javadoc, add experimental
ReactiveX#3977)

The cause of ReactiveX#3679 is we use a wrong Throwable (its cause has been set) to set the cause and `initCause` will throw an exception. Hence, the cause chain is not created correctly. In this PR, it searches the root cause (which doesn't have a cause) and use it to call `initCause`.
* Add Schedulers.reset() for better testing

Resolves ReactiveX#3985

* More accurate doc
akarnokd and others added 28 commits May 5, 2017 09:49
* Add the cast operator to Single.

Signed-off-by: Mike Burns <burnsm523@gmail.com>

* Create a separate operator for Single.cast and test it.

Signed-off-by: Inferno23 <burnsm523@gmail.com>

* Update spacing and javadoc.

Signed-off-by: Inferno23 <burnsm523@gmail.com>

* Add missing @experimental annotation.

Signed-off-by: Inferno23 <burnsm523@gmail.com>

* Fix the copyrights.

Signed-off-by: Inferno23 <burnsm523@gmail.com>

* Remove extra verify call.

Signed-off-by: Inferno23 <burnsm523@gmail.com>
* fix ReactiveX#5468: eager hooks onError call

Move the call to RxJavaHooks into the catch block, so we only report it if the underlying subscriber throws in its onError method.
This brings the behaviour in line with that of SafeSubscriber, which only call Hooks.onError inside the catch

*  ReactiveX#5468 move hooks OnError into correct if block
* 1.x: increase timeout of some tests

* OperatorFlatMapTest.flatMapRangeMixedAsyncLoop more time

* Retry testNoBufferingOrBlockingOfSequence multiple times
* 1.x: fix timeout(time, [fallback]) unsubscribe bug

* Fix timeout(selector) variant.
…iveX#5696)

* 1.x: fix Completable.concat to use replace (don't dispose old)

* Remove original issue comments
* Add a sentence to documentation of take() operator

* Rephrase java doc for take() method
…ns (ReactiveX#5820)

* 1.x: Plugin lookup workaround for System.properties access restrictions

* System.getProperties() can also throw SecurityException
…veX#5851)

* Fix a race condition in OperatorMerge.InnerSubscriber#onError

Inner subscriber must queue the error first before setting done,
so that after emitLoop() removes the subscriber,
emitLoop is guaranteed to notice the error.
Otherwise it would be possible that inner subscribers count was 0,
and at the same time the error queue was empty.

* Add unit test for OperatorMerge.InnerSubscriber#onError race
…terminal notifications (ReactiveX#5850)

* Fix a race condition that may make OperatorMaterialize emit the
terminal notification more than once

The guards in `OperatorMaterialize.ParentSubscriber#drain` were never
working, because `busy` was actually never set to true.
Therefore it was possible that the `drain` loop was executed by
more than one thread concurrently, which could led to undefined
behavior.

This fix sets `busy` to true at the entry of `drain`.

* Add unit test for race in OperatorMaterialize

* Set sudo required in travis config
…eX#5917)

* 1.x: fix bug and deprecate groupBy overload with evictingMapFactory, add new groupBy evicting overload (ReactiveX#5868)

* groupBy, do a null check on g because cancel(K) could have cleared the map
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.