Browse Source

Log warning if server doesn't advertise Matrix 1.1+ support

Tulir Asokan 3 years ago
parent
commit
7a3241161b
3 changed files with 15 additions and 6 deletions
  1. 2 2
      go.mod
  2. 4 4
      go.sum
  3. 9 0
      main.go

+ 2 - 2
go.mod

@@ -10,14 +10,14 @@ require (
 	github.com/prometheus/client_golang v1.11.1
 	github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
 	github.com/tidwall/gjson v1.14.1
-	go.mau.fi/whatsmeow v0.0.0-20220504135614-f1f2a9d231fb
+	go.mau.fi/whatsmeow v0.0.0-20220510083108-f888101de88e
 	golang.org/x/image v0.0.0-20220413100746-70e8d0d3baa9
 	golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4
 	google.golang.org/protobuf v1.28.0
 	gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
 	maunium.net/go/mauflag v1.0.0
 	maunium.net/go/maulogger/v2 v2.3.2
-	maunium.net/go/mautrix v0.10.13-0.20220429190332-58e10ec2ac33
+	maunium.net/go/mautrix v0.10.13-0.20220506113138-b1a9b6b54991
 )
 
 require (

+ 4 - 4
go.sum

@@ -120,8 +120,8 @@ github.com/yuin/goldmark v1.4.12 h1:6hffw6vALvEDqJ19dOJvJKOoAOKe4NDaTqvd2sktGN0=
 github.com/yuin/goldmark v1.4.12/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 go.mau.fi/libsignal v0.0.0-20220425070825-c40c839ee6a0 h1:3IQF2bgAyibdo77hTejwuJe4jlypj9QaE4xCQuxrThM=
 go.mau.fi/libsignal v0.0.0-20220425070825-c40c839ee6a0/go.mod h1:kBOXTvYyDG/q1Ihgvd4J6WenGPh7wtEGvPKF6vmf5ak=
-go.mau.fi/whatsmeow v0.0.0-20220504135614-f1f2a9d231fb h1:xI4HiJwBMmztBXFzjKWt7Ea8xmOO7LyYCYV0/ROU7kY=
-go.mau.fi/whatsmeow v0.0.0-20220504135614-f1f2a9d231fb/go.mod h1:iUBgOLNaqShLrR17u0kIiRptIGFH+nbT1tRhaWBEX/c=
+go.mau.fi/whatsmeow v0.0.0-20220510083108-f888101de88e h1:XMENwqbmyGmYVRPDjxFXnjXdbFeV+w6KAnGxaN5sRks=
+go.mau.fi/whatsmeow v0.0.0-20220510083108-f888101de88e/go.mod h1:iUBgOLNaqShLrR17u0kIiRptIGFH+nbT1tRhaWBEX/c=
 golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
@@ -197,5 +197,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.10.13-0.20220429190332-58e10ec2ac33 h1:5Xut2Xx/aqVGIhPAa6EtyLm9RVJLutwtp0rZO1KUuxI=
-maunium.net/go/mautrix v0.10.13-0.20220429190332-58e10ec2ac33/go.mod h1:lm1eZygpN3wlLyexPh+Z56DEvOuC4tY5/JacJWr+/AE=
+maunium.net/go/mautrix v0.10.13-0.20220506113138-b1a9b6b54991 h1:FxMiIgH+oS7zN947WHU9PkEvx/K3aLB9jS+5Iu+dXio=
+maunium.net/go/mautrix v0.10.13-0.20220506113138-b1a9b6b54991/go.mod h1:lm1eZygpN3wlLyexPh+Z56DEvOuC4tY5/JacJWr+/AE=

+ 9 - 0
main.go

@@ -208,6 +208,15 @@ type Crypto interface {
 
 func (bridge *Bridge) ensureConnection() {
 	for {
+		versions, err := bridge.Bot.Versions()
+		if err != nil {
+			bridge.Log.Errorfln("Failed to connect to homeserver: %v. Retrying in 10 seconds...", err)
+			time.Sleep(10 * time.Second)
+			continue
+		}
+		if !versions.ContainsGreaterOrEqual(mautrix.SpecV11) {
+			bridge.Log.Warnfln("Server isn't advertising modern spec versions")
+		}
 		resp, err := bridge.Bot.Whoami()
 		if err != nil {
 			if errors.Is(err, mautrix.MUnknownToken) {