diff --git a/go.mod b/go.mod index 0c6aef7..e194872 100644 --- a/go.mod +++ b/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 ( diff --git a/go.sum b/go.sum index 7eab8df..c68d09e 100644 --- a/go.sum +++ b/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= diff --git a/main.go b/main.go index 62a9f72..ebdc1d9 100644 --- a/main.go +++ b/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) {