aboutsummaryrefslogtreecommitdiff
path: root/clientapi
diff options
context:
space:
mode:
authorkegsay <kegan@matrix.org>2023-04-27 12:54:20 +0100
committerGitHub <noreply@github.com>2023-04-27 12:54:20 +0100
commitb189edf4f43ff34b69d6c60aeb0efb60dd549c86 (patch)
tree4c08aeda694f3e1cf17c66cf0e4b2b306af6a8df /clientapi
parent2475cf4b61747e76a524af6f71a4eb7e112812af (diff)
Remove gmsl.HeaderedEvent (#3068)
Replaced with types.HeaderedEvent _for now_. In reality we want to move them all to gmsl.Event and only use HeaderedEvent when we _need_ to bundle the version/event ID with the event (seriailsation boundaries, and even then only when we don't have the room version). Requires https://github.com/matrix-org/gomatrixserverlib/pull/373
Diffstat (limited to 'clientapi')
-rw-r--r--clientapi/routing/createroom.go9
-rw-r--r--clientapi/routing/membership.go7
-rw-r--r--clientapi/routing/profile.go14
-rw-r--r--clientapi/routing/redaction.go3
-rw-r--r--clientapi/routing/sendevent.go5
-rw-r--r--clientapi/routing/server_notices.go6
-rw-r--r--clientapi/routing/state.go3
-rw-r--r--clientapi/threepid/invites.go5
8 files changed, 27 insertions, 25 deletions
diff --git a/clientapi/routing/createroom.go b/clientapi/routing/createroom.go
index 043e60ee..3962dccc 100644
--- a/clientapi/routing/createroom.go
+++ b/clientapi/routing/createroom.go
@@ -24,6 +24,7 @@ import (
appserviceAPI "github.com/matrix-org/dendrite/appservice/api"
roomserverAPI "github.com/matrix-org/dendrite/roomserver/api"
+ "github.com/matrix-org/dendrite/roomserver/types"
roomserverVersion "github.com/matrix-org/dendrite/roomserver/version"
"github.com/matrix-org/dendrite/userapi/api"
"github.com/matrix-org/gomatrixserverlib/fclient"
@@ -431,7 +432,7 @@ func createRoom(
// TODO: invite events
// TODO: 3pid invite events
- var builtEvents []*gomatrixserverlib.HeaderedEvent
+ var builtEvents []*types.HeaderedEvent
authEvents := gomatrixserverlib.NewAuthEvents(nil)
for i, e := range eventsToMake {
depth := i + 1 // depth starts at 1
@@ -464,7 +465,7 @@ func createRoom(
}
// Add the event to the list of auth events
- builtEvents = append(builtEvents, ev.Headered(roomVersion))
+ builtEvents = append(builtEvents, &types.HeaderedEvent{Event: ev})
err = authEvents.AddEvent(ev)
if err != nil {
util.GetLogger(ctx).WithError(err).Error("authEvents.AddEvent failed")
@@ -559,11 +560,11 @@ func createRoom(
)
// Send the invite event to the roomserver.
var inviteRes roomserverAPI.PerformInviteResponse
- event := inviteEvent.Headered(roomVersion)
+ event := inviteEvent
if err := rsAPI.PerformInvite(ctx, &roomserverAPI.PerformInviteRequest{
Event: event,
InviteRoomState: inviteStrippedState,
- RoomVersion: event.RoomVersion,
+ RoomVersion: event.Version(),
SendAsServer: string(userDomain),
}, &inviteRes); err != nil {
util.GetLogger(ctx).WithError(err).Error("PerformInvite failed")
diff --git a/clientapi/routing/membership.go b/clientapi/routing/membership.go
index 13de4d00..827b5f29 100644
--- a/clientapi/routing/membership.go
+++ b/clientapi/routing/membership.go
@@ -31,6 +31,7 @@ import (
"github.com/matrix-org/dendrite/internal/eventutil"
"github.com/matrix-org/dendrite/roomserver/api"
roomserverAPI "github.com/matrix-org/dendrite/roomserver/api"
+ "github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/dendrite/setup/config"
userapi "github.com/matrix-org/dendrite/userapi/api"
@@ -91,7 +92,7 @@ func sendMembership(ctx context.Context, profileAPI userapi.ClientUserAPI, devic
if err = roomserverAPI.SendEvents(
ctx, rsAPI,
roomserverAPI.KindNew,
- []*gomatrixserverlib.HeaderedEvent{event},
+ []*types.HeaderedEvent{event},
device.UserDomain(),
serverName,
serverName,
@@ -268,7 +269,7 @@ func sendInvite(
if err := rsAPI.PerformInvite(ctx, &api.PerformInviteRequest{
Event: event,
InviteRoomState: nil, // ask the roomserver to draw up invite room state for us
- RoomVersion: event.RoomVersion,
+ RoomVersion: event.Version(),
SendAsServer: string(device.UserDomain()),
}, &inviteRes); err != nil {
util.GetLogger(ctx).WithError(err).Error("PerformInvite failed")
@@ -294,7 +295,7 @@ func buildMembershipEvent(
membership, roomID string, isDirect bool,
cfg *config.ClientAPI, evTime time.Time,
rsAPI roomserverAPI.ClientRoomserverAPI, asAPI appserviceAPI.AppServiceInternalAPI,
-) (*gomatrixserverlib.HeaderedEvent, error) {
+) (*types.HeaderedEvent, error) {
profile, err := loadProfile(ctx, targetUserID, cfg, profileAPI, asAPI)
if err != nil {
return nil, err
diff --git a/clientapi/routing/profile.go b/clientapi/routing/profile.go
index b08be6ee..9ccd1be2 100644
--- a/clientapi/routing/profile.go
+++ b/clientapi/routing/profile.go
@@ -29,6 +29,7 @@ import (
"github.com/matrix-org/dendrite/clientapi/jsonerror"
"github.com/matrix-org/dendrite/internal/eventutil"
"github.com/matrix-org/dendrite/roomserver/api"
+ "github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/dendrite/setup/config"
userapi "github.com/matrix-org/dendrite/userapi/api"
@@ -334,15 +335,10 @@ func buildMembershipEvents(
roomIDs []string,
newProfile authtypes.Profile, userID string, cfg *config.ClientAPI,
evTime time.Time, rsAPI api.ClientRoomserverAPI,
-) ([]*gomatrixserverlib.HeaderedEvent, error) {
- evs := []*gomatrixserverlib.HeaderedEvent{}
+) ([]*types.HeaderedEvent, error) {
+ evs := []*types.HeaderedEvent{}
for _, roomID := range roomIDs {
- roomVersion, err := rsAPI.QueryRoomVersionForRoom(ctx, roomID)
- if err != nil {
- return nil, err
- }
-
builder := gomatrixserverlib.EventBuilder{
Sender: userID,
RoomID: roomID,
@@ -357,7 +353,7 @@ func buildMembershipEvents(
content.DisplayName = newProfile.DisplayName
content.AvatarURL = newProfile.AvatarURL
- if err = builder.SetContent(content); err != nil {
+ if err := builder.SetContent(content); err != nil {
return nil, err
}
@@ -371,7 +367,7 @@ func buildMembershipEvents(
return nil, err
}
- evs = append(evs, event.Headered(roomVersion))
+ evs = append(evs, event)
}
return evs, nil
diff --git a/clientapi/routing/redaction.go b/clientapi/routing/redaction.go
index 2bdf6705..c433110e 100644
--- a/clientapi/routing/redaction.go
+++ b/clientapi/routing/redaction.go
@@ -28,6 +28,7 @@ import (
"github.com/matrix-org/dendrite/internal/eventutil"
"github.com/matrix-org/dendrite/internal/transactions"
roomserverAPI "github.com/matrix-org/dendrite/roomserver/api"
+ "github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/dendrite/setup/config"
userapi "github.com/matrix-org/dendrite/userapi/api"
)
@@ -138,7 +139,7 @@ func SendRedaction(
}
}
domain := device.UserDomain()
- if err = roomserverAPI.SendEvents(context.Background(), rsAPI, roomserverAPI.KindNew, []*gomatrixserverlib.HeaderedEvent{e}, device.UserDomain(), domain, domain, nil, false); err != nil {
+ if err = roomserverAPI.SendEvents(context.Background(), rsAPI, roomserverAPI.KindNew, []*types.HeaderedEvent{e}, device.UserDomain(), domain, domain, nil, false); err != nil {
util.GetLogger(req.Context()).WithError(err).Errorf("failed to SendEvents")
return jsonerror.InternalServerError()
}
diff --git a/clientapi/routing/sendevent.go b/clientapi/routing/sendevent.go
index 0342404d..71dc6c40 100644
--- a/clientapi/routing/sendevent.go
+++ b/clientapi/routing/sendevent.go
@@ -34,6 +34,7 @@ import (
"github.com/matrix-org/dendrite/internal/eventutil"
"github.com/matrix-org/dendrite/internal/transactions"
"github.com/matrix-org/dendrite/roomserver/api"
+ "github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/dendrite/setup/config"
userapi "github.com/matrix-org/dendrite/userapi/api"
)
@@ -183,8 +184,8 @@ func SendEvent(
if err := api.SendEvents(
req.Context(), rsAPI,
api.KindNew,
- []*gomatrixserverlib.HeaderedEvent{
- e.Headered(roomVersion),
+ []*types.HeaderedEvent{
+ &types.HeaderedEvent{Event: e},
},
device.UserDomain(),
domain,
diff --git a/clientapi/routing/server_notices.go b/clientapi/routing/server_notices.go
index 99a74874..c556ed26 100644
--- a/clientapi/routing/server_notices.go
+++ b/clientapi/routing/server_notices.go
@@ -22,12 +22,12 @@ import (
"time"
"github.com/matrix-org/gomatrix"
- "github.com/matrix-org/gomatrixserverlib"
"github.com/matrix-org/gomatrixserverlib/tokens"
"github.com/matrix-org/util"
"github.com/prometheus/client_golang/prometheus"
"github.com/sirupsen/logrus"
+ "github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/dendrite/roomserver/version"
appserviceAPI "github.com/matrix-org/dendrite/appservice/api"
@@ -227,8 +227,8 @@ func SendServerNotice(
if err := api.SendEvents(
ctx, rsAPI,
api.KindNew,
- []*gomatrixserverlib.HeaderedEvent{
- e.Headered(roomVersion),
+ []*types.HeaderedEvent{
+ &types.HeaderedEvent{Event: e},
},
device.UserDomain(),
cfgClient.Matrix.ServerName,
diff --git a/clientapi/routing/state.go b/clientapi/routing/state.go
index 3fb15766..3ea75a5d 100644
--- a/clientapi/routing/state.go
+++ b/clientapi/routing/state.go
@@ -22,6 +22,7 @@ import (
"github.com/matrix-org/dendrite/clientapi/jsonerror"
"github.com/matrix-org/dendrite/roomserver/api"
+ "github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/dendrite/syncapi/synctypes"
userapi "github.com/matrix-org/dendrite/userapi/api"
"github.com/matrix-org/gomatrixserverlib"
@@ -266,7 +267,7 @@ func OnIncomingStateTypeRequest(
"state_at_event": !wantLatestState,
}).Info("Fetching state")
- var event *gomatrixserverlib.HeaderedEvent
+ var event *types.HeaderedEvent
if wantLatestState {
// If we are happy to use the latest state, either because the user is
// still in the room, or because the room is world-readable, then just
diff --git a/clientapi/threepid/invites.go b/clientapi/threepid/invites.go
index 34fa5415..21940575 100644
--- a/clientapi/threepid/invites.go
+++ b/clientapi/threepid/invites.go
@@ -27,6 +27,7 @@ import (
"github.com/matrix-org/dendrite/clientapi/auth/authtypes"
"github.com/matrix-org/dendrite/internal/eventutil"
"github.com/matrix-org/dendrite/roomserver/api"
+ "github.com/matrix-org/dendrite/roomserver/types"
"github.com/matrix-org/dendrite/setup/config"
userapi "github.com/matrix-org/dendrite/userapi/api"
"github.com/matrix-org/gomatrixserverlib"
@@ -367,8 +368,8 @@ func emit3PIDInviteEvent(
return api.SendEvents(
ctx, rsAPI,
api.KindNew,
- []*gomatrixserverlib.HeaderedEvent{
- event.Headered(queryRes.RoomVersion),
+ []*types.HeaderedEvent{
+ event,
},
device.UserDomain(),
cfg.Matrix.ServerName,