Fix bugs in manual un/bridging
This commit is contained in:
13
commands.go
13
commands.go
@@ -708,7 +708,7 @@ func fnBridge(ce *WrappedCommandEvent) {
|
||||
return
|
||||
}
|
||||
portal.roomCreateLock.Lock()
|
||||
defer portal.roomCreateLock.Lock()
|
||||
defer portal.roomCreateLock.Unlock()
|
||||
if portal.MXID != "" {
|
||||
hasUnbridgePermission := ce.User.PermissionLevel >= bridgeconfig.PermissionLevelAdmin
|
||||
if !hasUnbridgePermission {
|
||||
@@ -759,9 +759,10 @@ func fnBridge(ce *WrappedCommandEvent) {
|
||||
state, err := portal.MainIntent().State(portal.MXID)
|
||||
if err != nil {
|
||||
ce.ZLog.Error().Err(err).Msg("Failed to update state cache for room")
|
||||
} else {
|
||||
encryptionEvent, isEncrypted := state[event.StateEncryption][""]
|
||||
portal.Encrypted = isEncrypted && encryptionEvent.Content.AsEncryption().Algorithm == id.AlgorithmMegolmV1
|
||||
}
|
||||
encryptionEvent, isEncrypted := state[event.StateEncryption][""]
|
||||
portal.Encrypted = isEncrypted && encryptionEvent.Content.AsEncryption().Algorithm == id.AlgorithmMegolmV1
|
||||
portal.Update()
|
||||
ce.Reply("Room successfully bridged")
|
||||
ce.ZLog.Info().
|
||||
@@ -794,9 +795,9 @@ var cmdDeletePortal = &commands.FullHandler{
|
||||
|
||||
func fnUnbridge(ce *WrappedCommandEvent) {
|
||||
ce.Portal.roomCreateLock.Lock()
|
||||
defer ce.Portal.roomCreateLock.Lock()
|
||||
defer ce.Portal.roomCreateLock.Unlock()
|
||||
ce.Portal.removeFromSpace()
|
||||
ce.Portal.cleanup(ce.Command == "delete-portal")
|
||||
ce.Portal.cleanup(ce.Command == "unbridge")
|
||||
ce.Portal.RemoveMXID()
|
||||
}
|
||||
|
||||
@@ -845,7 +846,7 @@ func fnDeleteAllPortals(ce *WrappedCommandEvent) {
|
||||
guild.Delete()
|
||||
leave(guild.MXID, ce.Bot)
|
||||
}
|
||||
ce.Reply("Finished deleting portal info. Now cleaning up rooms in background.")
|
||||
ce.Reply("Finished deleting portal info. Now cleaning up rooms in background. You'll have to restart the bridge or relogin before rooms can be bridged again.")
|
||||
|
||||
go func() {
|
||||
for _, portal := range portals {
|
||||
|
||||
Reference in New Issue
Block a user