[
https://issues.apache.org/jira/browse/JAMES-3539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17424003#comment-17424003
]
Benoit Tellier edited comment on JAMES-3539 at 10/4/21, 3:44 PM:
-----------------------------------------------------------------
We (linagora) will end up eventually implementing PUSH notifications for our
mobile application.
(IOS especially have harsh restrictions regarding background connections, using
a push gateway is a best practice in android too - I'm not an expert here but
[~datpham] did mention this wish.)
*Quick write up* regarding the path we would follow to implement this in James:
- Dedicated (Cassandra) storage for push subsccription
- JMAP level /get /set wiring...
- Have a (group) JMAP listener reading the subscription and sending them to
the registered URL if valid.
We can use reactor-netty as an HTTP client to be fully reactive.
RFC-8291 provides some crypto too... Tink provides helpers to do this easily:
https://github.com/google/tink/blob/master/apps/webpush/src/main/java/com/google/crypto/tink/apps/webpush/WebPushHybridDecrypt.java
https://www.mock-server.com/ for the tests...
We may wish to also enforce a maximum duration for PUSH. This should be
configurable in JMAP conf.
was (Author: btellier):
We (linagora) will end up eventually implementing PUSH notifications for our
mobile application.
(IOS especially have harsh restrictions regarding background connections, using
a push gateway is a best practice in android too - I'm not an expert here but
[~datpham] did mention this wish.)
*Quick write up* regarding the path we would follow to implement this in James:
- Dedicated (Cassandra) storage for push subsccription
- Have a (group) JMAP listener reading the subscription and sending them to
the registered URL if valid.
We can use reactor-netty as an HTTP client to be fully reactive.
RFC-8291 provides some crypto too... Tink provides helpers to do this easily:
https://github.com/google/tink/blob/master/apps/webpush/src/main/java/com/google/crypto/tink/apps/webpush/WebPushHybridDecrypt.java
https://www.mock-server.com/ for the tests...
> JMAP PushSubscription (web hooks) is not implemented
> ----------------------------------------------------
>
> Key: JAMES-3539
> URL: https://issues.apache.org/jira/browse/JAMES-3539
> Project: James Server
> Issue Type: Sub-task
> Components: JMAP
> Affects Versions: 3.6.0
> Reporter: Benoit Tellier
> Assignee: Antoine Duprat
> Priority: Major
>
> https://jmap.io/spec-core.html#pushsubscription
> {code:java}
> Clients may create a PushSubscription to register a URL with the JMAP server.
> The JMAP server will then make an HTTP POST request to this URL for each push
> notification it wishes to send to the client.
> {code}
> I can be used to group notifications with other apps, for instance in a
> groupware.
> This is not implemented so far.
> I read the RFCs, but have no opinion so far on the best way to implement
> this. Support for this is likely not needed but we could imagine accept
> contributions.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]