From 307e69e5c12f77a70aefc22cf735f0e9fc5298ce Mon Sep 17 00:00:00 2001 From: Umputun Date: Wed, 24 Dec 2025 01:48:14 -0600 Subject: [PATCH] Bump dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - chroma/v2: v2.20.0 → v2.21.1 - go-pkgz/auth/v2: v2.1.0 → v2.1.1 - go-pkgz/rest: v1.20.4 → v1.20.6 - golang.org/x/* packages to latest Also exclude "meaningless package names" revive warning in linter config. --- backend/.golangci.yml | 3 + backend/_example/memory_store/go.mod | 12 +- backend/_example/memory_store/go.sum | 32 +- backend/go.mod | 20 +- backend/go.sum | 44 +-- .../alecthomas/chroma/v2/Dockerfile | 2 +- .../github.com/alecthomas/chroma/v2/README.md | 18 +- .../alecthomas/chroma/v2/iterator.go | 8 +- .../chroma/v2/lexers/embedded/c3.xml | 374 ++++++++++++++++++ .../chroma/v2/lexers/embedded/core.xml | 4 +- .../chroma/v2/lexers/embedded/css.xml | 2 +- .../chroma/v2/lexers/embedded/d.xml | 6 +- .../chroma/v2/lexers/embedded/devicetree.xml | 251 ++++++++++++ .../chroma/v2/lexers/embedded/ini.xml | 9 +- .../chroma/v2/lexers/embedded/kakoune.xml | 96 +++++ .../chroma/v2/lexers/embedded/kotlin.xml | 20 +- .../chroma/v2/lexers/embedded/lox.xml | 59 ++- .../chroma/v2/lexers/embedded/modelica.xml | 106 +++++ .../chroma/v2/lexers/embedded/python.xml | 2 + .../chroma/v2/lexers/embedded/rgbasm.xml | 239 +++++++++++ .../chroma/v2/lexers/embedded/ring.xml | 74 ++++ .../chroma/v2/lexers/embedded/rpgle.xml | 2 +- .../chroma/v2/lexers/embedded/txtpb.xml | 162 ++++++++ .../chroma/v2/lexers/embedded/wat.xml | 149 +++++++ .../alecthomas/chroma/v2/serialise.go | 6 +- .../alecthomas/chroma/v2/styles/ashen.xml | 69 ++++ .../chroma/v2/styles/aura-theme-dark-soft.xml | 107 +++++ .../chroma/v2/styles/aura-theme-dark.xml | 107 +++++ .../alecthomas/chroma/v2/styles/github.xml | 2 +- .../alecthomas/chroma/v2/styles/tango.xml | 4 +- .../vendor/github.com/go-pkgz/auth/v2/auth.go | 11 +- .../go-pkgz/auth/v2/avatar/avatar.go | 2 +- .../go-pkgz/auth/v2/middleware/auth.go | 2 +- .../go-pkgz/auth/v2/provider/apple.go | 22 +- .../go-pkgz/auth/v2/provider/sender/email.go | 12 +- .../go-pkgz/auth/v2/provider/telegram.go | 22 +- .../github.com/go-pkgz/auth/v2/token/jwt.go | 5 +- .../github.com/go-pkgz/rest/.golangci.yml | 107 +++-- .../vendor/github.com/go-pkgz/rest/README.md | 9 +- .../github.com/go-pkgz/rest/blackwords.go | 3 +- .../github.com/go-pkgz/rest/file_server.go | 2 + .../github.com/go-pkgz/rest/logger/logger.go | 6 +- .../vendor/github.com/go-pkgz/rest/metrics.go | 3 +- .../github.com/go-pkgz/rest/middleware.go | 20 +- .../vendor/github.com/go-pkgz/rest/nocache.go | 13 +- .../github.com/go-pkgz/rest/onlyfrom.go | 6 +- .../github.com/go-pkgz/rest/realip/real.go | 84 ++-- .../golang.org/x/sync/errgroup/errgroup.go | 4 +- backend/vendor/golang.org/x/sys/cpu/cpu.go | 3 - .../vendor/golang.org/x/sys/cpu/cpu_arm64.go | 20 +- .../vendor/golang.org/x/sys/cpu/cpu_arm64.s | 7 - .../golang.org/x/sys/cpu/cpu_gc_arm64.go | 1 - .../golang.org/x/sys/cpu/cpu_gccgo_arm64.go | 1 - .../golang.org/x/sys/cpu/cpu_netbsd_arm64.go | 2 +- .../golang.org/x/sys/cpu/cpu_openbsd_arm64.go | 2 +- .../vendor/golang.org/x/sys/unix/mkerrors.sh | 3 +- .../golang.org/x/sys/unix/zerrors_linux.go | 2 + .../x/sys/unix/zerrors_linux_386.go | 2 + .../x/sys/unix/zerrors_linux_amd64.go | 2 + .../x/sys/unix/zerrors_linux_arm.go | 2 + .../x/sys/unix/zerrors_linux_arm64.go | 2 + .../x/sys/unix/zerrors_linux_loong64.go | 2 + .../x/sys/unix/zerrors_linux_mips.go | 2 + .../x/sys/unix/zerrors_linux_mips64.go | 2 + .../x/sys/unix/zerrors_linux_mips64le.go | 2 + .../x/sys/unix/zerrors_linux_mipsle.go | 2 + .../x/sys/unix/zerrors_linux_ppc.go | 2 + .../x/sys/unix/zerrors_linux_ppc64.go | 2 + .../x/sys/unix/zerrors_linux_ppc64le.go | 2 + .../x/sys/unix/zerrors_linux_riscv64.go | 2 + .../x/sys/unix/zerrors_linux_s390x.go | 2 + .../x/sys/unix/zerrors_linux_sparc64.go | 2 + .../x/sys/unix/ztypes_netbsd_arm.go | 2 +- backend/vendor/modules.txt | 22 +- 74 files changed, 2106 insertions(+), 311 deletions(-) create mode 100644 backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c3.xml create mode 100644 backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/devicetree.xml create mode 100644 backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/kakoune.xml create mode 100644 backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/modelica.xml create mode 100644 backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rgbasm.xml create mode 100644 backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ring.xml create mode 100644 backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/txtpb.xml create mode 100644 backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/wat.xml create mode 100644 backend/vendor/github.com/alecthomas/chroma/v2/styles/ashen.xml create mode 100644 backend/vendor/github.com/alecthomas/chroma/v2/styles/aura-theme-dark-soft.xml create mode 100644 backend/vendor/github.com/alecthomas/chroma/v2/styles/aura-theme-dark.xml diff --git a/backend/.golangci.yml b/backend/.golangci.yml index 024c0e92..ca9e2440 100644 --- a/backend/.golangci.yml +++ b/backend/.golangci.yml @@ -48,6 +48,9 @@ linters: - linters: - revive text: 'package-comments: should have a package comment' + - linters: + - revive + text: 'var-naming: avoid meaningless package names' - linters: - dupl - gosec diff --git a/backend/_example/memory_store/go.mod b/backend/_example/memory_store/go.mod index a5d0c717..169f40da 100644 --- a/backend/_example/memory_store/go.mod +++ b/backend/_example/memory_store/go.mod @@ -13,12 +13,12 @@ require ( require ( github.com/Depado/bfchroma/v2 v2.0.0 // indirect github.com/PuerkitoBio/goquery v1.11.0 // indirect - github.com/alecthomas/chroma/v2 v2.20.0 // indirect + github.com/alecthomas/chroma/v2 v2.21.1 // indirect github.com/andybalholm/cascadia v1.3.3 // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dlclark/regexp2 v1.11.5 // indirect - github.com/go-pkgz/rest v1.20.4 // indirect + github.com/go-pkgz/rest v1.20.6 // indirect github.com/go-pkgz/routegroup v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect @@ -30,10 +30,10 @@ require ( github.com/rs/xid v1.6.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect go.etcd.io/bbolt v1.4.3 // indirect - golang.org/x/crypto v0.45.0 // indirect - golang.org/x/image v0.33.0 // indirect - golang.org/x/net v0.47.0 // indirect - golang.org/x/sys v0.38.0 // indirect + golang.org/x/crypto v0.46.0 // indirect + golang.org/x/image v0.34.0 // indirect + golang.org/x/net v0.48.0 // indirect + golang.org/x/sys v0.39.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/backend/_example/memory_store/go.sum b/backend/_example/memory_store/go.sum index 3963d35a..eeb73cc8 100644 --- a/backend/_example/memory_store/go.sum +++ b/backend/_example/memory_store/go.sum @@ -4,10 +4,10 @@ github.com/PuerkitoBio/goquery v1.11.0 h1:jZ7pwMQXIITcUXNH83LLk+txlaEy6NVOfTuP43 github.com/PuerkitoBio/goquery v1.11.0/go.mod h1:wQHgxUOU3JGuj3oD/QFfxUdlzW6xPHfqyHre6VMY4DQ= github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0= github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= -github.com/alecthomas/chroma/v2 v2.20.0 h1:sfIHpxPyR07/Oylvmcai3X/exDlE8+FA820NTz+9sGw= -github.com/alecthomas/chroma/v2 v2.20.0/go.mod h1:e7tViK0xh/Nf4BYHl00ycY6rV7b8iXBksI9E359yNmA= -github.com/alecthomas/repr v0.5.1 h1:E3G4t2QbHTSNpPKBgMTln5KLkZHLOcU7r37J4pXBuIg= -github.com/alecthomas/repr v0.5.1/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= +github.com/alecthomas/chroma/v2 v2.21.1 h1:FaSDrp6N+3pphkNKU6HPCiYLgm8dbe5UXIXcoBhZSWA= +github.com/alecthomas/chroma/v2 v2.21.1/go.mod h1:NqVhfBR0lte5Ouh3DcthuUCTUpDC9cxBOfyMbMQPs3o= +github.com/alecthomas/repr v0.5.2 h1:SU73FTI9D1P5UNtvseffFSGmdNci/O6RsqzeXJtP0Qs= +github.com/alecthomas/repr v0.5.2/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/andybalholm/cascadia v1.3.3 h1:AG2YHrzJIm4BZ19iwJ/DAua6Btl3IwJX+VI4kktS1LM= github.com/andybalholm/cascadia v1.3.3/go.mod h1:xNd9bqTn98Ln4DwST8/nG+H0yuB8Hmgu1YHNnWw0GeA= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= @@ -21,8 +21,8 @@ github.com/go-pkgz/jrpc v0.4.0 h1:oD7xiGrzDkndkuCjeHGugQXxbggLSV7O1QmHhoc5pYY= github.com/go-pkgz/jrpc v0.4.0/go.mod h1:JFoY3bRjRyx4M3CbEVDFQStMB1m2gmQ7OjqFK7q3kOo= github.com/go-pkgz/lgr v0.12.1 h1:8GVfG2rSARq3Eaj5PP158rtBR2LHVGkwioIkQBGbvKg= github.com/go-pkgz/lgr v0.12.1/go.mod h1:A4AxjOthFVFK6jRnVYMeusno5SeDAxcLVHd0kI/lN/Y= -github.com/go-pkgz/rest v1.20.4 h1:8ufcP1IqoDhCvIFdXPtvyX4HSS16SM6THBe2a6L0/kg= -github.com/go-pkgz/rest v1.20.4/go.mod h1:2/LEZGndSxpVvExsMn48AjUgiTn6kILqjpoaRnl62JU= +github.com/go-pkgz/rest v1.20.6 h1:O/IhQ3I2cS4bJYvL1TLcy63w2OcXZTTBG3R+wTIqPS4= +github.com/go-pkgz/rest v1.20.6/go.mod h1:NY+MX1is2kJckJt+nHDNovS/5j9jmF4yQuSno4qg7XU= github.com/go-pkgz/routegroup v1.6.0 h1:44XHZgF6JIIldRlv+zjg6SygULASmjifnfIQjwCT0e4= github.com/go-pkgz/routegroup v1.6.0/go.mod h1:Pmu04fhgWhRtBMIJ8HXppnnzOPjnL/IEPBIdO2zmeqg= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= @@ -62,10 +62,10 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= -golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= -golang.org/x/image v0.33.0 h1:LXRZRnv1+zGd5XBUVRFmYEphyyKJjQjCRiOuAP3sZfQ= -golang.org/x/image v0.33.0/go.mod h1:DD3OsTYT9chzuzTQt+zMcOlBHgfoKQb1gry8p76Y1sc= +golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU= +golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0= +golang.org/x/image v0.34.0 h1:33gCkyw9hmwbZJeZkct8XyR11yH889EQt/QH4VmXMn8= +golang.org/x/image v0.34.0/go.mod h1:2RNFBZRB+vnwwFil8GkMdRvrJOFd1AzdZI6vOY+eJVU= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= @@ -80,8 +80,8 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= -golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= -golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= +golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= +golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -89,8 +89,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= -golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -102,8 +102,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= -golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= +golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= diff --git a/backend/go.mod b/backend/go.mod index 87cb1f80..6e4f6425 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -5,17 +5,17 @@ go 1.25 require ( github.com/Depado/bfchroma/v2 v2.0.0 github.com/PuerkitoBio/goquery v1.11.0 - github.com/alecthomas/chroma/v2 v2.20.0 + github.com/alecthomas/chroma/v2 v2.21.1 github.com/didip/tollbooth/v8 v8.0.1 github.com/go-chi/chi/v5 v5.2.3 github.com/go-chi/cors v1.2.2 - github.com/go-pkgz/auth/v2 v2.1.0 + github.com/go-pkgz/auth/v2 v2.1.1 github.com/go-pkgz/jrpc v0.4.0 github.com/go-pkgz/lcw/v2 v2.0.0 github.com/go-pkgz/lgr v0.12.1 github.com/go-pkgz/notify v1.3.0 github.com/go-pkgz/repeater/v2 v2.2.0 - github.com/go-pkgz/rest v1.20.4 + github.com/go-pkgz/rest v1.20.6 github.com/go-pkgz/syncs v1.3.2 github.com/golang-jwt/jwt/v5 v5.3.0 github.com/google/uuid v1.6.0 @@ -30,9 +30,9 @@ require ( github.com/stretchr/testify v1.11.1 go.etcd.io/bbolt v1.4.3 go.uber.org/goleak v1.3.0 - golang.org/x/crypto v0.45.0 - golang.org/x/image v0.33.0 - golang.org/x/net v0.47.0 + golang.org/x/crypto v0.46.0 + golang.org/x/image v0.34.0 + golang.org/x/net v0.48.0 ) require ( @@ -65,9 +65,9 @@ require ( github.com/xdg-go/stringprep v1.0.4 // indirect github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect go.mongodb.org/mongo-driver v1.17.6 // indirect - golang.org/x/oauth2 v0.33.0 // indirect - golang.org/x/sync v0.18.0 // indirect - golang.org/x/sys v0.38.0 // indirect - golang.org/x/text v0.31.0 // indirect + golang.org/x/oauth2 v0.34.0 // indirect + golang.org/x/sync v0.19.0 // indirect + golang.org/x/sys v0.39.0 // indirect + golang.org/x/text v0.32.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/backend/go.sum b/backend/go.sum index 7cb27b45..2d66a32e 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -8,10 +8,10 @@ github.com/ajg/form v1.5.1 h1:t9c7v8JUKu/XxOGBU0yjNpaMloxGEJhUkqFRq0ibGeU= github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0= github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= -github.com/alecthomas/chroma/v2 v2.20.0 h1:sfIHpxPyR07/Oylvmcai3X/exDlE8+FA820NTz+9sGw= -github.com/alecthomas/chroma/v2 v2.20.0/go.mod h1:e7tViK0xh/Nf4BYHl00ycY6rV7b8iXBksI9E359yNmA= -github.com/alecthomas/repr v0.5.1 h1:E3G4t2QbHTSNpPKBgMTln5KLkZHLOcU7r37J4pXBuIg= -github.com/alecthomas/repr v0.5.1/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= +github.com/alecthomas/chroma/v2 v2.21.1 h1:FaSDrp6N+3pphkNKU6HPCiYLgm8dbe5UXIXcoBhZSWA= +github.com/alecthomas/chroma/v2 v2.21.1/go.mod h1:NqVhfBR0lte5Ouh3DcthuUCTUpDC9cxBOfyMbMQPs3o= +github.com/alecthomas/repr v0.5.2 h1:SU73FTI9D1P5UNtvseffFSGmdNci/O6RsqzeXJtP0Qs= +github.com/alecthomas/repr v0.5.2/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alicebob/gopher-json v0.0.0-20230218143504-906a9b012302 h1:uvdUDbHQHO85qeSydJtItA4T55Pw6BtAejd0APRJOCE= github.com/alicebob/gopher-json v0.0.0-20230218143504-906a9b012302/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc= github.com/alicebob/miniredis/v2 v2.31.1 h1:7XAt0uUg3DtwEKW5ZAGa+K7FZV2DdKQo5K/6TTnfX8Y= @@ -48,8 +48,8 @@ github.com/go-chi/cors v1.2.2 h1:Jmey33TE+b+rB7fT8MUy1u0I4L+NARQlK6LhzKPSyQE= github.com/go-chi/cors v1.2.2/go.mod h1:sSbTewc+6wYHBBCW7ytsFSn836hqM7JxpglAy2Vzc58= github.com/go-oauth2/oauth2/v4 v4.5.4 h1:YjI0tmGW8oxVhn9QSBIxlr641QugWrJY5UWa6XmLcW0= github.com/go-oauth2/oauth2/v4 v4.5.4/go.mod h1:BXiOY+QZtZy2ewbsGk2B5P8TWmtz/Rf7ES5ZttQFxfQ= -github.com/go-pkgz/auth/v2 v2.1.0 h1:ECUVtCWzJG9yDNMVWh1tX/qoDXaUpwSROyZ4VzmoAhI= -github.com/go-pkgz/auth/v2 v2.1.0/go.mod h1:adiVuMWvZ07wgLLWg1xjG+GQIn8wLty8UEXkjEOsZmw= +github.com/go-pkgz/auth/v2 v2.1.1 h1:CBH3Z6ovLT51Nx9TkBcu2L8Dd/xwL6CgJcgqUnC2isQ= +github.com/go-pkgz/auth/v2 v2.1.1/go.mod h1:9LwzESczjMavmXNZo1XhYpfYdKWtoCbXt/ZIi0GTvF0= github.com/go-pkgz/email v0.6.0 h1:snZnXldjeF4PgKSjnx9Fa25mtOgFpAOEeWvnQvrxjLE= github.com/go-pkgz/email v0.6.0/go.mod h1:+wgi4x7S33IuCzfcCM5euN0GwQG6XvO/PBLxrNffYLI= github.com/go-pkgz/expirable-cache/v3 v3.1.0 h1:s05P851/O6QJ6Mc+7o2bh9aGtD3romB1SxDTXifdoqc= @@ -66,8 +66,8 @@ github.com/go-pkgz/repeater v1.2.0 h1:oJFvjyKdTDd5RCzpzxlzYIZFFj6Zfl17rE1aUfu6Uj github.com/go-pkgz/repeater v1.2.0/go.mod h1:vypP6xamA53MFmafnGUucqOmALKk36xgKu2hSG73LHM= github.com/go-pkgz/repeater/v2 v2.2.0 h1:8nZR/NaknmLfx2YMHbr78u9OL4Xj+8+romm9dz4FpMg= github.com/go-pkgz/repeater/v2 v2.2.0/go.mod h1:RgX5vUbLKq7PV82QUDP5pFbQS1os4Z+U9XzKymK23A8= -github.com/go-pkgz/rest v1.20.4 h1:8ufcP1IqoDhCvIFdXPtvyX4HSS16SM6THBe2a6L0/kg= -github.com/go-pkgz/rest v1.20.4/go.mod h1:2/LEZGndSxpVvExsMn48AjUgiTn6kILqjpoaRnl62JU= +github.com/go-pkgz/rest v1.20.6 h1:O/IhQ3I2cS4bJYvL1TLcy63w2OcXZTTBG3R+wTIqPS4= +github.com/go-pkgz/rest v1.20.6/go.mod h1:NY+MX1is2kJckJt+nHDNovS/5j9jmF4yQuSno4qg7XU= github.com/go-pkgz/routegroup v1.6.0 h1:44XHZgF6JIIldRlv+zjg6SygULASmjifnfIQjwCT0e4= github.com/go-pkgz/routegroup v1.6.0/go.mod h1:Pmu04fhgWhRtBMIJ8HXppnnzOPjnL/IEPBIdO2zmeqg= github.com/go-pkgz/syncs v1.3.2 h1:gmioASlJNy3gNosPlgvWOM2QP0Hdjzn2u+/sUShgd8E= @@ -201,10 +201,10 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= -golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= -golang.org/x/image v0.33.0 h1:LXRZRnv1+zGd5XBUVRFmYEphyyKJjQjCRiOuAP3sZfQ= -golang.org/x/image v0.33.0/go.mod h1:DD3OsTYT9chzuzTQt+zMcOlBHgfoKQb1gry8p76Y1sc= +golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU= +golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0= +golang.org/x/image v0.34.0 h1:33gCkyw9hmwbZJeZkct8XyR11yH889EQt/QH4VmXMn8= +golang.org/x/image v0.34.0/go.mod h1:2RNFBZRB+vnwwFil8GkMdRvrJOFd1AzdZI6vOY+eJVU= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= @@ -219,10 +219,10 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= -golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= -golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= -golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo= -golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= +golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= +golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= +golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw= +golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -230,8 +230,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= -golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -243,8 +243,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= -golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= +golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -264,8 +264,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= -golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= +golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= +golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/Dockerfile b/backend/vendor/github.com/alecthomas/chroma/v2/Dockerfile index e2a15313..bd55da06 100644 --- a/backend/vendor/github.com/alecthomas/chroma/v2/Dockerfile +++ b/backend/vendor/github.com/alecthomas/chroma/v2/Dockerfile @@ -29,7 +29,7 @@ ENV GOARCH=amd64 RUN make build/chromad # Runtime stage -FROM alpine:3.22 AS runtime +FROM alpine:3.23 AS runtime # Install ca-certificates for HTTPS requests RUN apk --no-cache add ca-certificates curl diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/README.md b/backend/vendor/github.com/alecthomas/chroma/v2/README.md index b65c3252..0cfa07f4 100644 --- a/backend/vendor/github.com/alecthomas/chroma/v2/README.md +++ b/backend/vendor/github.com/alecthomas/chroma/v2/README.md @@ -35,10 +35,10 @@ translators for Pygments lexers and styles. ## Supported languages | Prefix | Language -| :----: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +| :----: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | A | ABAP, ABNF, ActionScript, ActionScript 3, Ada, Agda, AL, Alloy, Angular2, ANTLR, ApacheConf, APL, AppleScript, ArangoDB AQL, Arduino, ArmAsm, ATL, AutoHotkey, AutoIt, Awk | B | Ballerina, Bash, Bash Session, Batchfile, Beef, BibTeX, Bicep, BlitzBasic, BNF, BQN, Brainfuck -| C | C, C#, C++, Caddyfile, Caddyfile Directives, Cap'n Proto, Cassandra CQL, Ceylon, CFEngine3, cfstatement, ChaiScript, Chapel, Cheetah, Clojure, CMake, COBOL, CoffeeScript, Common Lisp, Coq, Core, Crystal, CSS, CSV, CUE, Cython +| C | C, C#, C++, C3, Caddyfile, Caddyfile Directives, Cap'n Proto, Cassandra CQL, Ceylon, CFEngine3, cfstatement, ChaiScript, Chapel, Cheetah, Clojure, CMake, COBOL, CoffeeScript, Common Lisp, Coq, Core, Crystal, CSS, CSV, CUE, Cython | D | D, Dart, Dax, Desktop file, Diff, Django/Jinja, dns, Docker, DTD, Dylan | E | EBNF, Elixir, Elm, EmacsLisp, Erlang | F | Factor, Fennel, Fish, Forth, Fortran, FortranFixed, FSharp @@ -46,19 +46,19 @@ translators for Pygments lexers and styles. | H | Handlebars, Hare, Haskell, Haxe, HCL, Hexdump, HLB, HLSL, HolyC, HTML, HTTP, Hy | I | Idris, Igor, INI, Io, ISCdhcpd | J | J, Janet, Java, JavaScript, JSON, JSONata, Jsonnet, Julia, Jungle -| K | Kotlin +| K | Kakoune, Kotlin | L | Lean4, Lighttpd configuration file, LLVM, lox, Lua -| M | Makefile, Mako, markdown, Mason, Materialize SQL dialect, Mathematica, Matlab, MCFunction, Meson, Metal, MiniZinc, MLIR, Modula-2, Mojo, MonkeyC, MoonScript, MorrowindScript, Myghty, MySQL +| M | Makefile, Mako, markdown, Mason, Materialize SQL dialect, Mathematica, Matlab, MCFunction, Meson, Metal, MiniZinc, MLIR, Modelica, Modula-2, Mojo, MonkeyC, MoonScript, MorrowindScript, Myghty, MySQL | N | NASM, Natural, NDISASM, Newspeak, Nginx configuration file, Nim, Nix, NSIS, Nu | O | Objective-C, ObjectPascal, OCaml, Octave, Odin, OnesEnterprise, OpenEdge ABL, OpenSCAD, Org Mode -| P | PacmanConf, Perl, PHP, PHTML, Pig, PkgConfig, PL/pgSQL, plaintext, Plutus Core, Pony, PostgreSQL SQL dialect, PostScript, POVRay, PowerQuery, PowerShell, Prolog, Promela, PromQL, properties, Protocol Buffer, PRQL, PSL, Puppet, Python, Python 2 +| P | PacmanConf, Perl, PHP, PHTML, Pig, PkgConfig, PL/pgSQL, plaintext, Plutus Core, Pony, PostgreSQL SQL dialect, PostScript, POVRay, PowerQuery, PowerShell, Prolog, Promela, PromQL, properties, Protocol Buffer, Protocol Buffer Text Format, PRQL, PSL, Puppet, Python, Python 2 | Q | QBasic, QML -| R | R, Racket, Ragel, Raku, react, ReasonML, reg, Rego, reStructuredText, Rexx, RPGLE, RPMSpec, Ruby, Rust +| R | R, Racket, Ragel, Raku, react, ReasonML, reg, Rego, reStructuredText, Rexx, RGBDS Assembly, Ring, RPGLE, RPMSpec, Ruby, Rust | S | SAS, Sass, Scala, Scheme, Scilab, SCSS, Sed, Sieve, Smali, Smalltalk, Smarty, SNBT, Snobol, Solidity, SourcePawn, SPARQL, SQL, SquidConf, Standard ML, stas, Stylus, Svelte, Swift, SYSTEMD, systemverilog | T | TableGen, Tal, TASM, Tcl, Tcsh, Termcap, Terminfo, Terraform, TeX, Thrift, TOML, TradingView, Transact-SQL, Turing, Turtle, Twig, TypeScript, TypoScript, TypoScriptCssData, TypoScriptHtmlData, Typst | U | ucode | V | V, V shell, Vala, VB.net, verilog, VHDL, VHS, VimL, vue -| W | WDTE, WebGPU Shading Language, WebVTT, Whiley +| W | WDTE, WebAssembly Text Format, WebGPU Shading Language, WebVTT, Whiley | X | XML, Xorg | Y | YAML, YANG | Z | Z80 Assembly, Zed, Zig @@ -209,7 +209,7 @@ using the included Python 3 script `pygments2chroma_xml.py`. I use something lik the following: ```sh -python3 _tools/pygments2chroma_xml.py \ +uv run --script _tools/pygments2chroma_xml.py \ pygments.lexers.jvm.KotlinLexer \ > lexers/embedded/kotlin.xml ``` @@ -272,7 +272,7 @@ for that setup the `chroma` executable can be just symlinked to `~/.lessfilter`. ## Projects using Chroma -* [`moar`](https://github.com/walles/moar) is a full-blown pager that colorizes +* [`moor`](https://github.com/walles/moor) is a full-blown pager that colorizes its input using Chroma * [Hugo](https://gohugo.io/) is a static site generator that [uses Chroma for syntax highlighting code examples](https://gohugo.io/content-management/syntax-highlighting/) diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/iterator.go b/backend/vendor/github.com/alecthomas/chroma/v2/iterator.go index b1e0b57b..cf39bb57 100644 --- a/backend/vendor/github.com/alecthomas/chroma/v2/iterator.go +++ b/backend/vendor/github.com/alecthomas/chroma/v2/iterator.go @@ -58,6 +58,7 @@ func Literator(tokens ...Token) Iterator { // SplitTokensIntoLines splits tokens containing newlines in two. func SplitTokensIntoLines(tokens []Token) (out [][]Token) { var line []Token // nolint: prealloc +tokenLoop: for _, token := range tokens { for strings.Contains(token.Value, "\n") { parts := strings.SplitAfterN(token.Value, "\n", 2) @@ -70,6 +71,11 @@ func SplitTokensIntoLines(tokens []Token) (out [][]Token) { line = append(line, clone) out = append(out, line) line = nil + + // If the tail token is empty, don't emit it. + if len(token.Value) == 0 { + continue tokenLoop + } } line = append(line, token) } @@ -83,5 +89,5 @@ func SplitTokensIntoLines(tokens []Token) (out [][]Token) { out = out[:len(out)-1] } } - return + return out } diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c3.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c3.xml new file mode 100644 index 00000000..8094ce4b --- /dev/null +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c3.xml @@ -0,0 +1,374 @@ + + + C3 + c3 + *.c3 + *.c3i + *.c3t + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/core.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/core.xml index c5aa432c..f0a9d290 100644 --- a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/core.xml +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/core.xml @@ -13,13 +13,13 @@ - + - + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/css.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/css.xml index 5491fe46..adc13c75 100644 --- a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/css.xml +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/css.xml @@ -191,7 +191,7 @@ - + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/d.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/d.xml index 3c030e22..19c85e2c 100644 --- a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/d.xml +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/d.xml @@ -15,10 +15,10 @@ - + - + @@ -130,4 +130,4 @@ - \ No newline at end of file + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/devicetree.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/devicetree.xml new file mode 100644 index 00000000..2db54ddc --- /dev/null +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/devicetree.xml @@ -0,0 +1,251 @@ + + + Devicetree + devicetree + dts + *.dts + *.dtsi + text/x-devicetree + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ini.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ini.xml index 08f3870b..3f1de09c 100644 --- a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ini.xml +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ini.xml @@ -9,6 +9,13 @@ *.inf *.service *.socket + *.container + *.network + *.build + *.pod + *.kube + *.volume + *.image .gitconfig .editorconfig pylintrc @@ -42,4 +49,4 @@ - \ No newline at end of file + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/kakoune.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/kakoune.xml new file mode 100644 index 00000000..afc04896 --- /dev/null +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/kakoune.xml @@ -0,0 +1,96 @@ + + + + Kakoune + kak + kakoune + kakrc + kakscript + *.kak + kakrc + application/x-sh + application/x-shellscript + text/x-shellscript + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/kotlin.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/kotlin.xml index ec02c4ef..28bf2d8b 100644 --- a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/kotlin.xml +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/kotlin.xml @@ -113,9 +113,7 @@ - - - + @@ -137,8 +135,20 @@ - - + + + + + + + + + + + + + + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lox.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lox.xml index 602885a2..8dec0a85 100644 --- a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lox.xml +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lox.xml @@ -6,24 +6,6 @@ true - - - - - - - - - - - - - - - - - - @@ -39,23 +21,39 @@ - + - - - + + + + + + - - - + + + + + + - - - + + + + + + + + + + + + + @@ -69,10 +67,7 @@ - - - - + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/modelica.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/modelica.xml new file mode 100644 index 00000000..5b1dc838 --- /dev/null +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/modelica.xml @@ -0,0 +1,106 @@ + + + Modelica + modelica + *.mo + text/x-modelica + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python.xml index a58686ff..eaa9c307 100644 --- a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python.xml +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/python.xml @@ -6,6 +6,7 @@ sage python3 py3 + starlark *.py *.pyi *.pyw @@ -23,6 +24,7 @@ WORKSPACE.bazel MODULE.bazel REPO.bazel + *.star *.tac text/x-python application/x-python diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rgbasm.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rgbasm.xml new file mode 100644 index 00000000..6814ca1c --- /dev/null +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rgbasm.xml @@ -0,0 +1,239 @@ + + + RGBDS Assembly + rgbasm + *.asm + 0.5 + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ring.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ring.xml new file mode 100644 index 00000000..44454ea8 --- /dev/null +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ring.xml @@ -0,0 +1,74 @@ + + + Ring + ring + *.ring + *.rh + *.rform + text/x-ring + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rpgle.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rpgle.xml index a74f3c66..c74cd2c3 100644 --- a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rpgle.xml +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rpgle.xml @@ -11,7 +11,7 @@ text/x-sqlrpgle true - + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/txtpb.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/txtpb.xml new file mode 100644 index 00000000..9cb48c03 --- /dev/null +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/txtpb.xml @@ -0,0 +1,162 @@ + + + Protocol Buffer Text Format + txtpb + *.txtpb + *.textproto + *.textpb + *.pbtxt + application/x-protobuf-text + false + false + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/wat.xml b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/wat.xml new file mode 100644 index 00000000..4a7f7e46 --- /dev/null +++ b/backend/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/wat.xml @@ -0,0 +1,149 @@ + + + WebAssembly Text Format + wast + wat + *.wat + *.wast + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/serialise.go b/backend/vendor/github.com/alecthomas/chroma/v2/serialise.go index 645a5faa..3d7f6c5d 100644 --- a/backend/vendor/github.com/alecthomas/chroma/v2/serialise.go +++ b/backend/vendor/github.com/alecthomas/chroma/v2/serialise.go @@ -150,8 +150,12 @@ func NewXMLLexer(from fs.FS, path string) (*RegexLexer, error) { regexAnalysers := make([]regexAnalyse, 0, len(config.Analyse.Regexes)) + regexFlags := regexp2.None + if config.CaseInsensitive { + regexFlags = regexp2.IgnoreCase + } for _, ra := range config.Analyse.Regexes { - re, err := regexp2.Compile(ra.Pattern, regexp2.None) + re, err := regexp2.Compile(ra.Pattern, regexFlags) if err != nil { return nil, fmt.Errorf("%s: %q is not a valid analyser regex: %w", config.Name, ra.Pattern, err) } diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/styles/ashen.xml b/backend/vendor/github.com/alecthomas/chroma/v2/styles/ashen.xml new file mode 100644 index 00000000..c22b3fa5 --- /dev/null +++ b/backend/vendor/github.com/alecthomas/chroma/v2/styles/ashen.xml @@ -0,0 +1,69 @@ + + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/styles/aura-theme-dark-soft.xml b/backend/vendor/github.com/alecthomas/chroma/v2/styles/aura-theme-dark-soft.xml new file mode 100644 index 00000000..37f589f9 --- /dev/null +++ b/backend/vendor/github.com/alecthomas/chroma/v2/styles/aura-theme-dark-soft.xml @@ -0,0 +1,107 @@ + + + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/styles/aura-theme-dark.xml b/backend/vendor/github.com/alecthomas/chroma/v2/styles/aura-theme-dark.xml new file mode 100644 index 00000000..fd1cd880 --- /dev/null +++ b/backend/vendor/github.com/alecthomas/chroma/v2/styles/aura-theme-dark.xml @@ -0,0 +1,107 @@ + + + diff --git a/backend/vendor/github.com/alecthomas/chroma/v2/styles/github.xml b/backend/vendor/github.com/alecthomas/chroma/v2/styles/github.xml index d747f653..dd6a56db 100644 --- a/backend/vendor/github.com/alecthomas/chroma/v2/styles/github.xml +++ b/backend/vendor/github.com/alecthomas/chroma/v2/styles/github.xml @@ -1,6 +1,6 @@ \ No newline at end of file + + diff --git a/backend/vendor/github.com/go-pkgz/auth/v2/auth.go b/backend/vendor/github.com/go-pkgz/auth/v2/auth.go index c3c61f75..efb4ddb6 100644 --- a/backend/vendor/github.com/go-pkgz/auth/v2/auth.go +++ b/backend/vendor/github.com/go-pkgz/auth/v2/auth.go @@ -172,8 +172,7 @@ func (s *Service) Handlers() (authHandler, avatarHandler http.Handler) { // allow logout without specifying provider if elems[len(elems)-1] == "logout" { if len(s.providers) == 0 { - w.WriteHeader(http.StatusBadRequest) - rest.RenderJSON(w, rest.JSON{"error": "providers not defined"}) + _ = rest.EncodeJSON(w, http.StatusBadRequest, rest.JSON{"error": "providers not defined"}) return } s.providers[0].Handler(w, r) @@ -184,12 +183,11 @@ func (s *Service) Handlers() (authHandler, avatarHandler http.Handler) { if elems[len(elems)-1] == "user" { claims, _, err := s.jwtService.Get(r) if err != nil || claims.User == nil { - w.WriteHeader(http.StatusUnauthorized) msg := "user is nil" if err != nil { msg = err.Error() } - rest.RenderJSON(w, rest.JSON{"error": msg}) + _ = rest.EncodeJSON(w, http.StatusUnauthorized, rest.JSON{"error": msg}) return } rest.RenderJSON(w, claims.User) @@ -211,8 +209,7 @@ func (s *Service) Handlers() (authHandler, avatarHandler http.Handler) { provName := elems[len(elems)-2] p, err := s.Provider(provName) if err != nil { - w.WriteHeader(http.StatusBadRequest) - rest.RenderJSON(w, rest.JSON{"error": fmt.Sprintf("provider %s not supported", provName)}) + _ = rest.EncodeJSON(w, http.StatusBadRequest, rest.JSON{"error": fmt.Sprintf("provider %s not supported", provName)}) return } p.Handler(w, r) @@ -347,7 +344,7 @@ func (s *Service) AddAppleProvider(appleConfig provider.AppleConfig, privKeyLoad L: s.logger, } - // Error checking at create need for catch one when apple private key init + // error checking at create need for catch one when apple private key init appleProvider, err := provider.NewApple(p, appleConfig, privKeyLoader) if err != nil { return fmt.Errorf("an AppleProvider creating failed: %w", err) diff --git a/backend/vendor/github.com/go-pkgz/auth/v2/avatar/avatar.go b/backend/vendor/github.com/go-pkgz/auth/v2/avatar/avatar.go index a1d749a6..72810543 100644 --- a/backend/vendor/github.com/go-pkgz/auth/v2/avatar/avatar.go +++ b/backend/vendor/github.com/go-pkgz/auth/v2/avatar/avatar.go @@ -194,7 +194,7 @@ func (p *Proxy) resize(reader io.Reader, limit int) io.Reader { newW, newH = limit, h*limit/w } m := image.NewRGBA(image.Rect(0, 0, newW, newH)) - // Slower than `draw.ApproxBiLinear.Scale()` but better quality. + // slower than `draw.ApproxBiLinear.Scale()` but better quality. draw.BiLinear.Scale(m, m.Bounds(), src, src.Bounds(), draw.Src, nil) var out bytes.Buffer diff --git a/backend/vendor/github.com/go-pkgz/auth/v2/middleware/auth.go b/backend/vendor/github.com/go-pkgz/auth/v2/middleware/auth.go index 6aafa033..e25968f8 100644 --- a/backend/vendor/github.com/go-pkgz/auth/v2/middleware/auth.go +++ b/backend/vendor/github.com/go-pkgz/auth/v2/middleware/auth.go @@ -189,7 +189,7 @@ func (a *Authenticator) refreshExpiredToken(w http.ResponseWriter, claims token. } claims.ExpiresAt = nil // this will cause now+duration for refreshed token - c, err := a.JWTService.Set(w, claims) // Set changes token + c, err := a.JWTService.Set(w, claims) // set changes token if err != nil { return token.Claims{}, err } diff --git a/backend/vendor/github.com/go-pkgz/auth/v2/provider/apple.go b/backend/vendor/github.com/go-pkgz/auth/v2/provider/apple.go index 3781ab62..90ee3498 100644 --- a/backend/vendor/github.com/go-pkgz/auth/v2/provider/apple.go +++ b/backend/vendor/github.com/go-pkgz/auth/v2/provider/apple.go @@ -49,22 +49,22 @@ const ( // appleVerificationResponse is based on https://developer.apple.com/documentation/signinwithapplerestapi/tokenresponse type appleVerificationResponse struct { - // A token used to access allowed user data, but now not implemented public interface for it. + // a token used to access allowed user data, but now not implemented public interface for it. AccessToken string `json:"access_token"` - // Access token type, always equal the "bearer". + // access token type, always equal the "bearer". TokenType string `json:"token_type"` - // Access token expires time in seconds. Always equal 3600 seconds (1 hour) + // access token expires time in seconds. Always equal 3600 seconds (1 hour) ExpiresIn int `json:"expires_in"` - // The refresh token used to regenerate new access tokens. + // the refresh token used to regenerate new access tokens. RefreshToken string `json:"refresh_token"` - // Main JSON Web Token that contains the user’s identity information. + // main JSON Web Token that contains the user’s identity information. IDToken string `json:"id_token"` - // Used to capture any error returned in response. Always check error for empty + // used to capture any error returned in response. Always check error for empty Error string `json:"error"` } @@ -443,7 +443,7 @@ func (ah *AppleHandler) exchange(ctx context.Context, code, redirectURI string, return err } - // Trying to decode (unmarshal json) data of response + // trying to decode (unmarshal json) data of response err = json.NewDecoder(res.Body).Decode(result) if err != nil { return fmt.Errorf("unmarshalling data from apple service response failed: %w", err) @@ -455,8 +455,8 @@ func (ah *AppleHandler) exchange(ctx context.Context, code, redirectURI string, } }() - // If above operation done successfully checking a response code and error descriptions, if one exist. - // Apple service will response either 200 (OK) or 400 (any error). + // if above operation done successfully checking a response code and error descriptions, if one exist. + // apple service will response either 200 (OK) or 400 (any error). if res.StatusCode != http.StatusOK || result.Error != "" { return fmt.Errorf("apple token service error: %s", result.Error) } @@ -471,7 +471,7 @@ func (ah *AppleHandler) createClientSecret() (string, error) { if ah.conf.privateKey == nil { return "", fmt.Errorf("private key can't be empty") } - // Create a claims + // create a claims now := time.Now() exp := now.Add(time.Minute * 30) // default value @@ -502,7 +502,7 @@ func (ah *AppleHandler) parseUserData(user *token.User, jUser string) { var userData UserData - // Catch error for log only. No need break flow if user name doesn't exist + // catch error for log only. No need break flow if user name doesn't exist if err := json.Unmarshal([]byte(jUser), &userData); err != nil { ah.Logf("[DEBUG] failed to parse user data %s: %v", user, err) user.Name = "noname_" + user.ID[6:12] // paste noname if user name failed to parse diff --git a/backend/vendor/github.com/go-pkgz/auth/v2/provider/sender/email.go b/backend/vendor/github.com/go-pkgz/auth/v2/provider/sender/email.go index b70a71d4..f1f34844 100644 --- a/backend/vendor/github.com/go-pkgz/auth/v2/provider/sender/email.go +++ b/backend/vendor/github.com/go-pkgz/auth/v2/provider/sender/email.go @@ -20,14 +20,14 @@ type Email struct { type EmailParams struct { Host string // SMTP host Port int // SMTP port - From string // From email field - Subject string // Email subject - ContentType string // Content type + From string // from email field + Subject string // email subject + ContentType string // content type TLS bool // TLS auth - StartTLS bool // StartTLS auth - InsecureSkipVerify bool // Skip certificate verification - Charset string // Character set + StartTLS bool // startTLS auth + InsecureSkipVerify bool // skip certificate verification + Charset string // character set LoginAuth bool // LOGIN auth method instead of default PLAIN, needed for Office 365 and outlook.com SMTPUserName string // username SMTPPassword string // password diff --git a/backend/vendor/github.com/go-pkgz/auth/v2/provider/telegram.go b/backend/vendor/github.com/go-pkgz/auth/v2/provider/telegram.go index 5b884eb9..8e950204 100644 --- a/backend/vendor/github.com/go-pkgz/auth/v2/provider/telegram.go +++ b/backend/vendor/github.com/go-pkgz/auth/v2/provider/telegram.go @@ -15,7 +15,7 @@ import ( "sync/atomic" "time" - "github.com/go-pkgz/repeater" + "github.com/go-pkgz/repeater/v2" "github.com/go-pkgz/rest" "github.com/golang-jwt/jwt/v5" @@ -63,7 +63,7 @@ var expiredCleanupInterval = time.Minute * 5 // interval to check and clean up e // Run starts processing login requests sent in Telegram // Blocks caller func (th *TelegramHandler) Run(ctx context.Context) error { - // Initialization + // initialization atomic.AddInt32(&th.run, 1) info, err := th.Telegram.BotInfo(ctx) if err != nil { @@ -168,7 +168,7 @@ func (th *TelegramHandler) processUpdates(ctx context.Context, updates *telegram th.requests.RLock() authRequest, ok := th.requests.data[token] - if !ok { // No such token + if !ok { // no such token th.requests.RUnlock() err := th.Telegram.Send(ctx, update.Message.Chat.ID, th.ErrorMsg) if err != nil { @@ -256,7 +256,7 @@ func (th *TelegramHandler) LoginHandler(w http.ResponseWriter, r *http.Request) queryToken := r.URL.Query().Get("token") if queryToken == "" { // GET /login (No token supplied) - // Generate and send token + // generate and send token token, err := randToken() if err != nil { rest.SendErrorJSON(w, r, th.L, http.StatusInternalServerError, err, "failed to generate code") @@ -322,7 +322,7 @@ func (th *TelegramHandler) LoginHandler(w http.ResponseWriter, r *http.Request) rest.RenderJSON(w, claims.User) - // Delete request + // delete request th.requests.Lock() defer th.requests.Unlock() delete(th.requests.data, queryToken) @@ -342,8 +342,8 @@ type tgAPI struct { token string client *http.Client - // Identifier of the first update to be requested. - // Should be equal to LastSeenUpdateID + 1 + // identifier of the first update to be requested. + // should be equal to LastSeenUpdateID + 1 // See https://core.telegram.org/bots/api#getupdates updateOffset int } @@ -387,7 +387,7 @@ func (tg *tgAPI) Send(ctx context.Context, id int, msg string) error { // Avatar returns URL to user avatar func (tg *tgAPI) Avatar(ctx context.Context, id int) (string, error) { - // Get profile pictures + // get profile pictures url := fmt.Sprintf(`getUserProfilePhotos?user_id=%d`, id) var profilePhotos = struct { @@ -402,12 +402,12 @@ func (tg *tgAPI) Avatar(ctx context.Context, id int) (string, error) { return "", err } - // User does not have profile picture set or it is hidden in privacy settings + // user does not have profile picture set or it is hidden in privacy settings if len(profilePhotos.Result.Photos) == 0 || len(profilePhotos.Result.Photos[0]) == 0 { return "", nil } - // Get max possible picture size + // get max possible picture size last := len(profilePhotos.Result.Photos[0]) - 1 fileID := profilePhotos.Result.Photos[0][last].ID url = fmt.Sprintf(`getFile?file_id=%s`, fileID) @@ -450,7 +450,7 @@ func (tg *tgAPI) BotInfo(ctx context.Context) (*botInfo, error) { } func (tg *tgAPI) request(ctx context.Context, method string, data interface{}) error { - return repeater.NewDefault(3, time.Millisecond*50).Do(ctx, func() error { + return repeater.NewFixed(3, time.Millisecond*50).Do(ctx, func() error { url := fmt.Sprintf("https://api.telegram.org/bot%s/%s", tg.token, method) req, err := http.NewRequestWithContext(ctx, "GET", url, http.NoBody) diff --git a/backend/vendor/github.com/go-pkgz/auth/v2/token/jwt.go b/backend/vendor/github.com/go-pkgz/auth/v2/token/jwt.go index 22954ef2..0d18653c 100644 --- a/backend/vendor/github.com/go-pkgz/auth/v2/token/jwt.go +++ b/backend/vendor/github.com/go-pkgz/auth/v2/token/jwt.go @@ -231,7 +231,7 @@ func (j *Service) validate(claims *Claims) error { return nil } - // Ignore "ErrTokenExpired" if it is the only error. + // ignore "ErrTokenExpired" if it is the only error. if errors.Is(err, jwt.ErrTokenExpired) { if uw, ok := err.(interface{ Unwrap() []error }); ok && len(uw.Unwrap()) == 1 { return nil @@ -266,7 +266,8 @@ func (j *Service) Set(w http.ResponseWriter, claims Claims) (Claims, error) { if j.SendJWTHeader { w.Header().Set(j.JWTHeaderKey, tokenString) - return claims, nil + // don't return here - fall through to also set cookies + // cookies are needed for OAuth redirect flows where headers don't survive redirects } cookieExpiration := 0 // session cookie diff --git a/backend/vendor/github.com/go-pkgz/rest/.golangci.yml b/backend/vendor/github.com/go-pkgz/rest/.golangci.yml index ec36f9d3..bd6fb4ac 100644 --- a/backend/vendor/github.com/go-pkgz/rest/.golangci.yml +++ b/backend/vendor/github.com/go-pkgz/rest/.golangci.yml @@ -1,66 +1,63 @@ +version: "2" run: timeout: 5m tests: false - -linters-settings: - govet: - enable: - - shadow - goconst: - min-len: 2 - min-occurrences: 2 - misspell: - locale: US - lll: - line-length: 140 - gocritic: - enabled-tags: - - performance - - style - - experimental - disabled-checks: - - wrapperFunc - - hugeParam - - rangeValCopy - - singleCaseSwitch - - ifElseChain - + concurrency: 4 linters: + default: none enable: - - revive - - govet - - unconvert - - staticcheck - - unused - - gosec - dupl - - misspell - - unparam - - typecheck - - ineffassign - - stylecheck - gochecknoinits - - copyloopvar - gocritic + - govet + - ineffassign + - misspell - nakedret - - gosimple - prealloc - fast: false - disable-all: true - -issues: - exclude-dirs: - - vendor - exclude-rules: - - text: "at least one file in a package should have a package comment" - linters: - - stylecheck - - text: "should have a package comment" - linters: - - revive - - path: _test\.go - linters: - - gosec - - dupl - exclude-use-default: false + - revive + - staticcheck + - unconvert + - unparam + - unused + settings: + goconst: + min-len: 2 + min-occurrences: 2 + gocritic: + disabled-checks: + - wrapperFunc + - hugeParam + - rangeValCopy + - singleCaseSwitch + - ifElseChain + enabled-tags: + - performance + - style + - experimental + govet: + enable-all: true + disable: + - fieldalignment + lll: + line-length: 140 + misspell: + locale: US + exclusions: + generated: lax + rules: + - linters: + - staticcheck + text: "at least one file in a package should have a package comment" + - linters: + - revive + text: "should have a package comment" + - linters: + - gosec + - dupl + path: _test\.go + paths: + - vendor + - third_party$ + - builtin$ + - examples$ diff --git a/backend/vendor/github.com/go-pkgz/rest/README.md b/backend/vendor/github.com/go-pkgz/rest/README.md index d72d4781..1260cf80 100644 --- a/backend/vendor/github.com/go-pkgz/rest/README.md +++ b/backend/vendor/github.com/go-pkgz/rest/README.md @@ -157,7 +157,14 @@ Compresses response with gzip. ### RealIP middleware -RealIP is a middleware that sets a http.Request's RemoteAddr to the results of parsing either the X-Forwarded-For or X-Real-IP headers. +RealIP is a middleware that sets a http.Request's RemoteAddr to the results of parsing various headers that contain the client's real IP address. It checks headers in the following priority order: + +1. `X-Real-IP` - trusted proxy (nginx/reproxy) sets this to actual client +2. `CF-Connecting-IP` - Cloudflare's header for original client +3. `X-Forwarded-For` - leftmost public IP (original client in CDN/proxy chain) +4. `RemoteAddr` - fallback for direct connections + +Only public IPs are accepted from headers; private/loopback/link-local IPs are skipped. This makes the middleware compatible with CDN setups like Cloudflare where the leftmost IP in `X-Forwarded-For` is the actual client. ### Maybe middleware diff --git a/backend/vendor/github.com/go-pkgz/rest/blackwords.go b/backend/vendor/github.com/go-pkgz/rest/blackwords.go index 01c85022..8954db3d 100644 --- a/backend/vendor/github.com/go-pkgz/rest/blackwords.go +++ b/backend/vendor/github.com/go-pkgz/rest/blackwords.go @@ -20,8 +20,7 @@ func BlackWords(words ...string) func(http.Handler) http.Handler { if body != "" { for _, word := range words { if strings.Contains(body, strings.ToLower(word)) { - w.WriteHeader(http.StatusForbidden) - RenderJSON(w, JSON{"error": "one of blacklisted words detected"}) + _ = EncodeJSON(w, http.StatusForbidden, JSON{"error": "one of blacklisted words detected"}) return } } diff --git a/backend/vendor/github.com/go-pkgz/rest/file_server.go b/backend/vendor/github.com/go-pkgz/rest/file_server.go index ccf47df5..088ac9db 100644 --- a/backend/vendor/github.com/go-pkgz/rest/file_server.go +++ b/backend/vendor/github.com/go-pkgz/rest/file_server.go @@ -68,12 +68,14 @@ func NewFileServer(public, local string, options ...FsOpt) (*FS, error) { } // FileServer is a shortcut for making FS with listing disabled and the custom noFound reader (can be nil). +// // Deprecated: the method is for back-compatibility only and user should use the universal NewFileServer instead func FileServer(public, local string, notFound io.Reader) (http.Handler, error) { return NewFileServer(public, local, FsOptCustom404(notFound)) } // FileServerSPA is a shortcut for making FS with SPA-friendly handling of 404, listing disabled and the custom noFound reader (can be nil). +// // Deprecated: the method is for back-compatibility only and user should use the universal NewFileServer instead func FileServerSPA(public, local string, notFound io.Reader) (http.Handler, error) { return NewFileServer(public, local, FsOptCustom404(notFound), FsOptSPA) diff --git a/backend/vendor/github.com/go-pkgz/rest/logger/logger.go b/backend/vendor/github.com/go-pkgz/rest/logger/logger.go index e814663d..d93342c5 100644 --- a/backend/vendor/github.com/go-pkgz/rest/logger/logger.go +++ b/backend/vendor/github.com/go-pkgz/rest/logger/logger.go @@ -220,8 +220,8 @@ func (l *Middleware) getBody(r *http.Request) string { // "The Server will close the request body. The ServeHTTP Handler does not need to." // https://golang.org/pkg/net/http/#Request - // So we can use ioutil.NopCloser() to make io.ReadCloser. - // Note that below assignment is not approved by the docs: + // so we can use ioutil.NopCloser() to make io.ReadCloser. + // note that below assignment is not approved by the docs: // "Except for reading the body, handlers should not modify the provided Request." // https://golang.org/pkg/net/http/#Handler r.Body = io.NopCloser(reader) @@ -355,5 +355,5 @@ func (c *customResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { if hj, ok := c.ResponseWriter.(http.Hijacker); ok { return hj.Hijack() } - return nil, nil, fmt.Errorf("ResponseWriter does not implement the Hijacker interface") //nolint:golint //capital letter is OK here + return nil, nil, fmt.Errorf("ResponseWriter does not implement the Hijacker interface") } diff --git a/backend/vendor/github.com/go-pkgz/rest/metrics.go b/backend/vendor/github.com/go-pkgz/rest/metrics.go index 1cf0a419..6edc2dae 100644 --- a/backend/vendor/github.com/go-pkgz/rest/metrics.go +++ b/backend/vendor/github.com/go-pkgz/rest/metrics.go @@ -13,8 +13,7 @@ func Metrics(onlyIps ...string) func(http.Handler) http.Handler { fn := func(w http.ResponseWriter, r *http.Request) { if r.Method == "GET" && strings.HasSuffix(strings.ToLower(r.URL.Path), "/metrics") { if matched, ip, err := matchSourceIP(r, onlyIps); !matched || err != nil { - w.WriteHeader(http.StatusForbidden) - RenderJSON(w, JSON{"error": fmt.Sprintf("ip %s rejected", ip)}) + _ = EncodeJSON(w, http.StatusForbidden, JSON{"error": fmt.Sprintf("ip %s rejected", ip)}) return } expvar.Handler().ServeHTTP(w, r) diff --git a/backend/vendor/github.com/go-pkgz/rest/middleware.go b/backend/vendor/github.com/go-pkgz/rest/middleware.go index 86b3cc13..c130a462 100644 --- a/backend/vendor/github.com/go-pkgz/rest/middleware.go +++ b/backend/vendor/github.com/go-pkgz/rest/middleware.go @@ -19,7 +19,6 @@ func Wrap(handler http.Handler, mws ...func(http.Handler) http.Handler) http.Han return handler } - // AppInfo adds custom app-info to the response header func AppInfo(app, author, version string) func(http.Handler) http.Handler { f := func(h http.Handler) http.Handler { @@ -82,12 +81,11 @@ func Health(path string, checkers ...func(ctx context.Context) (name string, err } resp = append(resp, hh) } + status := http.StatusOK if anyError { - w.WriteHeader(http.StatusServiceUnavailable) - } else { - w.WriteHeader(http.StatusOK) + status = http.StatusServiceUnavailable } - RenderJSON(w, resp) + _ = EncodeJSON(w, status, resp) } return http.HandlerFunc(fn) } @@ -147,13 +145,19 @@ func Maybe(mw func(http.Handler) http.Handler, maybeFn func(r *http.Request) boo } } -// RealIP is a middleware that sets a http.Request's RemoteAddr to the results -// of parsing either the X-Forwarded-For or X-Real-IP headers. +// RealIP is a middleware that sets a http.Request's RemoteAddr to the client's real IP. +// It checks headers in the following priority order: +// 1. X-Real-IP - trusted proxy (nginx/reproxy) sets this to actual client +// 2. CF-Connecting-IP - Cloudflare's header for original client +// 3. X-Forwarded-For - leftmost public IP (original client in CDN/proxy chain) +// 4. RemoteAddr - fallback for direct connections +// +// Only public IPs are accepted from headers; private/loopback/link-local IPs are skipped. // // This middleware should only be used if user can trust the headers sent with request. // If reverse proxies are configured to pass along arbitrary header values from the client, // or if this middleware used without a reverse proxy, malicious clients could set anything -// as X-Forwarded-For header and attack the server in various ways. +// as these headers and spoof their IP address. func RealIP(h http.Handler) http.Handler { fn := func(w http.ResponseWriter, r *http.Request) { if rip, err := realip.Get(r); err == nil { diff --git a/backend/vendor/github.com/go-pkgz/rest/nocache.go b/backend/vendor/github.com/go-pkgz/rest/nocache.go index aa0fa946..9808a0e5 100644 --- a/backend/vendor/github.com/go-pkgz/rest/nocache.go +++ b/backend/vendor/github.com/go-pkgz/rest/nocache.go @@ -29,21 +29,22 @@ var etagHeaders = []string{ // a router (or subrouter) from being cached by an upstream proxy and/or client. // // As per http://wiki.nginx.org/HttpProxyModule - NoCache sets: -// Expires: Thu, 01 Jan 1970 00:00:00 UTC -// Cache-Control: no-cache, private, max-age=0 -// X-Accel-Expires: 0 -// Pragma: no-cache (for HTTP/1.0 proxies/clients) +// +// Expires: Thu, 01 Jan 1970 00:00:00 UTC +// Cache-Control: no-cache, private, max-age=0 +// X-Accel-Expires: 0 +// Pragma: no-cache (for HTTP/1.0 proxies/clients) func NoCache(h http.Handler) http.Handler { fn := func(w http.ResponseWriter, r *http.Request) { - // Delete any ETag headers that may have been set + // delete any ETag headers that may have been set for _, v := range etagHeaders { if r.Header.Get(v) != "" { r.Header.Del(v) } } - // Set our NoCache headers + // set our NoCache headers for k, v := range noCacheHeaders { w.Header().Set(k, v) } diff --git a/backend/vendor/github.com/go-pkgz/rest/onlyfrom.go b/backend/vendor/github.com/go-pkgz/rest/onlyfrom.go index cccd77ed..acc8ff20 100644 --- a/backend/vendor/github.com/go-pkgz/rest/onlyfrom.go +++ b/backend/vendor/github.com/go-pkgz/rest/onlyfrom.go @@ -21,8 +21,7 @@ func OnlyFrom(onlyIps ...string) func(http.Handler) http.Handler { } matched, ip, err := matchSourceIP(r, onlyIps) if err != nil { - w.WriteHeader(http.StatusInternalServerError) - RenderJSON(w, JSON{"error": fmt.Sprintf("can't get realip: %s", err)}) + _ = EncodeJSON(w, http.StatusInternalServerError, JSON{"error": fmt.Sprintf("can't get realip: %s", err)}) return } if matched { @@ -31,8 +30,7 @@ func OnlyFrom(onlyIps ...string) func(http.Handler) http.Handler { return } - w.WriteHeader(http.StatusForbidden) - RenderJSON(w, JSON{"error": fmt.Sprintf("ip %q rejected", ip)}) + _ = EncodeJSON(w, http.StatusForbidden, JSON{"error": fmt.Sprintf("ip %q rejected", ip)}) } return http.HandlerFunc(fn) } diff --git a/backend/vendor/github.com/go-pkgz/rest/realip/real.go b/backend/vendor/github.com/go-pkgz/rest/realip/real.go index eb7a9525..ad10149f 100644 --- a/backend/vendor/github.com/go-pkgz/rest/realip/real.go +++ b/backend/vendor/github.com/go-pkgz/rest/realip/real.go @@ -33,49 +33,73 @@ var privateRanges = []ipRange{ {start: net.ParseIP("fe80::"), end: net.ParseIP("febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff")}, } -// Get returns real ip from the given request -// Prioritize public IPs over private IPs +// Get returns real IP from the given request. +// It checks headers in the following priority order: +// 1. X-Real-IP - trusted proxy (nginx/reproxy) sets this to actual client +// 2. CF-Connecting-IP - Cloudflare's header for original client +// 3. X-Forwarded-For - leftmost public IP (original client in CDN chain) +// 4. RemoteAddr - fallback for direct connections +// +// Only public IPs are accepted from headers; private/loopback/link-local IPs are skipped. func Get(r *http.Request) (string, error) { - var firstIP string - for _, h := range []string{"X-Forwarded-For", "X-Real-Ip"} { - addresses := strings.Split(r.Header.Get(h), ",") - for i := len(addresses) - 1; i >= 0; i-- { - ip := strings.TrimSpace(addresses[i]) - realIP := net.ParseIP(ip) - if firstIP == "" && realIP != nil { - firstIP = ip - } - // Guard against nil realIP - if realIP == nil || !realIP.IsGlobalUnicast() || isPrivateSubnet(realIP) { - continue - } - return ip, nil + // check X-Real-IP first (single value, set by trusted proxy) + if xRealIP := strings.TrimSpace(r.Header.Get("X-Real-IP")); xRealIP != "" { + if ip := net.ParseIP(xRealIP); isPublicIP(ip) { + return xRealIP, nil } } - if firstIP != "" { - return firstIP, nil + // check CF-Connecting-IP (Cloudflare's header) + if cfIP := strings.TrimSpace(r.Header.Get("CF-Connecting-IP")); cfIP != "" { + if ip := net.ParseIP(cfIP); isPublicIP(ip) { + return cfIP, nil + } } - // handle RemoteAddr which may be just an IP or IP:port - remoteIP := r.RemoteAddr + // check X-Forwarded-For, find leftmost public IP + if xff := r.Header.Get("X-Forwarded-For"); xff != "" { + addresses := strings.Split(xff, ",") + for _, addr := range addresses { + ip := strings.TrimSpace(addr) + if parsedIP := net.ParseIP(ip); isPublicIP(parsedIP) { + return ip, nil + } + } + } + + // fall back to RemoteAddr + return parseRemoteAddr(r.RemoteAddr) +} + +// isPublicIP checks if the IP is a valid public (globally routable) IP address. +func isPublicIP(ip net.IP) bool { + if ip == nil { + return false + } + if !ip.IsGlobalUnicast() { + return false + } + return !isPrivateSubnet(ip) +} + +// parseRemoteAddr extracts and validates IP from RemoteAddr (handles both "ip" and "ip:port" formats). +func parseRemoteAddr(remoteAddr string) (string, error) { + if remoteAddr == "" { + return "", fmt.Errorf("empty remote address") + } // try to extract host from host:port format - host, _, err := net.SplitHostPort(remoteIP) + host, _, err := net.SplitHostPort(remoteAddr) if err == nil { - remoteIP = host + remoteAddr = host } - // at this point remoteIP could be either: - // 1. the host part extracted from host:port - // 2. yhe original RemoteAddr if it doesn't contain a port - - // try to parse it as a valid IP address - if netIP := net.ParseIP(remoteIP); netIP == nil { - return "", fmt.Errorf("no valid ip found in %q", r.RemoteAddr) + // validate it's a proper IP address + if netIP := net.ParseIP(remoteAddr); netIP == nil { + return "", fmt.Errorf("no valid ip found in %q", remoteAddr) } - return remoteIP, nil + return remoteAddr, nil } // isPrivateSubnet - check to see if this ip is in a private subnet diff --git a/backend/vendor/golang.org/x/sync/errgroup/errgroup.go b/backend/vendor/golang.org/x/sync/errgroup/errgroup.go index 2f45dbc8..f69fd754 100644 --- a/backend/vendor/golang.org/x/sync/errgroup/errgroup.go +++ b/backend/vendor/golang.org/x/sync/errgroup/errgroup.go @@ -144,8 +144,8 @@ func (g *Group) SetLimit(n int) { g.sem = nil return } - if len(g.sem) != 0 { - panic(fmt.Errorf("errgroup: modify limit while %v goroutines in the group are still active", len(g.sem))) + if active := len(g.sem); active != 0 { + panic(fmt.Errorf("errgroup: modify limit while %v goroutines in the group are still active", active)) } g.sem = make(chan token, n) } diff --git a/backend/vendor/golang.org/x/sys/cpu/cpu.go b/backend/vendor/golang.org/x/sys/cpu/cpu.go index 34c9ae76..63541994 100644 --- a/backend/vendor/golang.org/x/sys/cpu/cpu.go +++ b/backend/vendor/golang.org/x/sys/cpu/cpu.go @@ -92,9 +92,6 @@ var ARM64 struct { HasSHA2 bool // SHA2 hardware implementation HasCRC32 bool // CRC32 hardware implementation HasATOMICS bool // Atomic memory operation instruction set - HasHPDS bool // Hierarchical permission disables in translations tables - HasLOR bool // Limited ordering regions - HasPAN bool // Privileged access never HasFPHP bool // Half precision floating-point instruction set HasASIMDHP bool // Advanced SIMD half precision instruction set HasCPUID bool // CPUID identification scheme registers diff --git a/backend/vendor/golang.org/x/sys/cpu/cpu_arm64.go b/backend/vendor/golang.org/x/sys/cpu/cpu_arm64.go index f449c679..af2aa99f 100644 --- a/backend/vendor/golang.org/x/sys/cpu/cpu_arm64.go +++ b/backend/vendor/golang.org/x/sys/cpu/cpu_arm64.go @@ -65,10 +65,10 @@ func setMinimalFeatures() { func readARM64Registers() { Initialized = true - parseARM64SystemRegisters(getisar0(), getisar1(), getmmfr1(), getpfr0()) + parseARM64SystemRegisters(getisar0(), getisar1(), getpfr0()) } -func parseARM64SystemRegisters(isar0, isar1, mmfr1, pfr0 uint64) { +func parseARM64SystemRegisters(isar0, isar1, pfr0 uint64) { // ID_AA64ISAR0_EL1 switch extractBits(isar0, 4, 7) { case 1: @@ -152,22 +152,6 @@ func parseARM64SystemRegisters(isar0, isar1, mmfr1, pfr0 uint64) { ARM64.HasI8MM = true } - // ID_AA64MMFR1_EL1 - switch extractBits(mmfr1, 12, 15) { - case 1, 2: - ARM64.HasHPDS = true - } - - switch extractBits(mmfr1, 16, 19) { - case 1: - ARM64.HasLOR = true - } - - switch extractBits(mmfr1, 20, 23) { - case 1, 2, 3: - ARM64.HasPAN = true - } - // ID_AA64PFR0_EL1 switch extractBits(pfr0, 16, 19) { case 0: diff --git a/backend/vendor/golang.org/x/sys/cpu/cpu_arm64.s b/backend/vendor/golang.org/x/sys/cpu/cpu_arm64.s index a4f24b3b..3b0450a0 100644 --- a/backend/vendor/golang.org/x/sys/cpu/cpu_arm64.s +++ b/backend/vendor/golang.org/x/sys/cpu/cpu_arm64.s @@ -20,13 +20,6 @@ TEXT ·getisar1(SB),NOSPLIT,$0-8 MOVD R0, ret+0(FP) RET -// func getmmfr1() uint64 -TEXT ·getmmfr1(SB),NOSPLIT,$0-8 - // get Memory Model Feature Register 1 into x0 - MRS ID_AA64MMFR1_EL1, R0 - MOVD R0, ret+0(FP) - RET - // func getpfr0() uint64 TEXT ·getpfr0(SB),NOSPLIT,$0-8 // get Processor Feature Register 0 into x0 diff --git a/backend/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go b/backend/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go index e3fc5a8d..6ac6e1ef 100644 --- a/backend/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go +++ b/backend/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go @@ -8,6 +8,5 @@ package cpu func getisar0() uint64 func getisar1() uint64 -func getmmfr1() uint64 func getpfr0() uint64 func getzfr0() uint64 diff --git a/backend/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go b/backend/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go index 8df2079e..7f194678 100644 --- a/backend/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go +++ b/backend/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go @@ -8,5 +8,4 @@ package cpu func getisar0() uint64 { return 0 } func getisar1() uint64 { return 0 } -func getmmfr1() uint64 { return 0 } func getpfr0() uint64 { return 0 } diff --git a/backend/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go b/backend/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go index 19aea063..ebfb3fc8 100644 --- a/backend/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go +++ b/backend/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go @@ -167,7 +167,7 @@ func doinit() { setMinimalFeatures() return } - parseARM64SystemRegisters(cpuid.aa64isar0, cpuid.aa64isar1, cpuid.aa64mmfr1, cpuid.aa64pfr0) + parseARM64SystemRegisters(cpuid.aa64isar0, cpuid.aa64isar1, cpuid.aa64pfr0) Initialized = true } diff --git a/backend/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go b/backend/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go index 87fd3a77..85b64d5c 100644 --- a/backend/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go +++ b/backend/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go @@ -59,7 +59,7 @@ func doinit() { if !ok { return } - parseARM64SystemRegisters(isar0, isar1, 0, 0) + parseARM64SystemRegisters(isar0, isar1, 0) Initialized = true } diff --git a/backend/vendor/golang.org/x/sys/unix/mkerrors.sh b/backend/vendor/golang.org/x/sys/unix/mkerrors.sh index 42517077..fd39be4e 100644 --- a/backend/vendor/golang.org/x/sys/unix/mkerrors.sh +++ b/backend/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -256,6 +256,7 @@ struct ltchars { #include #include #include +#include #include #include #include @@ -613,7 +614,7 @@ ccflags="$@" $2 !~ /IOC_MAGIC/ && $2 ~ /^[A-Z][A-Z0-9_]+_MAGIC2?$/ || $2 ~ /^(VM|VMADDR)_/ || - $2 ~ /^IOCTL_VM_SOCKETS_/ || + $2 ~ /^(IOCTL_VM_SOCKETS_|IOCTL_MEI_)/ || $2 ~ /^(TASKSTATS|TS)_/ || $2 ~ /^CGROUPSTATS_/ || $2 ~ /^GENL_/ || diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux.go index d0a75da5..120a7b35 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux.go @@ -1615,6 +1615,8 @@ const ( IN_OPEN = 0x20 IN_Q_OVERFLOW = 0x4000 IN_UNMOUNT = 0x2000 + IOCTL_MEI_CONNECT_CLIENT = 0xc0104801 + IOCTL_MEI_CONNECT_CLIENT_VTAG = 0xc0144804 IPPROTO_AH = 0x33 IPPROTO_BEETPH = 0x5e IPPROTO_COMP = 0x6c diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_386.go index 1c37f9fb..97a61fc5 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -116,6 +116,8 @@ const ( IEXTEN = 0x8000 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 + IOCTL_MEI_NOTIFY_GET = 0x80044803 + IOCTL_MEI_NOTIFY_SET = 0x40044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_MASK = 0xffff0f00 diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go index 6f54d34a..a0d6d498 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -116,6 +116,8 @@ const ( IEXTEN = 0x8000 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 + IOCTL_MEI_NOTIFY_GET = 0x80044803 + IOCTL_MEI_NOTIFY_SET = 0x40044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_MASK = 0xffff0f00 diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go index 783ec5c1..dd9c903f 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -115,6 +115,8 @@ const ( IEXTEN = 0x8000 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 + IOCTL_MEI_NOTIFY_GET = 0x80044803 + IOCTL_MEI_NOTIFY_SET = 0x40044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_MASK = 0xffff0f00 diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go index ca83d3ba..384c61ca 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -120,6 +120,8 @@ const ( IEXTEN = 0x8000 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 + IOCTL_MEI_NOTIFY_GET = 0x80044803 + IOCTL_MEI_NOTIFY_SET = 0x40044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_MASK = 0xffff0f00 diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go index 607e611c..6384c983 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go @@ -116,6 +116,8 @@ const ( IEXTEN = 0x8000 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 + IOCTL_MEI_NOTIFY_GET = 0x80044803 + IOCTL_MEI_NOTIFY_SET = 0x40044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_MASK = 0xffff0f00 diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go index b9cb5bd3..553c1c6f 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -115,6 +115,8 @@ const ( IEXTEN = 0x100 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x80 + IOCTL_MEI_NOTIFY_GET = 0x40044803 + IOCTL_MEI_NOTIFY_SET = 0x80044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 IPV6_FLOWINFO_MASK = 0xfffffff IPV6_FLOWLABEL_MASK = 0xfffff diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go index 65b078a6..b3339f20 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -115,6 +115,8 @@ const ( IEXTEN = 0x100 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x80 + IOCTL_MEI_NOTIFY_GET = 0x40044803 + IOCTL_MEI_NOTIFY_SET = 0x80044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 IPV6_FLOWINFO_MASK = 0xfffffff IPV6_FLOWLABEL_MASK = 0xfffff diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go index 5298a303..177091d2 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -115,6 +115,8 @@ const ( IEXTEN = 0x100 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x80 + IOCTL_MEI_NOTIFY_GET = 0x40044803 + IOCTL_MEI_NOTIFY_SET = 0x80044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_MASK = 0xffff0f00 diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go index 7bc557c8..c5abf156 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -115,6 +115,8 @@ const ( IEXTEN = 0x100 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x80 + IOCTL_MEI_NOTIFY_GET = 0x40044803 + IOCTL_MEI_NOTIFY_SET = 0x80044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_MASK = 0xffff0f00 diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go index 152399bb..f1f3fadf 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go @@ -115,6 +115,8 @@ const ( IEXTEN = 0x400 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 + IOCTL_MEI_NOTIFY_GET = 0x40044803 + IOCTL_MEI_NOTIFY_SET = 0x80044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 IPV6_FLOWINFO_MASK = 0xfffffff IPV6_FLOWLABEL_MASK = 0xfffff diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go index 1a1ce240..203ad9c5 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -115,6 +115,8 @@ const ( IEXTEN = 0x400 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 + IOCTL_MEI_NOTIFY_GET = 0x40044803 + IOCTL_MEI_NOTIFY_SET = 0x80044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 IPV6_FLOWINFO_MASK = 0xfffffff IPV6_FLOWLABEL_MASK = 0xfffff diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go index 4231a1fb..4b9abcb2 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -115,6 +115,8 @@ const ( IEXTEN = 0x400 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 + IOCTL_MEI_NOTIFY_GET = 0x40044803 + IOCTL_MEI_NOTIFY_SET = 0x80044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_MASK = 0xffff0f00 diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go index 21c0e952..f8798303 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go @@ -115,6 +115,8 @@ const ( IEXTEN = 0x8000 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 + IOCTL_MEI_NOTIFY_GET = 0x80044803 + IOCTL_MEI_NOTIFY_SET = 0x40044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 IPV6_FLOWINFO_MASK = 0xffffff0f IPV6_FLOWLABEL_MASK = 0xffff0f00 diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go index f00d1cd7..64347eb3 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -115,6 +115,8 @@ const ( IEXTEN = 0x8000 IN_CLOEXEC = 0x80000 IN_NONBLOCK = 0x800 + IOCTL_MEI_NOTIFY_GET = 0x80044803 + IOCTL_MEI_NOTIFY_SET = 0x40044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 IPV6_FLOWINFO_MASK = 0xfffffff IPV6_FLOWLABEL_MASK = 0xfffff diff --git a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go index bc8d539e..7d719117 100644 --- a/backend/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +++ b/backend/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -119,6 +119,8 @@ const ( IEXTEN = 0x8000 IN_CLOEXEC = 0x400000 IN_NONBLOCK = 0x4000 + IOCTL_MEI_NOTIFY_GET = 0x40044803 + IOCTL_MEI_NOTIFY_SET = 0x80044802 IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 IPV6_FLOWINFO_MASK = 0xfffffff IPV6_FLOWLABEL_MASK = 0xfffff diff --git a/backend/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/backend/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go index 439548ec..50e8e644 100644 --- a/backend/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +++ b/backend/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go @@ -104,7 +104,7 @@ type Statvfs_t struct { Fsid uint32 Namemax uint32 Owner uint32 - Spare [4]uint32 + Spare [4]uint64 Fstypename [32]byte Mntonname [1024]byte Mntfromname [1024]byte diff --git a/backend/vendor/modules.txt b/backend/vendor/modules.txt index 36c5ac3f..db103b77 100644 --- a/backend/vendor/modules.txt +++ b/backend/vendor/modules.txt @@ -7,7 +7,7 @@ github.com/Depado/bfchroma/v2 # github.com/PuerkitoBio/goquery v1.11.0 ## explicit; go 1.24.0 github.com/PuerkitoBio/goquery -# github.com/alecthomas/chroma/v2 v2.20.0 +# github.com/alecthomas/chroma/v2 v2.21.1 ## explicit; go 1.22 github.com/alecthomas/chroma/v2 github.com/alecthomas/chroma/v2/formatters/html @@ -56,7 +56,7 @@ github.com/go-chi/cors github.com/go-oauth2/oauth2/v4 github.com/go-oauth2/oauth2/v4/errors github.com/go-oauth2/oauth2/v4/server -# github.com/go-pkgz/auth/v2 v2.1.0 +# github.com/go-pkgz/auth/v2 v2.1.1 ## explicit; go 1.24.0 github.com/go-pkgz/auth/v2 github.com/go-pkgz/auth/v2/avatar @@ -91,8 +91,8 @@ github.com/go-pkgz/repeater/strategy # github.com/go-pkgz/repeater/v2 v2.2.0 ## explicit; go 1.23 github.com/go-pkgz/repeater/v2 -# github.com/go-pkgz/rest v1.20.4 -## explicit; go 1.23.0 +# github.com/go-pkgz/rest v1.20.6 +## explicit; go 1.24.0 github.com/go-pkgz/rest github.com/go-pkgz/rest/logger github.com/go-pkgz/rest/realip @@ -272,7 +272,7 @@ go.mongodb.org/mongo-driver/x/mongo/driver/wiremessage ## explicit; go 1.20 go.uber.org/goleak go.uber.org/goleak/internal/stack -# golang.org/x/crypto v0.45.0 +# golang.org/x/crypto v0.46.0 ## explicit; go 1.24.0 golang.org/x/crypto/acme golang.org/x/crypto/acme/autocert @@ -283,16 +283,16 @@ golang.org/x/crypto/blowfish golang.org/x/crypto/ocsp golang.org/x/crypto/pbkdf2 golang.org/x/crypto/scrypt -# golang.org/x/image v0.33.0 +# golang.org/x/image v0.34.0 ## explicit; go 1.24.0 golang.org/x/image/draw golang.org/x/image/math/f64 -# golang.org/x/net v0.47.0 +# golang.org/x/net v0.48.0 ## explicit; go 1.24.0 golang.org/x/net/html golang.org/x/net/html/atom golang.org/x/net/idna -# golang.org/x/oauth2 v0.33.0 +# golang.org/x/oauth2 v0.34.0 ## explicit; go 1.24.0 golang.org/x/oauth2 golang.org/x/oauth2/authhandler @@ -309,17 +309,17 @@ golang.org/x/oauth2/jws golang.org/x/oauth2/jwt golang.org/x/oauth2/microsoft golang.org/x/oauth2/yandex -# golang.org/x/sync v0.18.0 +# golang.org/x/sync v0.19.0 ## explicit; go 1.24.0 golang.org/x/sync/errgroup golang.org/x/sync/singleflight -# golang.org/x/sys v0.38.0 +# golang.org/x/sys v0.39.0 ## explicit; go 1.24.0 golang.org/x/sys/cpu golang.org/x/sys/unix golang.org/x/sys/windows golang.org/x/sys/windows/registry -# golang.org/x/text v0.31.0 +# golang.org/x/text v0.32.0 ## explicit; go 1.24.0 golang.org/x/text/secure/bidirule golang.org/x/text/transform