-
Notifications
You must be signed in to change notification settings - Fork 0
Description
For vdirsyncer (and probably for other native desktop/server applications), having a websocket where messages indicating updates are sent would be the logical choice. It builds on HTTP (which is already the base here), and should be usable by clients without additional infrastructure (aside from the CalDav server itself).
However, I understand that for Android and iOS this MUST go through a third party server which then relays connections. Support for UnifiedPush aligns very closely with those requirements too, so I think it makes sense to keep these three in the same bag.
Is it even feasible to have a proxy service connecting WS->Apple and WS->Google? It seems that the client implementation would be messy, since it's not the client itself that subscribes to notifications, but this unusual proxy.
To summarize this a bit, a client can subscribe to push notifications with a server, but may want one of two approaches:
- Send an webhook-like request to an external service (e.g.: Apple's notification service).
- Upgrade to websocket, and send push notifications there.
On top of this, the webhooks themselves need a payload format specific to what Apple/Google/UnifiedPush expect. Again, the only thing that comes to mind here is a proxy that does this conversion, since I can't imagine an extension to CalDav taking into account the nuances of these third party services.
I'm curious to hear more about what kind of designs you have in mind; I'm sure you've given this aspect a lot more though.