Use hungryserv room delete endpoint if supported

This commit is contained in:
Tulir Asokan
2023-01-11 17:31:40 +02:00
parent d45a8a30d2
commit 75453d6371
3 changed files with 11 additions and 5 deletions

2
go.mod
View File

@@ -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 (

4
go.sum
View File

@@ -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=

View File

@@ -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)