mirror of
https://github.com/hoernschen/dendrite.git
synced 2025-08-02 14:12:47 +00:00
Update gmsl to use new validated RoomID on PDUs (#3200)
GMSL returns a `spec.RoomID` when calling `PDU.RoomID()`
This commit is contained in:
parent
058081e68e
commit
8245b24100
64 changed files with 241 additions and 413 deletions
|
@ -84,18 +84,14 @@ func ToClientEvents(serverEvs []gomatrixserverlib.PDU, format ClientEventFormat,
|
|||
}
|
||||
|
||||
sender := spec.UserID{}
|
||||
validRoomID, err := spec.NewRoomID(se.RoomID())
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
userID, err := userIDForSender(*validRoomID, se.SenderID())
|
||||
userID, err := userIDForSender(se.RoomID(), se.SenderID())
|
||||
if err == nil && userID != nil {
|
||||
sender = *userID
|
||||
}
|
||||
|
||||
sk := se.StateKey()
|
||||
if sk != nil && *sk != "" {
|
||||
skUserID, err := userIDForSender(*validRoomID, spec.SenderID(*sk))
|
||||
skUserID, err := userIDForSender(se.RoomID(), spec.SenderID(*sk))
|
||||
if err == nil && skUserID != nil {
|
||||
skString := skUserID.String()
|
||||
sk = &skString
|
||||
|
@ -105,7 +101,7 @@ func ToClientEvents(serverEvs []gomatrixserverlib.PDU, format ClientEventFormat,
|
|||
unsigned := se.Unsigned()
|
||||
var prev PrevEventRef
|
||||
if err := json.Unmarshal(se.Unsigned(), &prev); err == nil && prev.PrevSenderID != "" {
|
||||
prevUserID, err := userIDForSender(*validRoomID, spec.SenderID(prev.PrevSenderID))
|
||||
prevUserID, err := userIDForSender(se.RoomID(), spec.SenderID(prev.PrevSenderID))
|
||||
if err == nil && userID != nil {
|
||||
prev.PrevSenderID = prevUserID.String()
|
||||
} else {
|
||||
|
@ -142,10 +138,10 @@ func ToClientEvent(se gomatrixserverlib.PDU, format ClientEventFormat, sender st
|
|||
|
||||
switch format {
|
||||
case FormatAll:
|
||||
ce.RoomID = se.RoomID()
|
||||
ce.RoomID = se.RoomID().String()
|
||||
case FormatSync:
|
||||
case FormatSyncFederation:
|
||||
ce.RoomID = se.RoomID()
|
||||
ce.RoomID = se.RoomID().String()
|
||||
ce.AuthEvents = se.AuthEventIDs()
|
||||
ce.PrevEvents = se.PrevEventIDs()
|
||||
ce.Depth = se.Depth()
|
||||
|
@ -164,18 +160,14 @@ func ToClientEvent(se gomatrixserverlib.PDU, format ClientEventFormat, sender st
|
|||
// It provides default logic for event.SenderID & event.StateKey -> userID conversions.
|
||||
func ToClientEventDefault(userIDQuery spec.UserIDForSender, event gomatrixserverlib.PDU) ClientEvent {
|
||||
sender := spec.UserID{}
|
||||
validRoomID, err := spec.NewRoomID(event.RoomID())
|
||||
if err != nil {
|
||||
return ClientEvent{}
|
||||
}
|
||||
userID, err := userIDQuery(*validRoomID, event.SenderID())
|
||||
userID, err := userIDQuery(event.RoomID(), event.SenderID())
|
||||
if err == nil && userID != nil {
|
||||
sender = *userID
|
||||
}
|
||||
|
||||
sk := event.StateKey()
|
||||
if sk != nil && *sk != "" {
|
||||
skUserID, err := userIDQuery(*validRoomID, spec.SenderID(*event.StateKey()))
|
||||
skUserID, err := userIDQuery(event.RoomID(), spec.SenderID(*event.StateKey()))
|
||||
if err == nil && skUserID != nil {
|
||||
skString := skUserID.String()
|
||||
sk = &skString
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue