diff --git a/clientapi/routing/memberships.go b/clientapi/routing/memberships.go index 6ddcf1be3..a4086832f 100644 --- a/clientapi/routing/memberships.go +++ b/clientapi/routing/memberships.go @@ -57,6 +57,11 @@ func GetMemberships( _ *config.ClientAPI, rsAPI api.RoomserverInternalAPI, ) util.JSONResponse { + resErr := checkMemberInRoom(req.Context(), rsAPI, device.UserID, roomID) + if resErr != nil { + return *resErr + } + queryReq := api.QueryMembershipsForRoomRequest{ JoinedOnly: joinedOnly, RoomID: roomID, diff --git a/roomserver/api/query.go b/roomserver/api/query.go index 43bbfd16d..657f1a6dd 100644 --- a/roomserver/api/query.go +++ b/roomserver/api/query.go @@ -151,8 +151,6 @@ type QueryMembershipsForRoomRequest struct { JoinedOnly bool `json:"joined_only"` // ID of the room to fetch memberships from RoomID string `json:"room_id"` - // ID of the user sending the request - Sender string `json:"sender"` } // QueryMembershipsForRoomResponse is a response to QueryMembershipsForRoom diff --git a/roomserver/internal/query/query.go b/roomserver/internal/query/query.go index 3aa51726e..7ff8d84e4 100644 --- a/roomserver/internal/query/query.go +++ b/roomserver/internal/query/query.go @@ -243,11 +243,6 @@ func (r *Queryer) QueryMembershipsForRoom( return err } - membershipEventNID, stillInRoom, isRoomforgotten, err := r.DB.GetMembership(ctx, info.RoomNID, request.Sender) - if err != nil { - return err - } - response.IsRoomForgotten = isRoomforgotten if membershipEventNID == 0 {