From aceadf18e2c2fb0dc62043ca15c1140375c28377 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 24 Feb 2023 14:45:27 +0200 Subject: [PATCH] Update mautrix-go and switch to zerolog --- custompuppet.go | 2 +- docker-run.sh | 4 ++-- example-config.yaml | 26 +++++++++++--------------- go.mod | 7 +++++-- go.sum | 13 +++++++++---- user.go | 2 +- 6 files changed, 29 insertions(+), 25 deletions(-) diff --git a/custompuppet.go b/custompuppet.go index d7e6499..27791e9 100644 --- a/custompuppet.go +++ b/custompuppet.go @@ -115,7 +115,7 @@ func (br *WABridge) newDoublePuppetClient(mxid id.UserID, accessToken string) (* if err != nil { return nil, err } - client.Logger = br.AS.Log.Sub(mxid.String()) + client.Log = br.AS.Log.With().Str("as_user_id", mxid.String()).Logger() client.Client = br.AS.HTTPClient client.DefaultHTTPRetries = br.AS.DefaultHTTPRetries return client, nil diff --git a/docker-run.sh b/docker-run.sh index eeca032..52cc185 100755 --- a/docker-run.sh +++ b/docker-run.sh @@ -9,8 +9,8 @@ function fixperms { chown -R $UID:$GID /data # /opt/mautrix-whatsapp is read-only, so disable file logging if it's pointing there. - if [[ "$(yq e '.logging.directory' /data/config.yaml)" == "./logs" ]]; then - yq -I4 e -i '.logging.file_name_format = ""' /data/config.yaml + if [[ "$(yq e '.logging.writers[1].filename' /data/config.yaml)" == "./logs/mautrix-whatsapp.log" ]]; then + yq -I4 e -i 'del(.logging.writers[1])' /data/config.yaml fi } diff --git a/example-config.yaml b/example-config.yaml index 542978a..632fab6 100644 --- a/example-config.yaml +++ b/example-config.yaml @@ -429,19 +429,15 @@ bridge: m.video: "{{ .Sender.Displayname }} sent a video" m.location: "{{ .Sender.Displayname }} sent a location" -# Logging config. +# Logging config. See https://github.com/tulir/zeroconfig for details. logging: - # The directory for log files. Will be created if not found. - directory: ./logs - # Available variables: .Date for the file date and .Index for different log files on the same day. - # Set this to null to disable logging to file. - file_name_format: "{{.Date}}-{{.Index}}.log" - # Date format for file names in the Go time format: https://golang.org/pkg/time/#pkg-constants - file_date_format: "2006-01-02" - # Log file permissions. - file_mode: 0o600 - # Timestamp format for log entries in the Go time format. - timestamp_format: "Jan _2, 2006 15:04:05" - # Minimum severity for log messages printed to stdout/stderr. This doesn't affect the log file. - # Options: debug, info, warn, error, fatal - print_level: debug + min_level: debug + writers: + - type: stdout + format: pretty-colored + - type: file + format: json + filename: ./logs/mautrix-whatsapp.log + max_size: 100 + max_backups: 10 + compress: true diff --git a/go.mod b/go.mod index c3efd5b..d3d5f08 100644 --- a/go.mod +++ b/go.mod @@ -15,14 +15,15 @@ require ( golang.org/x/image v0.4.0 golang.org/x/net v0.6.0 google.golang.org/protobuf v1.28.1 - maunium.net/go/maulogger/v2 v2.3.2 - maunium.net/go/mautrix v0.14.0 + maunium.net/go/maulogger/v2 v2.4.1 + maunium.net/go/mautrix v0.14.1-0.20230224124502-d9b06852a318 ) require ( filippo.io/edwards25519 v1.0.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-isatty v0.0.14 // indirect @@ -36,9 +37,11 @@ require ( github.com/tidwall/sjson v1.2.5 // indirect github.com/yuin/goldmark v1.5.4 // indirect go.mau.fi/libsignal v0.1.0 // indirect + go.mau.fi/zeroconfig v0.1.0 // indirect golang.org/x/crypto v0.6.0 // indirect golang.org/x/sys v0.5.0 // indirect golang.org/x/text v0.7.0 // indirect + gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect maunium.net/go/mauflag v1.0.0 // indirect ) diff --git a/go.sum b/go.sum index fafca35..7302a01 100644 --- a/go.sum +++ b/go.sum @@ -7,6 +7,7 @@ github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cb github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chai2010/webp v1.1.1 h1:jTRmEccAJ4MGrhFOrPMpNGIJ/eybIgwKpcACsrTEapk= github.com/chai2010/webp v1.1.1/go.mod h1:0XVwvZWdjjdxpUEIf7b9g9VkHFnInUSYujwqTLEuldU= +github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534 h1:rtAn27wIbmOGUs7RIbVgPEjb31ehTVniDwPGXyMxm5U= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= @@ -68,6 +69,8 @@ go.mau.fi/libsignal v0.1.0 h1:vAKI/nJ5tMhdzke4cTK1fb0idJzz1JuEIpmjprueC+c= go.mau.fi/libsignal v0.1.0/go.mod h1:R8ovrTezxtUNzCQE5PH30StOQWWeBskBsWE55vMfY9I= go.mau.fi/whatsmeow v0.0.0-20230222131820-858ec581c8c5 h1:MWVwmVf1RhwU8qQ/cW/OWny4AFW2JxKuAg2CGAmsYC4= go.mau.fi/whatsmeow v0.0.0-20230222131820-858ec581c8c5/go.mod h1:zoTtv1CupGEyTew7TOwnBmTbHB4pVad2OzjTf5CVwa0= +go.mau.fi/zeroconfig v0.1.0 h1:SDGgreQevNJHb+QqGAs2Ff+OPXcGdO8rZencqP4BJi4= +go.mau.fi/zeroconfig v0.1.0/go.mod h1:NcSJkf180JT+1IId76PcMuLTNa1CzsFFZ0nBygIQM70= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.6.0 h1:qfktjS5LUO+fFKeJXZ+ikTRijMmljikvG68fpMMruSc= @@ -115,12 +118,14 @@ google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= +gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= 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.14.0 h1:kdQ06HzmMaLGZqmSh/ykDhp5C2gIREQL9TS8hY+FqLs= -maunium.net/go/mautrix v0.14.0/go.mod h1:voJPvnTkA60rxBl6mvdPxcP7y7iY5w3d/K55IoX+2oY= +maunium.net/go/maulogger/v2 v2.4.1 h1:N7zSdd0mZkB2m2JtFUsiGTQQAdP0YeFWT7YMc80yAL8= +maunium.net/go/maulogger/v2 v2.4.1/go.mod h1:omPuYwYBILeVQobz8uO3XC8DIRuEb5rXYlQSuqrbCho= +maunium.net/go/mautrix v0.14.1-0.20230224124502-d9b06852a318 h1:YU5f9CDjAILtA99/6cVHcfXxVrcXfU+RG2jOkqV2I/g= +maunium.net/go/mautrix v0.14.1-0.20230224124502-d9b06852a318/go.mod h1:AE3TCX9q4W7fYfrL/1RsuOell9rTUBO27XUULuwArH4= diff --git a/user.go b/user.go index de1592a..0a8dda3 100644 --- a/user.go +++ b/user.go @@ -236,7 +236,7 @@ func (br *WABridge) NewUser(dbUser *database.User) *User { user.RelayWhitelisted = user.PermissionLevel >= bridgeconfig.PermissionLevelRelay user.Whitelisted = user.PermissionLevel >= bridgeconfig.PermissionLevelUser user.Admin = user.PermissionLevel >= bridgeconfig.PermissionLevelAdmin - user.BridgeState = br.NewBridgeStateQueue(user, user.log) + user.BridgeState = br.NewBridgeStateQueue(user) user.enqueueBackfillsTimer = time.NewTimer(5 * time.Second) user.enqueueBackfillsTimer.Stop() go user.puppetResyncLoop()