Skip to content

Commit 064df57

Browse files
author
ca.mathieu
committed
chore(release): prepare 1.4.1
- Add changelog/1.4.1 - Update Helm chart CHANGELOG - Update README.md version references - Bump Go to 1.26.1 - Bump Alpine base image to 3.23 - Bump direct dependencies (minio-go, go-sdk, oauth2, google API) - Improve cut-release workflow
1 parent 1b3148f commit 064df57

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+3335
-677
lines changed

.agent/workflows/cut-release.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -49,45 +49,45 @@ Focus on `high` and `critical` severity — `moderate` and below can be noted bu
4949

5050
If vulnerabilities are found, present them to the user and discuss whether to fix, bump, or acknowledge before proceeding.
5151

52+
**Go version bump**: Always check the latest available Go patch version by looking up the [Go downloads page](https://go.dev/dl/) or probing `curl -sI https://go.dev/dl/go<version>.linux-amd64.tar.gz | head -1`. If a newer patch version exists than what `go.mod` currently specifies, propose bumping the `go.mod` Go directive. Include the `go.mod` change in the release commit and use the newer version in the changelog. This ensures the CI Docker image (`golang:1-bookworm`) builds with the latest patched Go version.
53+
5254
**⏸️ Present the vulnerability scan results. Wait for user confirmation before proceeding.**
5355

5456
### 2. Check dependency freshness
5557

5658
Run a dependency audit to identify available updates:
5759

5860
```bash
59-
go list -m -u all 2>&1 | grep '\[v'
61+
go list -mod=mod -m -u all 2>&1 | grep '\[v'
6062
```
6163

64+
> [!IMPORTANT]
65+
> The `-mod=mod` flag is required because Plik vendors its dependencies. Without it, `go list -u` silently fails in vendored projects.
66+
6267
Categorize the output:
6368
- **Direct dependencies** — listed in `go.mod` with no `// indirect` comment
6469
- **Indirect dependencies** — transitive deps, lower priority
6570

66-
This step is **informational only** — it is not a release blocker. If significant updates are available (especially security-related), discuss with the user whether to address them before the release.
67-
68-
> [!TIP]
69-
> `govulncheck` (from step 1) already flags dependencies with known CVEs. This step complements it by showing all available updates regardless of vulnerability status.
71+
For each outdated **direct** dependency, check the release notes or changelog for breaking changes or notable behavior changes. Present a summary table of available updates (module, current version, available version, any breaking changes noted) and let the user decide which to bump. After bumping, run `go mod tidy && go mod vendor` and verify the build compiles.
7072

7173
**⏸️ Present the dependency audit summary. Wait for user confirmation before proceeding.**
7274

7375
### 3. Check build pipeline versions
7476

75-
Before starting the release, check if newer versions are available for the base images in the `Dockerfile`:
77+
Before starting the release, actively check for newer versions of all base images in the `Dockerfile` and propose updates:
7678

77-
| Image | Current | Check |
78-
|-------|---------|-------|
79-
| `node:<major>-alpine` | `node:24-alpine` | [Node.js releases](https://nodejs.org/en/about/previous-releases) — check for new LTS major |
80-
| `golang:1-bookworm` | Resolves to latest Go 1.x | Run `docker run --rm golang:1-bookworm go version` to see the current Go version |
81-
| `alpine:<version>` | `alpine:3.21` | [Alpine releases](https://alpinelinux.org/releases/) — check for new stable |
79+
| Image | How to check |
80+
|-------|-------------|
81+
| `node:<major>-alpine` | Search for the current Node.js LTS schedule. If a newer LTS major exists, propose updating the Dockerfile. |
82+
| `golang:1-bookworm` | The Go version was already checked in Step 1. Ensure `go.mod` is bumped to the latest patch. |
83+
| `alpine:<version>` | Search for the latest Alpine stable release. If a newer minor/patch exists, propose updating the Dockerfile. |
8284

83-
Also check:
84-
- `go.mod` Go directive — does it match the Go version from the image?
85-
- Locally installed Go: `go version`
85+
**All three must be checked every release.** If any updates are available, propose the Dockerfile changes and include them in the release commit. Do not treat this step as informational — outdated base images should be bumped.
8686

87-
If any updates are available, propose a Dockerfile update and include it in the release commit.
87+
Also verify that the `go.mod` Go directive matches the version that `golang:1-bookworm` will resolve to in CI.
8888

8989
> [!TIP]
90-
> The Go version from this step is needed for the changelog ("Binaries will be built with Go X.Y.Z").
90+
> The Go version from Step 1 is needed for the changelog ("Binaries will be built with Go X.Y.Z").
9191
9292
**⏸️ Present findings to the user. Wait for confirmation before proceeding.**
9393

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ FROM scratch AS plik-release-archive
7070
COPY --from=plik-builder --chown=1000:1000 /go/src/github.com/root-gg/plik/plik-server-*.tar.gz /
7171

7272
##################################################################################
73-
FROM alpine:3.21 AS plik-image
73+
FROM alpine:3.23 AS plik-image
7474

7575
RUN apk add --no-cache ca-certificates
7676

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ lint:
7979
if [[ -z "$$OUT" ]]; then echo " OK" ; else echo " FAIL"; echo "$$OUT"; FAIL=1 ; fi ;\
8080
echo -n " - go vet :" ; OUT=`go vet ./... 2>&1` ; \
8181
if [[ -z "$$OUT" ]]; then echo " OK" ; else echo " FAIL"; echo "$$OUT"; FAIL=1 ; fi ;\
82-
echo -n " - go fix :" ; OUT=`go fix ./... 2>&1` ; \
83-
if [[ -z "$$OUT" ]]; then echo " OK" ; else echo " FAIL"; echo "$$OUT"; FAIL=1 ; fi ;\
82+
echo -n " - go fix :" ; BEFORE=`git diff --name-only` ; go fix ./... 2>&1 ; AFTER=`git diff --name-only` ; \
83+
if [[ "$$BEFORE" == "$$AFTER" ]]; then echo " OK" ; else echo " FAIL"; diff <(echo "$$BEFORE") <(echo "$$AFTER") | grep '^>' | sed 's/^> / /'; FAIL=1 ; fi ;\
8484
test $$FAIL -eq 0
8585

8686
###

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ Plik is a scalable & friendly temporary file upload system — like WeTransfer,
4444
docker run -p 8080:8080 rootgg/plik
4545

4646
# From release
47-
wget https://github.com/root-gg/plik/releases/download/1.4.0/plik-server-1.4.0-linux-amd64.tar.gz
48-
tar xzvf plik-server-1.4.0-linux-amd64.tar.gz
49-
cd plik-server-1.4.0-linux-amd64/server && ./plikd
47+
wget https://github.com/root-gg/plik/releases/download/1.4.1/plik-server-1.4.1-linux-amd64.tar.gz
48+
tar xzvf plik-server-1.4.1-linux-amd64.tar.gz
49+
cd plik-server-1.4.1-linux-amd64/server && ./plikd
5050

5151
# Debian / Ubuntu
5252
curl -fsSL https://root-gg.github.io/plik/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/plik.gpg

changelog/1.4.1

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
Plik 1.4.1
2+
3+
Hi, today we're releasing Plik 1.4.1 !
4+
5+
Here is the changelog :
6+
7+
New :
8+
- Inline video and audio playback in file viewer (@bodji)
9+
- URL deep-linking for file viewer and media timestamps (@bodji)
10+
- Runtime settings and webapp customization (branding, themes, custom footer)
11+
- 10 built-in themes with dark/light/auto mode and user preference persistence
12+
- Improvemets in Home and Admin view (error handling, filtering, bulk token uploads deletion,...)
13+
- Show removed/deleted files in download view and Home/Admin views
14+
- Configurable streaming timeout, cancellation, and retry
15+
16+
Fix :
17+
- Reject E2EE uploads with empty passphrase
18+
- Fix file deletion on versioned S3 buckets (#673)
19+
- Restore backward compat when only DownloadDomain is set (#676)
20+
- Improve mimetype detection with gabriel-vasile/mimetype (#678)
21+
- Prevent text editor auto-detection from overwriting user-edited filename (#677)
22+
- Close file viewer when viewed file is deleted (#675)
23+
- Unify error display with reusable components (#679)
24+
25+
Misc :
26+
- Bump Alpine base image to 3.23
27+
- Bump Go to 1.26.1 (fixes 5 stdlib vulnerabilities)
28+
- Bump minio-go to v7.0.99
29+
- Bump MCP go-sdk to v1.4.0
30+
- Bump golang.org/x/oauth2 to v0.36.0
31+
- Bump google.golang.org/api to v0.269.0
32+
33+
Binaries will be built with Go 1.26.1
34+
35+
Faithfully,
36+
The Plik team

charts/plik/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.4.1]
9+
10+
### Changed
11+
- New `StreamTimeoutStr` server config option (configurable streaming download timeout)
12+
- `DownloadDomain` behavior fix: UI/API restriction only applies when `PlikDomain` is also set
13+
- `settings.json` footer support (custom HTML footer takes precedence over `AbuseContact`)
14+
815
## [1.4.0]
916

1017
### Added

go.mod

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/root-gg/plik
22

3-
go 1.26.0
3+
go 1.26.1
44

55
require (
66
cloud.google.com/go/storage v1.60.0
@@ -18,9 +18,9 @@ require (
1818
github.com/iancoleman/strcase v0.3.0
1919
github.com/jinzhu/copier v0.4.0
2020
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0
21-
github.com/minio/minio-go/v7 v7.0.98
21+
github.com/minio/minio-go/v7 v7.0.99
2222
github.com/mitchellh/go-homedir v1.1.0
23-
github.com/modelcontextprotocol/go-sdk v1.3.1
23+
github.com/modelcontextprotocol/go-sdk v1.4.0
2424
github.com/ncw/swift v1.0.53
2525
github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d
2626
github.com/pilagod/gorm-cursor-paginator/v2 v2.7.0
@@ -32,8 +32,8 @@ require (
3232
github.com/stretchr/testify v1.11.1
3333
github.com/xhit/go-str2duration/v2 v2.1.0
3434
golang.org/x/crypto v0.48.0
35-
golang.org/x/oauth2 v0.35.0
36-
google.golang.org/api v0.267.0
35+
golang.org/x/oauth2 v0.36.0
36+
google.golang.org/api v0.269.0
3737
gorm.io/driver/mysql v1.6.0
3838
gorm.io/driver/postgres v1.6.0
3939
gorm.io/driver/sqlite v1.6.0
@@ -44,7 +44,7 @@ require (
4444
require (
4545
cel.dev/expr v0.25.1 // indirect
4646
cloud.google.com/go v0.123.0 // indirect
47-
cloud.google.com/go/auth v0.18.1 // indirect
47+
cloud.google.com/go/auth v0.18.2 // indirect
4848
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
4949
cloud.google.com/go/compute/metadata v0.9.0 // indirect
5050
cloud.google.com/go/iam v1.5.3 // indirect
@@ -70,7 +70,7 @@ require (
7070
github.com/google/jsonschema-go v0.4.2 // indirect
7171
github.com/google/s2a-go v0.1.9 // indirect
7272
github.com/google/uuid v1.6.0 // indirect
73-
github.com/googleapis/enterprise-certificate-proxy v0.3.11 // indirect
73+
github.com/googleapis/enterprise-certificate-proxy v0.3.12 // indirect
7474
github.com/googleapis/gax-go/v2 v2.17.0 // indirect
7575
github.com/inconshreveable/mousetrap v1.1.0 // indirect
7676
github.com/jackc/pgpassfile v1.0.0 // indirect
@@ -111,14 +111,14 @@ require (
111111
go.opentelemetry.io/otel/trace v1.40.0 // indirect
112112
go.yaml.in/yaml/v2 v2.4.2 // indirect
113113
go.yaml.in/yaml/v3 v3.0.4 // indirect
114-
golang.org/x/net v0.49.0 // indirect
114+
golang.org/x/net v0.50.0 // indirect
115115
golang.org/x/sync v0.19.0 // indirect
116116
golang.org/x/sys v0.41.0 // indirect
117117
golang.org/x/text v0.34.0 // indirect
118118
golang.org/x/time v0.14.0 // indirect
119119
google.golang.org/genproto v0.0.0-20260128011058-8636f8732409 // indirect
120120
google.golang.org/genproto/googleapis/api v0.0.0-20260203192932-546029d2fa20 // indirect
121-
google.golang.org/genproto/googleapis/rpc v0.0.0-20260203192932-546029d2fa20 // indirect
121+
google.golang.org/genproto/googleapis/rpc v0.0.0-20260217215200-42d3e9bedb6d // indirect
122122
google.golang.org/grpc v1.79.1 // indirect
123123
google.golang.org/protobuf v1.36.11 // indirect
124124
gopkg.in/cheggaaa/pb.v1 v1.0.28 // indirect

go.sum

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOY
1919
cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
2020
cloud.google.com/go v0.123.0 h1:2NAUJwPR47q+E35uaJeYoNhuNEM9kM8SjgRgdeOJUSE=
2121
cloud.google.com/go v0.123.0/go.mod h1:xBoMV08QcqUGuPW65Qfm1o9Y4zKZBpGS+7bImXLTAZU=
22-
cloud.google.com/go/auth v0.18.1 h1:IwTEx92GFUo2pJ6Qea0EU3zYvKnTAeRCODxfA/G5UWs=
23-
cloud.google.com/go/auth v0.18.1/go.mod h1:GfTYoS9G3CWpRA3Va9doKN9mjPGRS+v41jmZAhBzbrA=
22+
cloud.google.com/go/auth v0.18.2 h1:+Nbt5Ev0xEqxlNjd6c+yYUeosQ5TtEUaNcN/3FozlaM=
23+
cloud.google.com/go/auth v0.18.2/go.mod h1:xD+oY7gcahcu7G2SG2DsBerfFxgPAJz17zz2joOFF3M=
2424
cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc=
2525
cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c=
2626
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
@@ -232,8 +232,8 @@ github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0=
232232
github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM=
233233
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
234234
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
235-
github.com/googleapis/enterprise-certificate-proxy v0.3.11 h1:vAe81Msw+8tKUxi2Dqh/NZMz7475yUvmRIkXr4oN2ao=
236-
github.com/googleapis/enterprise-certificate-proxy v0.3.11/go.mod h1:RFV7MUdlb7AgEq2v7FmMCfeSMCllAzWxFgRdusoGks8=
235+
github.com/googleapis/enterprise-certificate-proxy v0.3.12 h1:Fg+zsqzYEs1ZnvmcztTYxhgCBsx3eEhEwQ1W/lHq/sQ=
236+
github.com/googleapis/enterprise-certificate-proxy v0.3.12/go.mod h1:vqVt9yG9480NtzREnTlmGSBmFrA+bzb0yl0TxoBQXOg=
237237
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
238238
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
239239
github.com/googleapis/gax-go/v2 v2.17.0 h1:RksgfBpxqff0EZkDWYuz9q/uWsTVz+kf43LsZ1J6SMc=
@@ -364,12 +364,12 @@ github.com/minio/crc64nvme v1.1.1 h1:8dwx/Pz49suywbO+auHCBpCtlW1OfpcLN7wYgVR6wAI
364364
github.com/minio/crc64nvme v1.1.1/go.mod h1:eVfm2fAzLlxMdUGc0EEBGSMmPwmXD5XiNRpnu9J3bvg=
365365
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
366366
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
367-
github.com/minio/minio-go/v7 v7.0.98 h1:MeAVKjLVz+XJ28zFcuYyImNSAh8Mq725uNW4beRisi0=
368-
github.com/minio/minio-go/v7 v7.0.98/go.mod h1:cY0Y+W7yozf0mdIclrttzo1Iiu7mEf9y7nk2uXqMOvM=
367+
github.com/minio/minio-go/v7 v7.0.99 h1:2vH/byrwUkIpFQFOilvTfaUpvAX3fEFhEzO+DR3DlCE=
368+
github.com/minio/minio-go/v7 v7.0.99/go.mod h1:EtGNKtlX20iL2yaYnxEigaIvj0G0GwSDnifnG8ClIdw=
369369
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
370370
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
371-
github.com/modelcontextprotocol/go-sdk v1.3.1 h1:TfqtNKOIWN4Z1oqmPAiWDC2Jq7K9OdJaooe0teoXASI=
372-
github.com/modelcontextprotocol/go-sdk v1.3.1/go.mod h1:DgVX498dMD8UJlseK1S5i1T4tFz2fkBk4xogC3D15nw=
371+
github.com/modelcontextprotocol/go-sdk v1.4.0 h1:u0kr8lbJc1oBcawK7Df+/ajNMpIDFE41OEPxdeTLOn8=
372+
github.com/modelcontextprotocol/go-sdk v1.4.0/go.mod h1:Nxc2n+n/GdCebUaqCOhTetptS17SXXNu9IfNTaLDi1E=
373373
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
374374
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
375375
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
@@ -619,8 +619,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
619619
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
620620
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
621621
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
622-
golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o=
623-
golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8=
622+
golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60=
623+
golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM=
624624
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
625625
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
626626
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -630,8 +630,8 @@ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ
630630
golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
631631
golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I=
632632
golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
633-
golang.org/x/oauth2 v0.35.0 h1:Mv2mzuHuZuY2+bkyWXIHMfhNdJAdwW3FuWeCPYN5GVQ=
634-
golang.org/x/oauth2 v0.35.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
633+
golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs=
634+
golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q=
635635
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
636636
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
637637
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -795,8 +795,8 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M
795795
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
796796
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
797797
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
798-
google.golang.org/api v0.267.0 h1:w+vfWPMPYeRs8qH1aYYsFX68jMls5acWl/jocfLomwE=
799-
google.golang.org/api v0.267.0/go.mod h1:Jzc0+ZfLnyvXma3UtaTl023TdhZu6OMBP9tJ+0EmFD0=
798+
google.golang.org/api v0.269.0 h1:qDrTOxKUQ/P0MveH6a7vZ+DNHxJQjtGm/uvdbdGXCQg=
799+
google.golang.org/api v0.269.0/go.mod h1:N8Wpcu23Tlccl0zSHEkcAZQKDLdquxK+l9r2LkwAauE=
800800
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
801801
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
802802
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -837,8 +837,8 @@ google.golang.org/genproto v0.0.0-20260128011058-8636f8732409 h1:VQZ/yAbAtjkHgH8
837837
google.golang.org/genproto v0.0.0-20260128011058-8636f8732409/go.mod h1:rxKD3IEILWEu3P44seeNOAwZN4SaoKaQ/2eTg4mM6EM=
838838
google.golang.org/genproto/googleapis/api v0.0.0-20260203192932-546029d2fa20 h1:7ei4lp52gK1uSejlA8AZl5AJjeLUOHBQscRQZUgAcu0=
839839
google.golang.org/genproto/googleapis/api v0.0.0-20260203192932-546029d2fa20/go.mod h1:ZdbssH/1SOVnjnDlXzxDHK2MCidiqXtbYccJNzNYPEE=
840-
google.golang.org/genproto/googleapis/rpc v0.0.0-20260203192932-546029d2fa20 h1:Jr5R2J6F6qWyzINc+4AM8t5pfUz6beZpHp678GNrMbE=
841-
google.golang.org/genproto/googleapis/rpc v0.0.0-20260203192932-546029d2fa20/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ=
840+
google.golang.org/genproto/googleapis/rpc v0.0.0-20260217215200-42d3e9bedb6d h1:t/LOSXPJ9R0B6fnZNyALBRfZBH0Uy0gT+uR+SJ6syqQ=
841+
google.golang.org/genproto/googleapis/rpc v0.0.0-20260217215200-42d3e9bedb6d/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
842842
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
843843
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
844844
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=

server/handlers/get_archive_test.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"errors"
77
"io"
88
"net/http"
9+
"strings"
910

1011
"testing"
1112

@@ -119,18 +120,18 @@ func TestGetArchiveFileNameTooLong(t *testing.T) {
119120
upload := &common.Upload{}
120121
ctx.SetUpload(upload)
121122

122-
archiveName := ""
123+
var archiveName strings.Builder
123124
for range 10240 {
124-
archiveName += "x"
125+
archiveName.WriteString("x")
125126
}
126-
archiveName += ".zip"
127+
archiveName.WriteString(".zip")
127128

128-
req, err := http.NewRequest("GET", "/archive/"+upload.ID+"/"+archiveName, bytes.NewBuffer([]byte{}))
129+
req, err := http.NewRequest("GET", "/archive/"+upload.ID+"/"+archiveName.String(), bytes.NewBuffer([]byte{}))
129130
require.NoError(t, err, "unable to create new request")
130131

131132
// Fake gorilla/mux vars
132133
vars := map[string]string{
133-
"filename": archiveName,
134+
"filename": archiveName.String(),
134135
}
135136
req = mux.SetURLVars(req, vars)
136137

vendor/cloud.google.com/go/auth/CHANGES.md

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)