solid / notifications

Solid Notifications Technical Reports
https://solid.github.io/notifications/protocol
MIT License
11 stars 7 forks source link

Call for Implementations #141

Open csarven opened 1 year ago

csarven commented 1 year ago

This issue is a temporary place to document existing, ongoing, or planned implementations of Solid Notifications Protocol Editor's Draft (see also latest published version) and specific notification channel types.

Current recommendation for implementers: Solid Notifications Protocol, Version 0.2.0. See the Notification Channel Types registry for specific channel type specifications.

Test suite and implementation reports will supersede this information when available, and will have a breakdown for test cases.

The following table is informative only, in draft status, and intended to reflect intents. Information may be outdated. Refer to project source as authoritative.

Product ResourceServer SubscriptionClient SubscriptionServer NotificationSender NotificationReceiver
CSS - WebSocketSubscription2021, WebHookSubscription2021 WebSocketSubscription2021, WebHookSubscription2021 ?
dokieli - WebSocketSubscription2021 WebSocketChannel2023, LDNChannel2023 - - WebSocketSubscription2021 WebSocketChannel2023
solid-webhook-client - WebHookSubscription2021, WebHookChannel2023 - - WebHookSubscription2021, WebHookChannel2023
Solid Notification Client - WebSocketChannel2023 - - WebSocketChannel2023
joachimvh commented 1 year ago

Regarding CSS: WebSocketSubscription2021 and WebHookSubscription2021 were implemented in the 6.0 branch so would be part of that upcoming release. These are based on the specs as they were in September/October 2021, so the 1.0 version (with some aspects of the editor's draft at that point). I haven't been following the Notification spec since then so I will need to have a look what changes might be required to support the 2.0 version.

csarven commented 1 year ago

I strongly recommend that Subscription2021 (expressing notification-subscription-type) implementations are not released! They are considered obsolete at this point, and will be marked as such and refer to new versions which express "notification channel types" (e.g., Channel2023)

Solid Notifications Protocol Version 0.2.0 is not compatible with 0.1.0.

0.1.0 doesn't provide a truly interoperable solution. It had discovery, among other parts undefined or unspecified.

There will be no tests for 0.1.0. I suggest implementations adapting 0.2.0/notification-notification-type (or later version if/when available).

(dokieli originally implemented 0.1.0/notification-subscription-type but recently rewrote to conform to 0.2.0/notification-channel-type. No point in keeping 0.1.0 around.

elf-pavlik commented 1 year ago

There are two dedicated issues with feedback from CSS

woutslabbinck commented 1 year ago

I've made a stand-alone implementation for subscribing to a WebSocketChannel2023 following v0.2.0 of the Solid Notification Protocol and tested it against the CSS add-notification branch:

michielbdejong commented 1 year ago

Off the top of my head, I think Solid-Nextcloud implements WebSocketChannel2021 and WebHookSubscription2022 (maybe that was an in-between version that was never published?) and there is a basic notifications client and some jest-based tests in the solid-crud-tests repo.

joachimvh commented 1 year ago

CSS v6.0.0 has now been released which includes support for v0.2 of the spec. The built-in channels being WebSocketChannel2023 and WebHookChannel2023.

elf-pavlik commented 11 months ago

We had a call earlier this month with @woutslabbinck and @jaxoncreed and agreed to collaborate on TS common modular implementation in https://github.com/o-development/solid-notification-client

This will incorporate prior work done in:

There is an open PR with DiscoveryClient and SubscriptionClient based on a branch that I'm already using in sai-js. Everyone interested in collaboration please feel invited to join the effort!