Переглянути джерело

Update mautrix-go to fix state store not being updated in some cases

Tulir Asokan 3 роки тому
батько
коміт
4a49de388c
3 змінених файлів з 5 додано та 4 видалено
  1. 1 1
      go.mod
  2. 2 2
      go.sum
  3. 2 1
      user.go

+ 1 - 1
go.mod

@@ -15,7 +15,7 @@ require (
 	gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
 	gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
 	maunium.net/go/mauflag v1.0.0
 	maunium.net/go/mauflag v1.0.0
 	maunium.net/go/maulogger/v2 v2.3.2
 	maunium.net/go/maulogger/v2 v2.3.2
-	maunium.net/go/mautrix v0.10.10
+	maunium.net/go/mautrix v0.10.11-0.20220117133225-66726fa3ee9a
 )
 )
 
 
 require (
 require (

+ 2 - 2
go.sum

@@ -222,5 +222,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/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 h1:1XmIYmMd3PoQfp9J+PaHhpt80zpfmMqaShzUTC7FwY0=
 maunium.net/go/maulogger/v2 v2.3.2/go.mod h1:TYWy7wKwz/tIXTpsx8G3mZseIRiC5DoMxSZazOHy68A=
 maunium.net/go/maulogger/v2 v2.3.2/go.mod h1:TYWy7wKwz/tIXTpsx8G3mZseIRiC5DoMxSZazOHy68A=
-maunium.net/go/mautrix v0.10.10 h1:aaEuVopM3rkgOxL8Ldn2E8vcIIfKDE+tBfX/uPCRFWs=
-maunium.net/go/mautrix v0.10.10/go.mod h1:4XljZZGZiIlpfbQ+Tt2ykjapskJ8a7Z2i9y/+YaceF8=
+maunium.net/go/mautrix v0.10.11-0.20220117133225-66726fa3ee9a h1:Ydo0Kj/mlUw/OAXzkDGMDc2kdCJ9MPj0aP15Kh8qLoE=
+maunium.net/go/mautrix v0.10.11-0.20220117133225-66726fa3ee9a/go.mod h1:4XljZZGZiIlpfbQ+Tt2ykjapskJ8a7Z2i9y/+YaceF8=

+ 2 - 1
user.go

@@ -200,6 +200,7 @@ func (user *User) ensureInvited(intent *appservice.IntentAPI, roomID id.RoomID,
 	if err != nil && errors.As(err, &httpErr) && httpErr.RespError != nil && strings.Contains(httpErr.RespError.Err, "is already in the room") {
 	if err != nil && errors.As(err, &httpErr) && httpErr.RespError != nil && strings.Contains(httpErr.RespError.Err, "is already in the room") {
 		user.bridge.StateStore.SetMembership(roomID, user.MXID, event.MembershipJoin)
 		user.bridge.StateStore.SetMembership(roomID, user.MXID, event.MembershipJoin)
 		ok = true
 		ok = true
+		return
 	} else if err != nil {
 	} else if err != nil {
 		user.log.Warnfln("Failed to invite user to %s: %v", roomID, err)
 		user.log.Warnfln("Failed to invite user to %s: %v", roomID, err)
 	} else {
 	} else {
@@ -207,7 +208,7 @@ func (user *User) ensureInvited(intent *appservice.IntentAPI, roomID id.RoomID,
 	}
 	}
 
 
 	if customPuppet != nil && customPuppet.CustomIntent() != nil {
 	if customPuppet != nil && customPuppet.CustomIntent() != nil {
-		err = customPuppet.CustomIntent().EnsureJoined(roomID)
+		err = customPuppet.CustomIntent().EnsureJoined(roomID, appservice.EnsureJoinedParams{IgnoreCache: true})
 		if err != nil {
 		if err != nil {
 			user.log.Warnfln("Failed to auto-join %s: %v", roomID, err)
 			user.log.Warnfln("Failed to auto-join %s: %v", roomID, err)
 			ok = false
 			ok = false