Skip to content

Commit

Permalink
only add url field on sticker events (properly)
Browse files Browse the repository at this point in the history
  • Loading branch information
surakin committed Jan 2, 2024
1 parent 598e6e6 commit 0ebb235
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions portal.go
Original file line number Diff line number Diff line change
Expand Up @@ -3434,12 +3434,6 @@ func (portal *Portal) uploadMedia(intent *appservice.IntentAPI, data []byte, con
if file != nil {
file.URL = mxc.CUString()
content.File = file
// Sticker events require the URL field to be present https://spec.matrix.org/v1.9/client-server-api/#events-16
// This seems to affect only clients based on the Rust SDK on encrypted channels (like Element X)
isSticker := string(content.MsgType) == event.EventSticker.Type
if isSticker {
content.URL = mxc.CUString()
}
} else {
content.URL = mxc.CUString()
}
Expand Down Expand Up @@ -3506,6 +3500,13 @@ func (portal *Portal) convertMediaMessage(intent *appservice.IntentAPI, source *
return portal.makeMediaBridgeFailureMessage(info, fmt.Errorf("failed to upload media: %w", err), converted, nil, "")
}
}

// Sticker events require the URL field to be present https://spec.matrix.org/v1.9/client-server-api/#events-16
// This seems to affect only clients based on the Rust SDK on encrypted channels (like Element X)
if typeName == "sticker" && converted.Content.File != nil {
converted.Content.URL = converted.Content.File.URL
}

return converted
}

Expand Down

0 comments on commit 0ebb235

Please sign in to comment.