Commit graph

6 commits

Author SHA1 Message Date
Tommie Gannert 74b74bf6d6 Implement read receipt consumers in Pushserver.
Supports m.read and m.fully_read receipts.
2021-12-03 19:43:23 +01:00
Tommie Gannert ce1255e7db Use PushGatewayClient and the pushrules module in Pushserver's room consumer.
* Use one goroutine per user to avoid locking up the entire server for
  one bad push gateway.
* Split pushing by format.
* Send one device per push. Sytest does not support coalescing
  multiple devices into one push. Matches Synapse. Either we change
  Sytest, or remove the group-by-url-and-format logic.
* Write OutputNotificationData from push server. Sync API is already
  the consumer.
2021-12-03 19:43:02 +01:00
Tommie Gannert 926252671b Implement pushserver/storage for notifications. 2021-12-03 19:43:02 +01:00
Tommie Gannert f5d8f0e72f Add push rules query/put API in Pushserver.
This manipulates account data over User API, and fires sync messages
for changes. Those sync messages should, according to an existing TODO
in clientapi, be moved to userapi.

Forks clientapi/producers/syncapi.go to pushserver/ for later extension.
2021-12-03 19:43:02 +01:00
Tommie Gannert bd9a4f5032 Merge remote-tracking branch 'origin/master' into pushers-api 2021-12-03 19:17:14 +01:00
Piotr Kozimor 151d52ce23 Add Pushserver component with Pushers API
Co-authored-by: Tommie Gannert <tommie@gannert.se>
Co-authored-by: Dan Peleg <dan@globekeeper.com>
2021-11-19 12:58:38 +01:00