aboutsummaryrefslogtreecommitdiff
path: root/clientapi
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2022-07-25 17:30:07 +0100
committerGitHub <noreply@github.com>2022-07-25 17:30:07 +0100
commit962b76da445e8af408d7473abfa0cb9d00423264 (patch)
tree2d7139afc142619766e1327281c8ce1741a3b613 /clientapi
parent497ab4e1b7cb4225f57b87932a3dccfbbec74463 (diff)
Make the User API responsible for sending account data output events (#2592)
* Make the User API responsible for sending account data output events * Clean up producer * Review comments
Diffstat (limited to 'clientapi')
-rw-r--r--clientapi/clientapi.go1
-rw-r--r--clientapi/producers/syncapi.go32
-rw-r--r--clientapi/routing/account_data.go18
-rw-r--r--clientapi/routing/room_tagging.go11
4 files changed, 0 insertions, 62 deletions
diff --git a/clientapi/clientapi.go b/clientapi/clientapi.go
index 55735560..080d4d9f 100644
--- a/clientapi/clientapi.go
+++ b/clientapi/clientapi.go
@@ -48,7 +48,6 @@ func AddPublicRoutes(
syncProducer := &producers.SyncAPIProducer{
JetStream: js,
- TopicClientData: cfg.Matrix.JetStream.Prefixed(jetstream.OutputClientData),
TopicReceiptEvent: cfg.Matrix.JetStream.Prefixed(jetstream.OutputReceiptEvent),
TopicSendToDeviceEvent: cfg.Matrix.JetStream.Prefixed(jetstream.OutputSendToDeviceEvent),
TopicTypingEvent: cfg.Matrix.JetStream.Prefixed(jetstream.OutputTypingEvent),
diff --git a/clientapi/producers/syncapi.go b/clientapi/producers/syncapi.go
index 0ac63779..5933ce1a 100644
--- a/clientapi/producers/syncapi.go
+++ b/clientapi/producers/syncapi.go
@@ -21,7 +21,6 @@ import (
"strconv"
"time"
- "github.com/matrix-org/dendrite/internal/eventutil"
"github.com/matrix-org/dendrite/setup/jetstream"
"github.com/matrix-org/dendrite/syncapi/types"
userapi "github.com/matrix-org/dendrite/userapi/api"
@@ -32,7 +31,6 @@ import (
// SyncAPIProducer produces events for the sync API server to consume
type SyncAPIProducer struct {
- TopicClientData string
TopicReceiptEvent string
TopicSendToDeviceEvent string
TopicTypingEvent string
@@ -42,36 +40,6 @@ type SyncAPIProducer struct {
UserAPI userapi.ClientUserAPI
}
-// SendData sends account data to the sync API server
-func (p *SyncAPIProducer) SendData(userID string, roomID string, dataType string, readMarker *eventutil.ReadMarkerJSON, ignoredUsers *types.IgnoredUsers) error {
- m := &nats.Msg{
- Subject: p.TopicClientData,
- Header: nats.Header{},
- }
- m.Header.Set(jetstream.UserID, userID)
-
- data := eventutil.AccountData{
- RoomID: roomID,
- Type: dataType,
- ReadMarker: readMarker,
- IgnoredUsers: ignoredUsers,
- }
- var err error
- m.Data, err = json.Marshal(data)
- if err != nil {
- return err
- }
-
- log.WithFields(log.Fields{
- "user_id": userID,
- "room_id": roomID,
- "data_type": dataType,
- }).Tracef("Producing to topic '%s'", p.TopicClientData)
-
- _, err = p.JetStream.PublishMsg(m)
- return err
-}
-
func (p *SyncAPIProducer) SendReceipt(
ctx context.Context,
userID, roomID, eventID, receiptType string, timestamp gomatrixserverlib.Timestamp,
diff --git a/clientapi/routing/account_data.go b/clientapi/routing/account_data.go
index a5a3014a..0d3a4949 100644
--- a/clientapi/routing/account_data.go
+++ b/clientapi/routing/account_data.go
@@ -25,7 +25,6 @@ import (
"github.com/matrix-org/dendrite/clientapi/producers"
"github.com/matrix-org/dendrite/internal/eventutil"
roomserverAPI "github.com/matrix-org/dendrite/roomserver/api"
- "github.com/matrix-org/dendrite/syncapi/types"
"github.com/matrix-org/dendrite/userapi/api"
"github.com/matrix-org/util"
@@ -127,18 +126,6 @@ func SaveAccountData(
return util.ErrorResponse(err)
}
- var ignoredUsers *types.IgnoredUsers
- if dataType == "m.ignored_user_list" {
- ignoredUsers = &types.IgnoredUsers{}
- _ = json.Unmarshal(body, ignoredUsers)
- }
-
- // TODO: user API should do this since it's account data
- if err := syncProducer.SendData(userID, roomID, dataType, nil, ignoredUsers); err != nil {
- util.GetLogger(req.Context()).WithError(err).Error("syncProducer.SendData failed")
- return jsonerror.InternalServerError()
- }
-
return util.JSONResponse{
Code: http.StatusOK,
JSON: struct{}{},
@@ -191,11 +178,6 @@ func SaveReadMarker(
return util.ErrorResponse(err)
}
- if err := syncProducer.SendData(device.UserID, roomID, "m.fully_read", &r, nil); err != nil {
- util.GetLogger(req.Context()).WithError(err).Error("syncProducer.SendData failed")
- return jsonerror.InternalServerError()
- }
-
// Handle the read receipt that may be included in the read marker
if r.Read != "" {
return SetReceipt(req, syncProducer, device, roomID, "m.read", r.Read)
diff --git a/clientapi/routing/room_tagging.go b/clientapi/routing/room_tagging.go
index 03928956..92b9e665 100644
--- a/clientapi/routing/room_tagging.go
+++ b/clientapi/routing/room_tagging.go
@@ -18,8 +18,6 @@ import (
"encoding/json"
"net/http"
- "github.com/sirupsen/logrus"
-
"github.com/matrix-org/dendrite/clientapi/httputil"
"github.com/matrix-org/dendrite/clientapi/jsonerror"
"github.com/matrix-org/dendrite/clientapi/producers"
@@ -98,10 +96,6 @@ func PutTag(
return jsonerror.InternalServerError()
}
- if err = syncProducer.SendData(userID, roomID, "m.tag", nil, nil); err != nil {
- logrus.WithError(err).Error("Failed to send m.tag account data update to syncapi")
- }
-
return util.JSONResponse{
Code: http.StatusOK,
JSON: struct{}{},
@@ -150,11 +144,6 @@ func DeleteTag(
return jsonerror.InternalServerError()
}
- // TODO: user API should do this since it's account data
- if err := syncProducer.SendData(userID, roomID, "m.tag", nil, nil); err != nil {
- logrus.WithError(err).Error("Failed to send m.tag account data update to syncapi")
- }
-
return util.JSONResponse{
Code: http.StatusOK,
JSON: struct{}{},