Fix sending updated bridge info

This commit is contained in:
Tulir Asokan 2020-06-15 20:38:41 +03:00
parent 59e2015fa7
commit 8e30262275

View file

@ -812,22 +812,20 @@ var (
StateHalfShotBridgeInfo = event.Type{Type: "uk.half-shot.bridge", Class: event.StateEventType} StateHalfShotBridgeInfo = event.Type{Type: "uk.half-shot.bridge", Class: event.StateEventType}
) )
func (portal *Portal) getBridgeInfo() (string, event.Content) { func (portal *Portal) getBridgeInfo() (string, BridgeInfoContent) {
bridgeInfo := event.Content{ bridgeInfo := BridgeInfoContent{
Parsed: BridgeInfoContent{ BridgeBot: portal.bridge.Bot.UserID,
BridgeBot: portal.bridge.Bot.UserID, Creator: portal.MainIntent().UserID,
Creator: portal.MainIntent().UserID, Protocol: BridgeInfoSection{
Protocol: BridgeInfoSection{ ID: "whatsapp",
ID: "whatsapp", DisplayName: "WhatsApp",
DisplayName: "WhatsApp", AvatarURL: id.ContentURIString(portal.bridge.Config.AppService.Bot.Avatar),
AvatarURL: id.ContentURIString(portal.bridge.Config.AppService.Bot.Avatar), ExternalURL: "https://www.whatsapp.com/",
ExternalURL: "https://www.whatsapp.com/", },
}, Channel: BridgeInfoSection{
Channel: BridgeInfoSection{ ID: portal.Key.JID,
ID: portal.Key.JID, DisplayName: portal.Name,
DisplayName: portal.Name, AvatarURL: portal.AvatarURL.CUString(),
AvatarURL: portal.AvatarURL.CUString(),
},
}, },
} }
bridgeInfoStateKey := fmt.Sprintf("net.maunium.whatsapp://whatsapp/%s", portal.Key.JID) bridgeInfoStateKey := fmt.Sprintf("net.maunium.whatsapp://whatsapp/%s", portal.Key.JID)
@ -897,12 +895,12 @@ func (portal *Portal) CreateMatrixRoom(user *User) error {
}, },
}, { }, {
Type: StateBridgeInfo, Type: StateBridgeInfo,
Content: bridgeInfo, Content: event.Content{Parsed: bridgeInfo},
StateKey: &bridgeInfoStateKey, StateKey: &bridgeInfoStateKey,
}, { }, {
// TODO remove this once https://github.com/matrix-org/matrix-doc/pull/2346 is in spec // TODO remove this once https://github.com/matrix-org/matrix-doc/pull/2346 is in spec
Type: StateHalfShotBridgeInfo, Type: StateHalfShotBridgeInfo,
Content: bridgeInfo, Content: event.Content{Parsed: bridgeInfo},
StateKey: &bridgeInfoStateKey, StateKey: &bridgeInfoStateKey,
}} }}
if !portal.AvatarURL.IsEmpty() { if !portal.AvatarURL.IsEmpty() {