Skip to content
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

Support for Reactor library #627

Closed
yschimke opened this issue Aug 18, 2017 · 11 comments · Fixed by #3138
Closed

Support for Reactor library #627

yschimke opened this issue Aug 18, 2017 · 11 comments · Fixed by #3138

Comments

@yschimke
Copy link

Feature request - low urgency but would be useful to avoid reimplementing the code externally or bridging via RxJava2. This is a fairly well adopted library that is an alternative to RxJava.

http://projectreactor.io/
https://github.com/reactor/reactor-core

@yschimke
Copy link
Author

n.b. I'm unable to contribute without a lot of paperwork, and I suspect code in similar in complexity to the single file needed for RxJava2

@ZacSweers
Copy link
Contributor

Isn't the point of ReactiveStreams that you can interop via the common interface?

@yschimke
Copy link
Author

Yep, it does work. A couple of things that can be improved however

  1. Avoid an additional library dependency on RxJava2
  2. Go straight to Reactor types including Mono (max 1 response)

I assume mostly a class like this https://github.com/apollographql/apollo-android/blob/master/apollo-rx2support/src/main/java/com/apollographql/apollo/rx2/Rx2Apollo.java

cc @smaldini

@digitalbuddha
Copy link
Contributor

Non of the contributors use reactor and since this is mostly an android lib I am going to close this issue. Feel free to create your own adapters similar to the rx2 one. I do not feel there is any gain from them living in this repo rather than a separate one

@yschimke
Copy link
Author

FWIW reactor-core is Android O only which is another reason to do this separately.

@smaldini
Copy link

Yes since we are Android O minimum we should host that separately. We were thinking about backporting an exclusively kotlin-based version for our android friends in the future if there is some interest for it.

aoudiamoncef added a commit to aoudiamoncef/apollo-android that referenced this issue Apr 22, 2021
@aoudiamoncef
Copy link
Contributor

Hi @sav007 @tasomaniac @martinbonnin,

I tried to implement this feature. If you are interested to add it to Apollo Android, I'll be happy to continue working on it.

Thanks

aoudiamoncef added a commit to aoudiamoncef/apollo-android that referenced this issue Apr 22, 2021
@martinbonnin
Copy link
Contributor

Hi @aoudiamoncef! Thanks for reaching out!

I don't have a strong opinion myself as I don't really know about reactor either.
Given that this issue hasn't had a lot of activity lately and the last consensus was more around publishing it as a separate repo, I would wait a bit for a stronger signal before adding it here.

If you ever end up publishing the extensions somewhere, let us know and we can certainly put a mention in the README for people to find it.

@aoudiamoncef
Copy link
Contributor

aoudiamoncef commented Apr 22, 2021

@martinbonnin , thanks for your feedback

I'll publish in a separate project ASAP.

It's more interesting for Java/Kotlin backend projects than Android applications.

@aoudiamoncef
Copy link
Contributor

aoudiamoncef commented Apr 25, 2021

Hi @martinbonnin ,

It could be interesting to reopen this issue ?

@martinbonnin
Copy link
Contributor

martinbonnin commented Apr 25, 2021

Given that development will happen in https://github.com/aoudiamoncef/apollo-reactor-support, better discuss it over there?

PS: did you get the wrong @ mention? Stephane hasn't been active on this ticket since 2017?

aoudiamoncef added a commit to aoudiamoncef/apollo-android that referenced this issue May 30, 2021
aoudiamoncef added a commit to aoudiamoncef/apollo-android that referenced this issue May 30, 2021
aoudiamoncef added a commit to aoudiamoncef/apollo-android that referenced this issue May 30, 2021
aoudiamoncef added a commit to aoudiamoncef/apollo-android that referenced this issue May 30, 2021
aoudiamoncef added a commit to aoudiamoncef/apollo-android that referenced this issue Jun 1, 2021
aoudiamoncef added a commit to aoudiamoncef/apollo-android that referenced this issue Jun 1, 2021
aoudiamoncef added a commit to aoudiamoncef/apollo-android that referenced this issue Jun 1, 2021
aoudiamoncef added a commit to aoudiamoncef/apollo-android that referenced this issue Jun 1, 2021
martinbonnin added a commit that referenced this issue Jun 1, 2021
* feat: add Reactor support

resolves #627

* remove .gitignore that is handled by the top level one

* update metalava signatures

Co-authored-by: Martin Bonnin <[email protected]>
martinbonnin added a commit that referenced this issue Nov 22, 2021
* Add a "Who is Apollo" section to the main README (#3073)

* Slight tweaks to the "Who is Apollo?" README section (#3079)

To align with apollographql/apollo-client#8079.

* Update dependency gatsby-theme-apollo-docs to v4.7.3

* Issue #3095: Expose channel capacity parameter. (#3096)

Co-authored-by: Neal Sanche <[email protected]>

* Update dependency gatsby to v2.32.13

* Update dependency gatsby-theme-apollo-docs to v4.7.4

* Fix Float input fields Java codegen with default values in json schemas (#3109)

* Fix Float input fields Java codegen with default values in json schemas

see #3108

* add a test case for lists in defaultValues and handle it

Co-authored-by: Martin Bonnin <[email protected]>

* bump Kotlin and Coroutines to 1.5.0 (#3113)

* bump Kotlin and Coroutines to 1.5.0

* make the KotlinCompile task depend on antlr generation

* update metalava-plugin

* update metalava

* update metalava using Jdk8.

Not really sure why the signatures would differ based on the java
version...

* release 2.5.7

* version is now 2.5.8-SNAPSHOT

* Update README.md (#3120)

* Replace spectrum with discourse (#3123)

* Discourse: pre-fill the category and tags

* Update multi-modules.mdx (#3125)

* Implement Query Batching for `apollo-runtime` (#3117)

* Implement Query Batching for `apollo-runtime`

* update metalava signatures

* Trigger HTTP call on max batch size, added synchronization, throw when using GET method

* Unit tests for BatchPoller

* Fix checkstyle

* Propagate parsing errors in callbacks, better syncrhonization, use LinkedList

* Added some tests for batch response parsing

* Added tests for request body + headers

* Builder API to enable per query batching, dont rely on time for tests

* update Metalava signatures

Co-authored-by: Martin Bonnin <[email protected]>

* pass 'operationName' in the introspection query (#3126)

* bump junit (#3131)

* Update dependency gatsby-theme-apollo-docs to v4.7.6

* feat: add Reactor support (#3138)

* feat: add Reactor support

resolves #627

* remove .gitignore that is handled by the top level one

* update metalava signatures

Co-authored-by: Martin Bonnin <[email protected]>

* Update dependency gatsby-theme-apollo-docs to v4.7.9

* add reactor in the left column of the doc (#3141)

* release 2.5.8

* version is now 2.5.9-SNAPSHOT

* Fix overriding `canBeBatched` value when cloning `QueryCall` with `toBuilder()` (#3146)

* Update get-started-multiplatform.mdx (#3150)

update dep version forcing as per gradle new api

* Update badge from Bintray to MavenCentral for apollo-idling-resource (#3153)

Thanks!

* Update 09-write-your-first-mutation.mdx (#3154)

* Update 01-configure-project.mdx

* Update 02-add-the-graphql-schema.mdx

* release 2.5.9

* version is now 2.5.10-SNAPSHOT

* refactor: RxJava 2/3 support (#3166)

* Update dependency striptags to 3.2.0 [SECURITY] (#3178)

Co-authored-by: Renovate Bot <[email protected]>

* Update dependency gatsby-theme-apollo-docs to v4.7.11

* Update dependency gatsby-theme-apollo-docs to v4.7.12

* remove duplicate executionContext (#3213)

* feat: add Mutiny support (#3198)

* feat: add Mutiny support

* Update gatsby-config.js

Co-authored-by: Martin Bonnin <[email protected]>

* add v3 docs (#3223)

* Add 3.0 alpha notice (#3231)

* Update dependency gatsby-theme-apollo-docs to v4.7.13

* July 2021 ROADMAP update (#3255)

* Update ROADMAP.md

* Update dependency gatsby-theme-apollo-docs to v4.7.14

* Update multi-modules.mdx

Add a not about multi platform, See #3297

* Update multi-modules.mdx

Remove deleted branch

* Replace Spectrum with community.apollographql.com (#3299)

* Update ROADMAP.md

* Update dependency path-parse to 1.0.7 [SECURITY] (#3296)

Co-authored-by: Renovate Bot <[email protected]>

* Update dependency gatsby-theme-apollo-docs to v4.7.15

* Remove root redirect and build deploy previews at / (#3309)

* Deploy the prod site at the root (#3312)

* Update dependency gatsby-theme-apollo-docs to v4.7.16

* Remove path prefixes for docs redirects (#3329)

* Updated coroutines for use native-mt version (#3330)

* Updated coroutines for use native-mt version

* Update get-started-multiplatform.mdx

Co-authored-by: Martin Bonnin <[email protected]>

* Update dependency gatsby-theme-apollo-docs to v4.7.18

* Increase Json nesting to 256 (#3334)

Closes #3308

* Bump docs theme to add Algolia search (#3346)

* Configure for updated docs theme

* Upgrade docs theme

* Bump docs theme version

* Bump docs theme version

* Update docs theme version

* Move config from docs netlify.toml to root level netlify.toml

* Upgrade docs theme

* Upgrade docs theme

* Upgrade docs theme

* Upgrade docs theme

* Bump docs theme to v5

Co-authored-by: Trevor Blades <[email protected]>

* Update dependency gatsby-theme-apollo-docs to v5.0.1

* Add Reactor && Mutiny to advanced topics (#3355)

* feat: add Mutiny support

* Update gatsby-config.js

* doc: Add Reactor && Mutiny to advanced topics

Co-authored-by: Martin Bonnin <[email protected]>

* Update dependency gatsby-theme-apollo-docs to v5.0.2

* Update dependency gatsby-theme-apollo-docs to v5.0.3

* Update dependency gatsby-theme-apollo-docs to v5.0.7

* Who is Apollo README updates (#3379)

Small updates to align "Who is Apollo" sections across repos.

* Update dependency gatsby-theme-apollo-docs to v5.0.8

* Give a hint at errorPayload (#3381)

See #3369

* docs: Configure custom Algolia filters (#3378)

* Configure algolia filters

* Upgrade theme

* Upgrade theme

* Adding Benoit (#3388)

* Workaround wrong input field default values (#3398)

* add a test case for #3394

* do not generate defaultValues for input fields of input object type

* make an exception for emptyList for backward compatibility

* do not crash when trying to indent the GraphQL document (#3399)

* Minor improvements to the Tutorial documentation (#3396)

* Minor improvements to the Tutorial documentation

* Rephrase a sentence

Co-authored-by: Martin Bonnin <[email protected]>

* Remove unneeded dependency

* Use 2.5.9 to be consistent with the code on tutorial's repo

Co-authored-by: Martin Bonnin <[email protected]>

* Add ./gradlew push${MainService}ApolloOperations (#3403)

* add RegisterOperations

* add ApolloRegisterOperationsTask

* add a test case

* fix bad copy/paste

* update metalava signatures

* add some doc

* Update docs/source/advanced/operation-safelisting.mdx

Co-authored-by: Benoit Lubek <[email protected]>

* Update docs/source/advanced/operation-safelisting.mdx

Co-authored-by: Benoit Lubek <[email protected]>

* add the link to the operation registry server documentation

Co-authored-by: Benoit Lubek <[email protected]>

* Replace 'data graph' with 'graph' (#3389)

* Operation Registry: normalize queries before computing the hash (#3406)

* add normalization

* be robust to Number.toString() in JS being different from
Double.toString() in Java

* remove extra "only"

* workaround a doc issue where the 3.x was used instead of 2.x

* release 2.5.10

* version is now 2.5.11-SNAPSHOT

* Indicate the supported native platforms in the doc (2.x) (#3419)

* Indicate the supported native platforms in the doc.

* Clarification about the `js` target also being available

* Added toString method for Input (#3427)

* Fix outdated doc about FileUpload (#3429)

* Update ROADMAP.md (#3445)

* update ROADMAP.md

* update ROADMAP.md

* Update dependency gatsby-theme-apollo-docs to v5.3.1

* Make safelistingHash closer to its apollo-tooling counterpart (#3471)

* take #2 on query normalization

* added a comment

* add comment

* Update dependency gatsby-theme-apollo-docs to v5.3.2

* Update dependency gatsby-theme-apollo-docs to v5.3.3

* Update dependency url-parse to 1.5.2 [SECURITY] (#3522)

Co-authored-by: Renovate Bot <[email protected]>

* Update dependency ws to 7.4.6 [SECURITY] (#3523)

Co-authored-by: Renovate Bot <[email protected]>

* Update dependency ssri to 7.1.1 [SECURITY] (#3521)

Co-authored-by: Renovate Bot <[email protected]>

* Update dependency postcss to 7.0.36 [SECURITY] (#3519)

Co-authored-by: Renovate Bot <[email protected]>

* Update dependency object-path to 0.11.8 [SECURITY] (#3518)

Co-authored-by: Renovate Bot <[email protected]>

* Update dependency dns-packet to 1.3.2 [SECURITY] (#3517)

Co-authored-by: Renovate Bot <[email protected]>

* Update dependency browserslist to 4.16.5 [SECURITY] (#3516)

Co-authored-by: Renovate Bot <[email protected]>

* Update dependency axios to 0.21.2 [SECURITY] (#3515)

Co-authored-by: Renovate Bot <[email protected]>

* Bump docs theme and align React version w/ other docsets (#3539)

* Always make sure the Response is closed (#3541)

* release 2.5.11

* version is now 2.5.12-SNAPSHOT

* Gateway clarification based on license change

* Update dependency gatsby-theme-apollo-docs to v5.3.8

* update docs dependencies

* pass 'operationName' in the introspection query (#3126)

* update ROADMAP

* add multiplatform in the multimodules doc

* Remove root redirect and build deploy previews at / (#3309)

* Deploy the prod site at the root (#3312)

* Remove path prefixes for docs redirects (#3329)

* add a Kotlin Native Doc

inspired by commit 2e2f5d9

* Bump docs theme to add Algolia search (#3346)

* Configure for updated docs theme

* Upgrade docs theme

* Bump docs theme version

* Bump docs theme version

* Update docs theme version

* Move config from docs netlify.toml to root level netlify.toml

* Upgrade docs theme

* Upgrade docs theme

* Upgrade docs theme

* Upgrade docs theme

* Bump docs theme to v5

Co-authored-by: Trevor Blades <[email protected]>

* update algolia filters

* Adding Benoit (#3388)

* replace data graph with 'graph'

* premliminary work for registerOperations

* wip

* wip

* fix sorting

* add Gradle tasks for registerOperations

* add safelisting doc

* update apiDump

* revert debug and fix tests that require mpp-utils

Co-authored-by: Danielle Man <[email protected]>
Co-authored-by: Hugh Willson <[email protected]>
Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: Neal Sanche <[email protected]>
Co-authored-by: Neal Sanche <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>
Co-authored-by: Moncef AOUDIA <[email protected]>
Co-authored-by: Fabio Santo <[email protected]>
Co-authored-by: Nicola Corti <[email protected]>
Co-authored-by: Robert Theis <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Stephen Barlow <[email protected]>
Co-authored-by: Trevor Blades <[email protected]>
Co-authored-by: Виталий <[email protected]>
Co-authored-by: Janessa Garrow <[email protected]>
Co-authored-by: Benoit Lubek <[email protected]>
Co-authored-by: Andrew Orobator <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants