-
Notifications
You must be signed in to change notification settings - Fork 75
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
Continued Maintenance #66
Comments
Hi @kyleboe thank you for your very thoughtfully worded issue. Additional maintainers to the project would be very welcome. To be frank, there is not one current Absinthe maintainer with the relevant javascript skills to maintain this repo, as we're generally all on the backend Elixir side right now. If you are offering, I'd love to chat. Notably though there is an alternative route that I think may be more sustainable: providing a Phoenix Websocket implementation that is compatible with Apollo Server's wire protocol. This would allow front end developers to simply use the standard, off the shelf apollo-link and go from there. I believe there has already been some work done on this, but its status is unknown to me at the moment. |
Thanks so much for the context. Admittedly, I don't have the strongest JS chops so I don't know that I am qualified enough to maintain this. However, if there is nobody else available, I am willing to assist.
Interesting, that definitely seems to be a more pragmatic approach. I will poke around the Apollo docs and see what can be done to this effect. |
https://github.com/easco/absinthe_apollo_sockets is one implementation. It looks like overall the apollo socket protocol is a lot simpler than phoenix channels. Probably the main concern I have is how testing it will go, as I'd like to do that end to end, and that introduces a need to keep a local apollo project up to date. |
It looks like the library linked to in the README of |
I recommend https://github.com/geometerio/absinthe_graphql_ws for using the One thing I've been meaning to look into is whether it's possible to do some kind of protocol negotiation. Then you could point the client at the socket and the backend would figure out which protocol is intended and use that. |
@maartenvanvliet I think we are talking about the JS (client) side of things. Not necessarily consuming GQL via the backend (elixir/absinthe). Maybe I'm misunderstanding your recommendation though. |
@kyleboe It's actually super relevant. What @maartenvanvliet and I are saying is that instead of maintaining an Absinthe specific JS client, what we want to do is provide official Absinthe support on the Elixir side for the normal standard js client so that our relative lack of JS developers stops being a problem. |
Ah I see! I misread the Usage section of the |
Ok yeah I just got everything running locally by implementing I basically followed the Apollo docs here and ensured that the backend was set up as outlined in the Thanks so much for all the help @benwilson512 & @maartenvanvliet!
This seems like a great way to go. If there are any PRs I can open to assist in this just let me know. |
Also had success using this library. Perhaps it would be valuable to add a section in the absinthe docs showcasing this as an alternative for folks who need to use Apollo V3 |
I fully acknowledge that the last few years have been a roller coaster so I bring this up with all the empathy I can. There are several valuable PRs that have been opened over the last couple years without much input from those currently maintaining this repo. I would be happy to help with maintenance if the need is there. Ultimately, I want to do my part to ensure that the OSS on which I depend does not die on the vine.
TL;DR Thoughts on adding maintainers?
The text was updated successfully, but these errors were encountered: