From 63d4c61fc4e4859933aa14d83a1b04a78c6dda97 Mon Sep 17 00:00:00 2001 From: Michael Kochell <6913320+mickmister@users.noreply.github.com> Date: Thu, 3 Nov 2022 00:11:04 -0400 Subject: [PATCH] Release 2.0.1 (#226) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * react-dom_webpack-external (#224) * bump version 2.0.1 * MM-40214: Add App Bar icon (#214) * go get -u golang.org/x/sys * Fix CI * Add App Bar icon * Fix errors found by linter * Allow arrow functions in eslint's func-style rule * fix type mismatch at redux Provider Co-authored-by: Ngoan Tran * go mod tidy * remove npm i --verbose * Fix linter errors (#227) * lint Co-authored-by: Alejandro GarcĂ­a Montoro Co-authored-by: Ngoan Tran Co-authored-by: Ben Schumacher --- .golangci.yml | 10 +--- Makefile | 2 +- go.mod | 13 +---- go.sum | 79 ++------------------------ plugin.json | 4 +- public/app-bar-icon.png | Bin 0 -> 57285 bytes server/command.go | 4 +- server/command_test.go | 4 +- server/manifest.go | 4 +- server/plugin.go | 4 +- webapp/.eslintrc.json | 2 +- webapp/src/components/root_portal.tsx | 12 +++- webapp/src/index.tsx | 28 ++++++--- webapp/src/manifest.ts | 4 +- webapp/webpack.config.js | 1 + 15 files changed, 56 insertions(+), 115 deletions(-) create mode 100644 public/app-bar-icon.png diff --git a/.golangci.yml b/.golangci.yml index 7a74cac5..542441e1 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -10,11 +10,11 @@ linters-settings: simplify: true goimports: local-prefixes: github.com/mattermost/mattermost-plugin-jitsi - golint: - min-confidence: 0 govet: check-shadowing: true enable-all: true + disable: + - fieldalignment misspell: locale: US @@ -22,27 +22,23 @@ linters: disable-all: true enable: - bodyclose - - deadcode - errcheck - goconst - gocritic - gofmt - goimports - - golint - gosec - gosimple - govet - ineffassign - - interfacer - misspell - nakedret + - revive - staticcheck - - structcheck - stylecheck - typecheck - unconvert - unused - - varcheck - whitespace issues: diff --git a/Makefile b/Makefile index 771cdf5a..8a132727 100644 --- a/Makefile +++ b/Makefile @@ -92,7 +92,7 @@ ifneq ($(wildcard $(ASSETS_DIR)/.),) cp -r $(ASSETS_DIR) dist/$(PLUGIN_ID)/ endif ifneq ($(HAS_PUBLIC),) - cp -r public/ dist/$(PLUGIN_ID)/ + cp -r public/ dist/$(PLUGIN_ID)/public/ endif ifneq ($(HAS_SERVER),) mkdir -p dist/$(PLUGIN_ID)/server/dist; diff --git a/go.mod b/go.mod index 42666ef3..f89675f0 100644 --- a/go.mod +++ b/go.mod @@ -18,16 +18,7 @@ require ( github.com/nicksnyder/go-i18n/v2 v2.0.3 github.com/pelletier/go-toml v1.8.0 // indirect github.com/pkg/errors v0.9.1 - github.com/stretchr/testify v1.6.0 - go.uber.org/zap v1.15.0 // indirect - golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37 // indirect - golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect - golang.org/x/net v0.0.0-20200528225125-3c3fba18258b // indirect - golang.org/x/sys v0.0.0-20200523222454-059865788121 // indirect + github.com/stretchr/testify v1.6.1 + golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect golang.org/x/text v0.3.2 - golang.org/x/tools v0.0.0-20200528185414-6be401e3f76e // indirect - google.golang.org/genproto v0.0.0-20200528191852-705c0b31589b // indirect - google.golang.org/grpc v1.29.1 // indirect - gopkg.in/yaml.v3 v3.0.0-20200506231410-2ff61e1afc86 // indirect - honnef.co/go/tools v0.0.1-2020.1.4 // indirect ) diff --git a/go.sum b/go.sum index ddc9cfa6..de7afc39 100644 --- a/go.sum +++ b/go.sum @@ -55,7 +55,6 @@ github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codegangsta/cli v1.20.0/go.mod h1:/qJNoX69yVSKu5o4jLyXAENLRyk1uhi7zkbQ3slBdOA= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= @@ -84,9 +83,7 @@ github.com/dyatlov/go-opengraph v0.0.0-20180429202543-816b6608b3c8/go.mod h1:nYi github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= @@ -94,14 +91,12 @@ github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= -github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/garyburd/redigo v1.6.0/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/go-asn1-ber/asn1-ber v1.3.2-0.20191121212151-29be175fc3a3 h1:QW2p25fGTu/S0MvEftCo3wV7aEFHBt2m1DTg1HUwh+o= github.com/go-asn1-ber/asn1-ber v1.3.2-0.20191121212151-29be175fc3a3/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-asn1-ber/asn1-ber v1.4.1 h1:qP/QDxOtmMoJVgXHCXNzDpA0+wkgYB2x5QoLMVOciyw= github.com/go-asn1-ber/asn1-ber v1.4.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= @@ -125,18 +120,14 @@ github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200j github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -169,7 +160,6 @@ github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/ github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/schema v1.1.0/go.mod h1:kgLaKoK1FELgZqMAVxx/5cbj0kT+57qxUrAlIO2eleU= -github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= @@ -183,9 +173,7 @@ github.com/h2non/go-is-svg v0.0.0-20160927212452-35e8c4b0612c/go.mod h1:ObS/W+h8 github.com/hako/durafmt v0.0.0-20191009132224-3f39dc1ed9f4/go.mod h1:5Scbynm8dF1XAPwIwkGPqzkM/shndPm79Jd1003hTjE= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd h1:rNuUHR+CvK1IS89MMtcF0EpcVMZtjKfPRp4MEmt/aTs= github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= -github.com/hashicorp/go-hclog v0.12.0 h1:d4QkX8FRTYaKaCZBoXYY8zJX2BXjWxurN/GA2tkrmZM= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.14.0 h1:1X+ga+2ki9aUJJaliI2isvjNLI8rNCGHFkZ1FaVpvCA= github.com/hashicorp/go-hclog v0.14.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= @@ -194,7 +182,6 @@ github.com/hashicorp/go-immutable-radix v1.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjh github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-plugin v1.0.1 h1:4OtAfUGbnKC6yS48p0CtMX2oFYtzFZVv6rok3cRWgnE= github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= github.com/hashicorp/go-plugin v1.3.0 h1:4d/wJojzvHV1I4i/rrjVaeuyxWrLzDE1mDCyDy8fXS8= github.com/hashicorp/go-plugin v1.3.0/go.mod h1:F9eH4LrE/ZsRdbwhfjs9k9HoDUwAHnYtXdgmf1AVNs0= @@ -206,7 +193,6 @@ github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/memberlist v0.1.5/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= @@ -249,7 +235,6 @@ github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6Fm github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lunixbochs/vtclean v1.0.0/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= -github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -264,10 +249,8 @@ github.com/mattermost/ldap v0.0.0-20191128190019-9f62ba4b8d4d/go.mod h1:HLbgMEI5 github.com/mattermost/mattermost-server/v5 v5.23.0 h1:iXa6+ht9GcmMR1EwhJAb30sXOJN3pYg1DuqUsiv7JuI= github.com/mattermost/mattermost-server/v5 v5.23.0/go.mod h1:nMrt08IvThjybZpXPe/nqe/oJuvJxhqKkGI+m7M0R00= github.com/mattermost/rsc v0.0.0-20160330161541-bbaefb05eaa0/go.mod h1:nV5bfVpT//+B1RPD2JvRnxbkLmJEYXmRaaVl15fsXjs= -github.com/mattermost/viper v1.0.4 h1:cMYOz4PhguscGSPxrSokUtib5HrG4gCpiUh27wyA3d0= github.com/mattermost/viper v1.0.4/go.mod h1:uc5hKG9lv4/KRwPOt2c1omOyirS/UnuA2TytiZQSFHM= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -292,12 +275,10 @@ github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= -github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -314,7 +295,6 @@ github.com/nicksnyder/go-i18n/v2 v2.0.3 h1:ks/JkQiOEhhuF6jpNvx+Wih1NIiXzUnZeZVnJ github.com/nicksnyder/go-i18n/v2 v2.0.3/go.mod h1:oDab7q8XCYMRlcrBnaY/7B1eOectbvj6B1UPBT+p5jo= github.com/nwaples/rardecode v1.0.0 h1:r7vGuS5akxOnR4JQSkko62RJ1ReCMXxQRPtxsiFMBOs= github.com/nwaples/rardecode v1.0.0/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0= -github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= @@ -332,7 +312,6 @@ github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144T github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.6.0 h1:aetoXYr0Tv7xRU/V4B4IZJ2QcbtMUFoNb3ORp7TzIK4= github.com/pelletier/go-toml v1.6.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys= github.com/pelletier/go-toml v1.8.0 h1:Keo9qb7iRJs2voHvunFtuuYFsbWeOBh8/P9v/kVMFtw= github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs= @@ -340,7 +319,6 @@ github.com/peterbourgon/diskv v0.0.0-20171120014656-2973218375c3/go.mod h1:uqqh8 github.com/pierrec/lz4 v2.0.5+incompatible h1:2xWsjqPFWcplujydGg4WmhC/6fZqK42wMM8aXeqhl0I= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -416,32 +394,25 @@ github.com/smartystreets/goconvey v0.0.0-20190710185942-9d28bd7c0945/go.mod h1:s github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf/go.mod h1:RJID2RhlZKId02nZ62WenDCkgHFerpIOmW0iT7GKmXM= -github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.6.0 h1:jlIyCplCJFULU/01vCkhKuTyc3OorI3bJFuw6obfgho= -github.com/stretchr/testify v1.6.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= github.com/throttled/throttled v2.2.4+incompatible/go.mod h1:0BjlrEGQmvxps+HuXLsyRdqpSRvJpq0PNIsOtqP9Nos= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= @@ -460,7 +431,6 @@ github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofm github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/xtgo/uuid v0.0.0-20140804021211-a0b114877d4c/go.mod h1:UrdRz5enIKZ63MEE3IF9l2/ebyx59GyGgPi+tICQdmM= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= go.opencensus.io v0.19.1/go.mod h1:gug0GbSHa8Pafr0d2urOSgoXHZ6x/RUlaiT0d9pqb4A= @@ -468,19 +438,13 @@ go.opencensus.io v0.19.2/go.mod h1:NO/8qkisMZLZ1FCsKNqtJPwc8/TaclWyY0B6wcYNg9M= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.5.1 h1:rsqfU5vBkVknbhUGbAUwQKR2H4ItV8tjJ+6kJX4cxHM= go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.4.0 h1:f3WCSC2KzAcBXGATIxAB1E2XuCpNU255wNKZ505qi3E= go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.5.0 h1:KCa4XfM8CWFCpxXRGok+Q0SS/0XBhMDbHHGABQLvD2A= -go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.13.0 h1:nR6NoDBgAf67s68NhaXbsojM+2gxp3S1hWkHDl27pVU= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.15.0 h1:ZZCA22JRF2gQE5FoNmhmrf7jeJJ2uhqDUNRYKm8dvmM= -go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= golang.org/x/build v0.0.0-20190314133821-5284462c4bec/go.mod h1:atTaCNAy0f16Ah5aV1gMSwgiKVHwu/JncqDpuRr7lS4= @@ -496,8 +460,6 @@ golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975 h1:/Tl7pH94bvbAAHBdZJT947M/+gp0+CqQXDtMRC0fseo= golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37 h1:cg5LA/zNPRzIXIWSCxQW10Rvpy94aQh3LT/ShoCpkHw= -golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190321063152-3fc05d484e9f/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= @@ -512,8 +474,6 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f h1:J5lckAjkw6qYlOZNj90mLYNTEKDvWeuc1yieZ8qUzUE= golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ= @@ -534,7 +494,6 @@ golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190322120337-addf6b3196f6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2ePZzZTUrRacwib7cNsYQ= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= @@ -543,9 +502,6 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa h1:F+8P+gmewFQYRk6JoLQLwjBCTu3mcIURZfNkVweuRKA= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200528225125-3c3fba18258b h1:IYiJPiJfzktmDAO1HQiwjMjwjlYKHAL7KzeD544RJPs= -golang.org/x/net v0.0.0-20200528225125-3c3fba18258b/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -583,14 +539,11 @@ golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9 h1:1/DFK4b7JH8DmkqhUk48onnSfrPzImPoVxuomtbT2nk= golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121 h1:rITEj+UZHYC927n8GT97eC3zrpzXdb/voyeOuVKS46o= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2 h1:z99zHgr7hKfrUcX/KsoJk5FJfjTceCKIp96+biqP4To= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= @@ -612,13 +565,9 @@ golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200213050514-49b8ac185c84 h1:0QCtZnPx0LFDcPMUX7Qg328Twbm3c/Jx1d0XT/x9jcg= golang.org/x/tools v0.0.0-20200213050514-49b8ac185c84/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200528185414-6be401e3f76e h1:jTL1CJ2kmavapMVdBKy6oVrhBHByRCMfykS45+lEFQk= -golang.org/x/tools v0.0.0-20200528185414-6be401e3f76e/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= @@ -645,9 +594,6 @@ google.golang.org/genproto v0.0.0-20190321212433-e79c0c59cdb5/go.mod h1:VzzqZJRn google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200128133413-58ce757ed39b h1:c8OBoXP3kTbDWWB/oVE3FkR851p4iZ3MPadz7zXEIPU= google.golang.org/genproto v0.0.0-20200128133413-58ce757ed39b/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200528191852-705c0b31589b h1:nl5tymnV+50ACFZUDAP+xFCe3Zh3SWdMDx+ernZSKNA= -google.golang.org/genproto v0.0.0-20200528191852-705c0b31589b/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= @@ -655,23 +601,16 @@ google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0 h1:2dTRdpdFEEhJYQD8EMLB61nnrzSCTbG38PhqdhvOltg= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1 h1:zvIju4sqAGvwKspUQOhwnpcqSbzi7/H6QomNNjTL4sk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0 h1:UhZDfRO8JRQru4/+LlLE0BRKGF8L+PICnvYZmx/fEGA= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -691,18 +630,14 @@ gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200506231410-2ff61e1afc86 h1:OfFoIUYv/me30yv7XlMy4F9RJw8DEm8WQ6QG1Ph4bH0= -gopkg.in/yaml.v3 v3.0.0-20200506231410-2ff61e1afc86/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20180920025451-e3ad64cb4ed3/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -711,8 +646,6 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.4 h1:UoveltGrhghAA7ePc+e+QYDHXrBps2PqFZiHkGR/xK8= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck= sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= willnorris.com/go/gifresize v1.0.0/go.mod h1:eBM8gogBGCcaH603vxSpnfjwXIpq6nmnj/jauBDKtAk= diff --git a/plugin.json b/plugin.json index ede2cdbc..a05efb49 100644 --- a/plugin.json +++ b/plugin.json @@ -4,9 +4,9 @@ "description": "Jitsi audio and video conferencing plugin for Mattermost.", "homepage_url": "https://github.com/mattermost/mattermost-plugin-jitsi", "support_url": "https://github.com/mattermost/mattermost-plugin-jitsi/issues", - "release_notes_url": "https://github.com/mattermost/mattermost-plugin-jitsi/releases/tag/v2.0.0", + "release_notes_url": "https://github.com/mattermost/mattermost-plugin-jitsi/releases/tag/v2.0.1", "icon_path": "assets/icon.svg", - "version": "2.0.0", + "version": "2.0.1", "min_server_version": "5.2.0", "server": { "executables": { diff --git a/public/app-bar-icon.png b/public/app-bar-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bfa0e2038ed24c9d18010d85d7d49ddb0b4523f8 GIT binary patch literal 57285 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

D= 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 DL-~jA literal 0 HcmV?d00001 diff --git a/server/command.go b/server/command.go index 9bdfdca0..90e7ef6b 100644 --- a/server/command.go +++ b/server/command.go @@ -118,7 +118,7 @@ func (p *Plugin) executeHelpCommand(c *plugin.Context, args *model.CommandArgs) }, }) - text := helpTitle + strings.Replace(commandHelp, "|", "`", -1) + text := helpTitle + strings.ReplaceAll(commandHelp, "|", "`") post := &model.Post{ UserId: p.botID, ChannelId: args.ChannelId, @@ -171,7 +171,7 @@ func (p *Plugin) executeSettingsCommand(c *plugin.Context, args *model.CommandAr post := &model.Post{ UserId: p.botID, ChannelId: args.ChannelId, - Message: strings.Replace(text, "|", "`", -1), + Message: strings.ReplaceAll(text, "|", "`"), } _ = p.API.SendEphemeralPost(args.UserId, post) diff --git a/server/command_test.go b/server/command_test.go index aa3efc6f..b08f7513 100644 --- a/server/command_test.go +++ b/server/command_test.go @@ -30,7 +30,7 @@ func TestCommandHelp(t *testing.T) { require.Nil(t, err) p.i18nBundle = i18nBundle - helpText := strings.Replace(`###### Mattermost Jitsi Plugin - Slash Command help + helpText := strings.ReplaceAll(`###### Mattermost Jitsi Plugin - Slash Command help * |/jitsi| - Create a new meeting * |/jitsi [topic]| - Create a new meeting with specified topic * |/jitsi help| - Show this help text @@ -43,7 +43,7 @@ func TestCommandHelp(t *testing.T) { * |words|: Random English words in title case (e.g. PlayfulDragonsObserveCuriously) * |uuid|: UUID (universally unique identifier) * |mattermost|: Mattermost specific names. Combination of team name, channel name and random text in public and private channels; personal meeting name in direct and group messages channels. - * |ask|: The plugin asks you to select the name every time you start a meeting`, "|", "`", -1) + * |ask|: The plugin asks you to select the name every time you start a meeting`, "|", "`") apiMock.On("SendEphemeralPost", "test-user", &model.Post{ UserId: "test-bot-id", diff --git a/server/manifest.go b/server/manifest.go index a90a8468..05a092e4 100644 --- a/server/manifest.go +++ b/server/manifest.go @@ -17,9 +17,9 @@ const manifestStr = ` "description": "Jitsi audio and video conferencing plugin for Mattermost.", "homepage_url": "https://github.com/mattermost/mattermost-plugin-jitsi", "support_url": "https://github.com/mattermost/mattermost-plugin-jitsi/issues", - "release_notes_url": "https://github.com/mattermost/mattermost-plugin-jitsi/releases/tag/v2.0.0", + "release_notes_url": "https://github.com/mattermost/mattermost-plugin-jitsi/releases/tag/v2.0.1", "icon_path": "assets/icon.svg", - "version": "2.0.0", + "version": "2.0.1", "min_server_version": "5.2.0", "server": { "executables": { diff --git a/server/plugin.go b/server/plugin.go index 9bdd03a9..7259fb4f 100644 --- a/server/plugin.go +++ b/server/plugin.go @@ -70,7 +70,7 @@ func (p *Plugin) OnActivate() error { botID, ensureBotError := p.Helpers.EnsureBot(jitsiBot, options...) if ensureBotError != nil { - return errors.Wrap(ensureBotError, "failed to ensure jitsi bot user.") + return errors.Wrap(ensureBotError, "failed to ensure jitsi bot user") } p.botID = botID @@ -356,7 +356,7 @@ func (c Claims) MarshalBinary() (data []byte, err error) { func encodeJitsiMeetingID(meeting string) string { reg := regexp.MustCompile("[^a-zA-Z0-9-_]+") - meeting = strings.Replace(meeting, " ", "-", -1) + meeting = strings.ReplaceAll(meeting, " ", "-") return reg.ReplaceAllString(meeting, "") } diff --git a/webapp/.eslintrc.json b/webapp/.eslintrc.json index 2b146c9d..1ed11a1e 100644 --- a/webapp/.eslintrc.json +++ b/webapp/.eslintrc.json @@ -56,7 +56,7 @@ "func-call-spacing": [2, "never"], "func-name-matching": 0, "func-names": 2, - "func-style": [2, "declaration"], + "func-style": [2, "declaration", {"allowArrowFunctions": true}], "generator-star-spacing": [2, {"before": false, "after": true}], "global-require": 2, "guard-for-in": 2, diff --git a/webapp/src/components/root_portal.tsx b/webapp/src/components/root_portal.tsx index 9618dbaa..aff13ac3 100644 --- a/webapp/src/components/root_portal.tsx +++ b/webapp/src/components/root_portal.tsx @@ -12,6 +12,14 @@ type Props = { children: React.ReactNode, } +export class InjectionProvider extends React.Component { + public render(): JSX.Element { + const stores = {...this.props}; + delete stores.children; + return React.createElement(Provider as any, stores, this.props.children); + } +} + export default class RootPortal { el: HTMLElement; store: any; @@ -38,11 +46,11 @@ export default class RootPortal { const rootPortal = document.getElementById('root-portal'); if (rootPortal) { ReactDOM.render(( - + - + ), this.el); } } diff --git a/webapp/src/index.tsx b/webapp/src/index.tsx index 36133125..48d8a87f 100644 --- a/webapp/src/index.tsx +++ b/webapp/src/index.tsx @@ -5,6 +5,7 @@ import * as React from 'react'; import {Channel} from 'mattermost-redux/types/channels'; import {Post} from 'mattermost-redux/types/posts'; +import {getConfig} from 'mattermost-redux/selectors/entities/general'; import Icon from './components/icon'; import PostTypeJitsi from './components/post_type_jitsi'; @@ -36,14 +37,25 @@ class PluginClass { document.head.appendChild(script); } registry.registerReducer(reducer); - registry.registerChannelHeaderButtonAction( - , - (channel: Channel) => { - store.dispatch(startMeeting(channel.id)); - }, - 'Start Jitsi Meeting' - ); - registry.registerPostTypeComponent('custom_jitsi', (props: {post: Post}) => ()); + + const action = (channel: Channel) => { + store.dispatch(startMeeting(channel.id)); + }; + const helpText = 'Start Jitsi Meeting'; + + // Channel header icon + registry.registerChannelHeaderButtonAction(, action, helpText); + + // App Bar icon + if (registry.registerAppBarComponent) { + const config = getConfig(store.getState()); + const siteUrl = (config && config.SiteURL) || ''; + const iconURL = `${siteUrl}/plugins/${pluginId}/public/app-bar-icon.png`; + registry.registerAppBarComponent(iconURL, action, helpText); + } + + registry.registerPostTypeComponent('custom_jitsi', (props: { post: Post }) => ( + )); registry.registerWebSocketEventHandler('custom_jitsi_config_update', () => store.dispatch(loadConfig())); store.dispatch(loadConfig()); } diff --git a/webapp/src/manifest.ts b/webapp/src/manifest.ts index c8061c41..7fd80a46 100644 --- a/webapp/src/manifest.ts +++ b/webapp/src/manifest.ts @@ -7,9 +7,9 @@ const manifest = JSON.parse(` "description": "Jitsi audio and video conferencing plugin for Mattermost.", "homepage_url": "https://github.com/mattermost/mattermost-plugin-jitsi", "support_url": "https://github.com/mattermost/mattermost-plugin-jitsi/issues", - "release_notes_url": "https://github.com/mattermost/mattermost-plugin-jitsi/releases/tag/v2.0.0", + "release_notes_url": "https://github.com/mattermost/mattermost-plugin-jitsi/releases/tag/v2.0.1", "icon_path": "assets/icon.svg", - "version": "2.0.0", + "version": "2.0.1", "min_server_version": "5.2.0", "server": { "executables": { diff --git a/webapp/webpack.config.js b/webapp/webpack.config.js index 2bc5c7f0..4355c9bd 100644 --- a/webapp/webpack.config.js +++ b/webapp/webpack.config.js @@ -22,6 +22,7 @@ module.exports = { }, externals: { react: 'React', + 'react-dom': 'ReactDOM', redux: 'Redux', 'react-redux': 'ReactRedux', 'prop-types': 'PropTypes',