diff --git a/go.mod b/go.mod index be221af..9111733 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/stretchr/testify v1.8.1 github.com/yuin/goldmark v1.5.3 maunium.net/go/maulogger/v2 v2.3.2 - maunium.net/go/mautrix v0.12.4 + maunium.net/go/mautrix v0.12.5-0.20230109101930-993bc5d49e3e ) require ( diff --git a/go.sum b/go.sum index 64b27e6..5b98116 100644 --- a/go.sum +++ b/go.sum @@ -68,5 +68,5 @@ maunium.net/go/mauflag v1.0.0 h1:YiaRc0tEI3toYtJMRIfjP+jklH45uDHtT80nUamyD4M= maunium.net/go/mauflag v1.0.0/go.mod h1:nLivPOpTpHnpzEh8jEdSL9UqO9+/KBJFmNRlwKfkPeA= maunium.net/go/maulogger/v2 v2.3.2 h1:1XmIYmMd3PoQfp9J+PaHhpt80zpfmMqaShzUTC7FwY0= maunium.net/go/maulogger/v2 v2.3.2/go.mod h1:TYWy7wKwz/tIXTpsx8G3mZseIRiC5DoMxSZazOHy68A= -maunium.net/go/mautrix v0.12.4 h1:TAg+qkgZLlD2wvshFEuGCv7kADnAbQ6NZmTPu7wsXZI= -maunium.net/go/mautrix v0.12.4/go.mod h1:NBN7/dch8xMnt4VEV9nucVOkzbP4PHr3agXJrFpM5AE= +maunium.net/go/mautrix v0.12.5-0.20230109101930-993bc5d49e3e h1:AIiwndE6KFrobAJOqoOvWqdwt0KDlm+2zelKHq6ANjI= +maunium.net/go/mautrix v0.12.5-0.20230109101930-993bc5d49e3e/go.mod h1:NBN7/dch8xMnt4VEV9nucVOkzbP4PHr3agXJrFpM5AE= diff --git a/portal.go b/portal.go index 9c2b555..835f08b 100644 --- a/portal.go +++ b/portal.go @@ -1086,7 +1086,6 @@ func (portal *Portal) sendStatusEvent(evtID id.EventID, err error) { content.Reason, content.Status, _, _, content.Message = errorToStatusReason(err) content.Error = err.Error() } - content.FillLegacyBooleans() _, err = intent.SendMessageEvent(portal.MXID, event.BeeperMessageStatus, &content) if err != nil { portal.log.Warnln("Failed to send message status event:", err) @@ -1300,6 +1299,14 @@ func (portal *Portal) cleanup(puppetsOnly bool) { if portal.MXID == "" { return } + intent := portal.MainIntent() + if portal.bridge.SpecVersions.UnstableFeatures["com.beeper.room_yeeting"] { + err := intent.BeeperDeleteRoom(portal.MXID) + if err == nil || errors.Is(err, mautrix.MNotFound) { + return + } + portal.log.Warnfln("Failed to delete %s using hungryserv yeet endpoint, falling back to normal behavior: %v", portal.MXID, err) + } if portal.IsPrivateChat() { _, err := portal.MainIntent().LeaveRoom(portal.MXID) @@ -1309,7 +1316,6 @@ func (portal *Portal) cleanup(puppetsOnly bool) { return } - intent := portal.MainIntent() members, err := intent.JoinedMembers(portal.MXID) if err != nil { portal.log.Errorln("Failed to get portal members for cleanup:", err)