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

Compatibility with websockets-pubsub #59

Open
michielbdejong opened this issue May 3, 2021 · 9 comments
Open

Compatibility with websockets-pubsub #59

michielbdejong opened this issue May 3, 2021 · 9 comments
Labels
enhancement New feature or request

Comments

@michielbdejong
Copy link

Some Solid pod servers (like ESS) implement websockets-notification-servers.
Others (like NSS, PSS, CSS, ...) implement websockets-pubsub.

Will this library support both protocols or will it only specialise in websockets-notification-servers?

@michielbdejong michielbdejong added the enhancement New feature or request label May 3, 2021
@nicolasmondada
Copy link
Contributor

nicolasmondada commented May 4, 2021

Hi Michiel,

Thanks for asking. Notification Streams in ESS is designed to support multiple protocols and websockets is its first iteration with more to come in the future. We are making this available to everyone for free through PodSpaces and we are looking forward for people to try it out and send their feedback.

Thanks,
Nick.-

@michielbdejong
Copy link
Author

websockets is its first iteration

You mean websockets-notification-services, not websockets-pubsub, right? So then the answer is 'no'?

@michielbdejong
Copy link
Author

That means if I want to write a Solid app (instead of just an "Inrupt app", if that is a word) then I cannot use your library, because it will not work against NSS, PSS, CSS, etc. Have you considered that use case?

@nicolasmondada
Copy link
Contributor

Yes, I'm sorry, I meant websockets, not webhooks. I corrected later.

There are only Solid apps :) and we know about this limitation, we are looking at different options for a convergence path that works for all parties involved.

michielbdejong added a commit to michielbdejong/solid-client-notifications-js that referenced this issue May 4, 2021
@michielbdejong
Copy link
Author

OK, next time maybe look at your options before releasing a product, but hopefully you can fix it in version 1.2!

For this version, if Inrupt client only works with Inrupt server, and not with other Solid servers, then maybe it would be fair to warn your users about this caveat. Something like #61 maybe?

@michielbdejong
Copy link
Author

A possible way to fix it would be to create an equivalent client library for websockets-pubsub, and then a wrapper around the two, something like:

solid-client-notifications-js  solid-client-websockets-pubsub
                      |                       |
                      |                       |
                       \_____________________/
                                   |
                          solid-client-wrapper

@michielbdejong
Copy link
Author

See https://github.com/solid/solid-spec/blob/master/api-websockets.md for more info on the websockets-pubsub protocol that NSS, PSS, and CSS implement. It may disappear from the scene one day, but for now, a Solid app will definitely need to support it if it wants to receive notifications from different Solid pod server implementations, other than your own one.

@nicolasmondada
Copy link
Contributor

nicolasmondada commented May 4, 2021

OK, next time maybe look at your options before releasing a product, but hopefully you can fix it in version 1.2!

I think you misunderstand the situation here, we looked at the different options and decided to go with an implementation that provides with secure notifications, unlike Solid Websockets API, which is currently implemented by NSS and others.

For this version, if Inrupt client only works with Inrupt server, and not with other Solid servers, then maybe it would be fair to warn your users about this caveat. Something like #61 maybe?

Sure, I adjusted the text a bit to explain more about the decision behind the current incompatibility: #61 (review)

@scenaristeur
Copy link

is there a way for a potential library to know if it is acting on a ESS or on another version of Solid server ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants