Optimize JoinRoomByID in case of network delay
This commit is contained in:
parent
fdd06e8145
commit
adf4890fbb
|
@ -7,6 +7,7 @@ import (
|
||||||
"maunium.net/go/mautrix"
|
"maunium.net/go/mautrix"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
"maunium.net/go/maulogger/v2"
|
"maunium.net/go/maulogger/v2"
|
||||||
|
|
||||||
|
@ -56,10 +57,14 @@ func (mx *MatrixHandler) HandleEncryption(evt *event.Event) {
|
||||||
|
|
||||||
func (mx *MatrixHandler) joinAndCheckMembers(evt *event.Event, intent *appservice.IntentAPI) *mautrix.RespJoinedMembers {
|
func (mx *MatrixHandler) joinAndCheckMembers(evt *event.Event, intent *appservice.IntentAPI) *mautrix.RespJoinedMembers {
|
||||||
resp, err := intent.JoinRoomByID(evt.RoomID)
|
resp, err := intent.JoinRoomByID(evt.RoomID)
|
||||||
|
if err != nil {
|
||||||
|
time.Sleep(3 * time.Second)
|
||||||
|
resp, err = intent.JoinRoomByID(evt.RoomID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
mx.log.Debugfln("Failed to join room %s as %s with invite from %s: %v", evt.RoomID, intent.UserID, evt.Sender, err)
|
mx.log.Debugfln("Failed to join room %s as %s with invite from %s: %v", evt.RoomID, intent.UserID, evt.Sender, err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
members, err := intent.JoinedMembers(resp.RoomID)
|
members, err := intent.JoinedMembers(resp.RoomID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue