profile
viewpoint
ReactiveX ReactiveX http://reactivex.io Reactive Extensions for Async Programming

ReactiveX/RxJava 43227

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

ReactiveX/rxjs 22600

A reactive programming library for JavaScript

ReactiveX/RxAndroid 19071

RxJava bindings for Android

ReactiveX/RxGo 2862

Reactive Extensions for the Go language.

ReactiveX/rxdart 2553

The Reactive Extensions for Dart

ReactiveX/RxCpp 2156

Reactive Extensions for C++

ReactiveX/learnrx 1381

A series of interactive exercises for learning Microsoft's Reactive Extensions Library for Javascript.

ReactiveX/IxJS 859

The Interactive Extensions for JavaScript

ReactiveX/RxJavaFX 466

RxJava bindings for JavaFX

ReactiveX/RxClojure 327

RxJava bindings for Clojure

PR opened ReactiveX/rxjs

feat(exhaust.ts): renamed exhaust to exhaustAll

Description:

As proposed in #4573 I renamed exhaust map and exposed the old as an alias that I deprecated.

Related issue (if exists): closes #4573

+33 -28

0 comment

4 changed files

pr created time in 2 hours

fork vidovalianto/RxSwift

Reactive Programming in Swift

fork in 2 hours

startedReactiveX/RxGo

started time in 3 hours

startedReactiveX/rxjs

started time in 4 hours

startedReactiveX/RxSwift

started time in 5 hours

pull request commentReactiveX/RxPY

Zip: completes as soon as any source completed

Coverage Status

Coverage decreased (-0.01%) to 92.456% when pulling c142cb18eb1d05e737b86c04ee158f6ba3e5ab04 on hoc081098:hoc081098/zip_completed into f2642a87e6b4d5b3dc9a482323716cf15a6ef570 on ReactiveX:master.

hoc081098

comment created time in 6 hours

PR opened ReactiveX/RxPY

Zip: completes as soon as any source completed

Fixes #525

+31 -37

0 comment

3 changed files

pr created time in 6 hours

PR closed ReactiveX/RxPY

Zip: completes as soon as any source completed

Fixes #525

+31 -37

1 comment

3 changed files

hoc081098

pr closed time in 6 hours

startedReactiveX/RxSwift

started time in 6 hours

startedReactiveX/rxjs

started time in 7 hours

startedReactiveX/rxdart

started time in 7 hours

pull request commentReactiveX/RxPY

Zip: completes as soon as any source completed

Coverage Status

Coverage decreased (-0.01%) to 92.456% when pulling 1e6935e0325fc9f27540754624f7dc110084f2a6 on hoc081098:hoc081098/zip_completed into f2642a87e6b4d5b3dc9a482323716cf15a6ef570 on ReactiveX:master.

hoc081098

comment created time in 7 hours

PR opened ReactiveX/RxPY

Zip: completes as soon as any source completed

Fixes #525

+31 -38

0 comment

3 changed files

pr created time in 7 hours

startedReactiveX/RxCpp

started time in 7 hours

pull request commentReactiveX/RxPY

Add forkJoin

Coverage Status

Coverage increased (+0.03%) to 92.495% when pulling 3ca0b574c255c3bfa65f2118dfcc4a0895b46592 on hoc081098:hoc081098/forkjoin into f2642a87e6b4d5b3dc9a482323716cf15a6ef570 on ReactiveX:master.

hoc081098

comment created time in 8 hours

PR opened ReactiveX/RxPY

Add forkJoin

Fixes #533

+281 -0

0 comment

3 changed files

pr created time in 8 hours

startedReactiveX/RxAndroid

started time in 9 hours

startedReactiveX/RxJava

started time in 9 hours

startedReactiveX/RxSwift

started time in 9 hours

startedReactiveX/RxSwift

started time in 9 hours

startedReactiveX/RxPHP

started time in 9 hours

startedReactiveX/RxPY

started time in 9 hours

startedReactiveX/rxjs

started time in 10 hours

startedReactiveX/RxJava

started time in 10 hours

startedReactiveX/RxJava

started time in 10 hours

startedReactiveX/rxjs

started time in 10 hours

startedReactiveX/RxJava

started time in 11 hours

startedReactiveX/RxJava

started time in 11 hours

startedReactiveX/rxjs

started time in 11 hours

startedReactiveX/RxGo

started time in 12 hours

fork hoc081098/RxPY

Reactive Extensions for Python, https://rxpy.rtfd.io

fork in 13 hours

fork kakustham/RxJava

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

fork in 16 hours

startedReactiveX/RxSwift

started time in 18 hours

startedReactiveX/RxJava

started time in 18 hours

startedReactiveX/RxAndroid

started time in 18 hours

startedReactiveX/rxjs

started time in 19 hours

startedReactiveX/RxSwift

started time in 19 hours

startedReactiveX/RxAndroid

started time in a day

startedReactiveX/rxjs

started time in a day

startedReactiveX/RxGo

started time in a day

startedReactiveX/rxjs

started time in a day

startedReactiveX/rxjs

started time in a day

startedReactiveX/RxJava

started time in a day

issue commentReactiveX/RxPY

Nested flat_map example not working

Thank you for your time to answer. I had windows in the original question because the objective is to take a series of emissions and batch them into windows with each window being processed on a separate Thread. I am not sure if this answers the question; the just() will cause all items to be processed at once, no?

malibu1966

comment created time in a day

fork vrushofficial/RxJava

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

fork in a day

startedReactiveX/RxAndroid

started time in a day

fork OctoberWu/RxCpp

Reactive Extensions for C++

fork in a day

startedReactiveX/RxSwift

started time in a day

startedReactiveX/RxSwift

started time in 2 days

startedReactiveX/RxSwift

started time in 2 days

fork lmhbng/RxJava

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

fork in 2 days

startedReactiveX/RxAndroid

started time in 2 days

startedReactiveX/RxJava

started time in 2 days

startedReactiveX/RxSwift

started time in 2 days

startedReactiveX/RxSwift

started time in 2 days

delete branch ReactiveX/RxSwift

delete branch : dependabot/bundler/kramdown-2.3.0

delete time in 2 days

push eventReactiveX/RxSwift

dependabot[bot]

commit sha f3c428a4d0d389b005a2ae1be8df5e4dce8d8611

Bump kramdown from 2.1.0 to 2.3.0 Bumps [kramdown](https://github.com/gettalong/kramdown) from 2.1.0 to 2.3.0. - [Release notes](https://github.com/gettalong/kramdown/releases) - [Changelog](https://github.com/gettalong/kramdown/blob/master/doc/news.page) - [Commits](https://github.com/gettalong/kramdown/commits) Signed-off-by: dependabot[bot] <support@github.com>

view details

push time in 2 days

PR merged ReactiveX/RxSwift

Bump kramdown from 2.1.0 to 2.3.0 dependencies

Bumps kramdown from 2.1.0 to 2.3.0. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/gettalong/kramdown/commits">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+3 -1

0 comment

1 changed file

dependabot[bot]

pr closed time in 2 days

issue openedReactiveX/rxjs

Unsubscribe is slow when observers number > 10000

Both of indexOf and splice are slow. Why not use a Set to store observers?

https://github.com/ReactiveX/rxjs/blob/40b32d8fadeb1c0ef752fa4281aff20fa3a2c18b/src/internal/SubjectSubscription.ts#L17-L39

created time in 2 days

startedReactiveX/RxSwift

started time in 2 days

startedReactiveX/RxJava

started time in 2 days

fork lqxue/RxJava

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

fork in 2 days

PullRequestEvent

startedReactiveX/RxJava

started time in 2 days

create barnchReactiveX/RxSwift

branch : dependabot/bundler/kramdown-2.3.0

created branch time in 2 days

PR opened ReactiveX/RxSwift

Bump kramdown from 2.1.0 to 2.3.0

Bumps kramdown from 2.1.0 to 2.3.0. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/gettalong/kramdown/commits">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+3 -1

0 comment

1 changed file

pr created time in 2 days

startedReactiveX/RxPHP

started time in 2 days

startedReactiveX/RxKotlin

started time in 2 days

fork AElMehdi/RxPY

Reactive Extensions for Python, https://rxpy.rtfd.io

fork in 2 days

issue commentReactiveX/rxjs

Why exhaustMap completes Observable?

I was actually trying to simulate angular app working with back-end here - https://stackblitz.com/edit/exhaustmap-problem. If you run it you will see I get the end. in the log.

I made it work in another stackblitz though - https://stackblitz.com/edit/manage-device, which is different.

But anyway, I'd like to know why it completes so soon in my 1st example. Thank you!

alvipeo

comment created time in 2 days

pull request commentReactiveX/rxjs

Fix types for catchError

It seems that, in this codebase, there is an any inference made in const operator = new CatchOperator(selector); but you are seeing unknown inferred instead. We are using a later TypeScript version: 3.9.2, so this is possibly version-related behaviour.

I'd look into this further, but it's likely that the change in this PR isn't needed, as Ben has refactored catchError - see https://github.com/ReactiveX/rxjs/pull/5627

Could you try the current master, @leggechr ?

leggechr

comment created time in 2 days

issue commentReactiveX/RxPY

Clarify incompatibility of v1 branch with python 3

v1 works well on 3.6, and I think that I also used it on 3.7. So yes, we should update the doc, and test with more recent versions.

mnieber

comment created time in 2 days

issue commentReactiveX/RxPY

Add forkJoin Operator

This may be an addition. I just wonder how it differs from the composition of combine_latest and last:

rx.pipe(
    ops.combine_latest(),
    ops.last(),
)
codemonkey800

comment created time in 2 days

startedReactiveX/rxjs

started time in 2 days

issue commentReactiveX/RxPY

Nested flat_map example not working

The key information in the thread schedulers (ThreadPool and NewThread) is that the Observables are bound to a thread at subscription time. So if your want to schedule each item in a thread of the threadpool, then you must create an observable for each of them. Here is an example that should do what you want:

import concurrent.futures
import time
from threading import Thread
import rx
from rx import operators as ops, Observable
import multiprocessing
from rx.scheduler import ThreadPoolScheduler


print("foo")
bg_scheduler = ThreadPoolScheduler(multiprocessing.cpu_count())
print("CPUS:",multiprocessing.cpu_count())

empIds = ["1","2","3","4","5","6","7","8"]

def get_employee_details(id):
    employees = {
        "1":"A",
        "2":"B",
        "3":"C",
        "4":"D",
        "5":"E",
        "6":"F",
        "7":"G",
        "8":"H",
    }
    time.sleep(1)
    return employees[id]

rx.from_(empIds,bg_scheduler).pipe(
    ops.do_action(lambda x: print(x)),
    ops.flat_map(lambda identifiers: rx.just(identifiers, scheduler=bg_scheduler).pipe(
        ops.flat_map(get_employee_details),
    )),
).subscribe(
   on_next = lambda i: print("Check Got - {}".format(i)),
   on_error = lambda e: print("Error : {0}".format(e)),
   on_completed = lambda: print("Job Done!"),
)

time.sleep(60)

I removed the windowing part for clarity (I am not sure if you used them because you need them or because it was in the tutorial).

malibu1966

comment created time in 2 days

startedReactiveX/RxSwift

started time in 2 days

pull request commentReactiveX/rxjs

Fix types for catchError

Okay the error that is thrown in google is with the actual catchError operator itself:

.../src/internal/operators/catchError.ts:130:5 - error TS2322: Type 'Observable<unknown>' is not assignable to type 'Observable<T>'.
  Type 'unknown' is not assignable to type 'T'.
    'unknown' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '{}'.

130     operator.caught = caught;
        ~~~~~~~~~~~~~~~
.../src/internal/operators/catchError.ts:131:5 - error TS2322: Type 'Observable<unknown>' is not assignable to type 'Observable<T | ObservedValueOf<O>>'.
  Type 'unknown' is not assignable to type 'T | ObservedValueOf<O>'.
    Type 'unknown' is not assignable to type 'ObservedValueOf<O>'.

131     return caught;
        ~~~~~~~~~~~~~~

The version of typescript is 3.8.2.

leggechr

comment created time in 2 days

issue openedReactiveX/RxPY

Clarify incompatibility of v1 branch with python 3

I'm interested in using RxPY for my project that has to support python 2 and 3. Looking at the documentation of the v1 branch (https://github.com/ReactiveX/RxPY/tree/release/v1.6.x) it appears that this branch does not work for python 3 versions greater than 3.4. Still, I wonder if that's confirmed to be true or whether at the time it simply wasn't tested.

It would be great if the v1 documentation could be updated with this information (i.e. make it explicit what - if any - the support is for python 3.5 and higher)

created time in 2 days

pull request commentReactiveX/rxjs

Fix types for catchError

So I actually think everywhere that this new lift operator is used the types are broken in Google for corresponding operators. It's been a while since I tried to fix these. I'm just trying to find the offending examples. Will update here once I've found them again.

leggechr

comment created time in 2 days

pull request commentReactiveX/rxjs

docs(operators.md): fix grammar

Hi @benlesh. No, this one is against v7 (master), the other one was for v6. I'm sorry for creating two PRs, I maybe shouldn't have done it. I put in #5637 title that it was for v6.

jakovljevic-mladen

comment created time in 2 days

startedReactiveX/RxGo

started time in 2 days

startedReactiveX/RxPY

started time in 2 days

pull request commentReactiveX/rxjs

Fix types for catchError

Yeah, I'm very curious as to why this wouldn't compile.

leggechr

comment created time in 2 days

PR closed ReactiveX/rxjs

docs(operators.md): fix grammar

Closes #5635

+4 -4

1 comment

1 changed file

jakovljevic-mladen

pr closed time in 2 days

pull request commentReactiveX/rxjs

docs(operators.md): fix grammar

Seems to be an accidental duplicate of #5637

jakovljevic-mladen

comment created time in 2 days

startedReactiveX/RxCpp

started time in 2 days

pull request commentReactiveX/rxjs

docs(operators.md): fix grammar v6

Thank you, @jakovljevic-mladen !

jakovljevic-mladen

comment created time in 2 days

push eventReactiveX/rxjs

Mladen Jakovljević

commit sha 64e6bff10d43d6d9f26171d27cc980dec93f8d2c

docs(operators.md): fix grammar (#5637) Closes #5635

view details

push time in 2 days

PR merged ReactiveX/rxjs

docs(operators.md): fix grammar v6

Closes #5635

+4 -4

0 comment

1 changed file

jakovljevic-mladen

pr closed time in 2 days

startedReactiveX/rxjs

started time in 2 days

fork ohhyeongseok/rxjs

A reactive programming library for JavaScript

https://rxjs.dev

fork in 2 days

startedReactiveX/RxJava

started time in 2 days

startedReactiveX/RxGo

started time in 2 days

fork bitz0x75/RxGo

Reactive Extensions for the Go language.

fork in 2 days

issue commentReactiveX/rxjs

Recommended Approach for CombineLatest with a Scheduler?

@cartant Thanks for the suggestion. Yes, zip would work in the example I gave. In my app there is a common source, but there are distinctUntilChanged checks before the combineLatest, so I can't be sure that all the inputs will fire for every update of a$. Thank you greatly for all your input. I'm slowly developing a better understanding of when schedulers are helpful and when they aren't. For my actual problem, I think I need to try a different approach.

thatcort

comment created time in 2 days

startedReactiveX/RxGo

started time in 2 days

fork mgrolinger/RxJava

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

fork in 2 days

startedReactiveX/RxSwift

started time in 2 days

startedReactiveX/rxjs

started time in 2 days

Pull request review commentReactiveX/rxjs

[docs]: Create Deprecation page per deprecation group

+# Scheduler Argument++To limit the API surface of some operators, but also prepare for a [major refactoring in V8](https://github.com/ReactiveX/rxjs/pull/4583), we+agreed on deprecating the `scheduler` argument from many operators. It solely deprecates those methods where this argument is barely used. So `time` related+operators, like [`interval`](https://rxjs.dev/api/index/function/interval) are not affected by this deprecation.++To support this transition the [scheduled creation function](/api/index/function/scheduled) was added.++<div class="alert is-important">+    <span>+        This deprecation was introduced in **RxJS 6.5** and will become breaking with **RxJS 8**.+    </span>+</div>++## Operators affected by this Change++- [from](/api/index/function/from)+- [of](/api/index/function/of)+- [merge](/api/index/function/merge)+- [concat](/api/index/function/concat)+- [startWith](/api/operators/startWith)+- [endWith](/api/operators/endWith)+- [combineLates](/api/index/function/combineLatest)++## How to Refactor++If you use any other operator from the list above and using the `scheduler` argument, you have to three potential refactoring options.++### Refactoring of `of` and `from`++`scheduled` is kinda copying the behavior of `from`. Therefore if you used `from`  with a `scheduler` argument, you can just replace them.++For the `of` creation function you need to this Observable with `scheduled` and instead of passing the `scheduler` argument to `of` pass it to `scheduled`.+Following code example demonstrate this process.++```ts+import { of, asyncScheduler, scheduled } from 'rxjs'; ++// Deprecated approach+of([1,2,3], asyncScheduler).subscribe(x => console.log(x));+// suggested approach+scheduled(of([1,2,3]), asyncScheduler).subscribe(x => console.log(x));

I think a better example here would be:

// Deprecated approach
of(1,2,3, asyncScheduler).subscribe(x => console.log(x));
// suggested approach
scheduled([1,2,3], asyncScheduler).subscribe(x => console.log(x));

This highlights that distinction that of takes varargs, but scheduled takes an array.

niklas-wortmann

comment created time in 3 days

more