diff --git a/.github/workflows/static-checks.yml b/.github/workflows/static-checks.yml index 1415aab..270f023 100644 --- a/.github/workflows/static-checks.yml +++ b/.github/workflows/static-checks.yml @@ -245,6 +245,15 @@ jobs: if: needs.changes.outputs.root_code == 'true' run: pnpm typecheck:scripts + - name: Build Worker performance-budget prerequisites + run: | + pnpm exec turbo run build \ + --filter=@cheatcode/agent-worker \ + --filter=@cheatcode/artifact-worker \ + --filter=@cheatcode/gateway-worker \ + --filter=@cheatcode/preview-proxy \ + --filter=@cheatcode/webhooks-worker + - name: Check Worker performance budgets run: pnpm worker:performance-budgets diff --git a/apps/artifact-worker/src/output-routes.ts b/apps/artifact-worker/src/output-routes.ts index 42fb859..df59df7 100644 --- a/apps/artifact-worker/src/output-routes.ts +++ b/apps/artifact-worker/src/output-routes.ts @@ -137,12 +137,14 @@ function outputHeaders(object: R2Object, filename: string, mimeType: string): He } function normalizedRange(range: R2Range, size: number): { length: number; offset: number } { - if ("suffix" in range) { + if ("suffix" in range && typeof range.suffix === "number") { const length = Math.min(range.suffix, size); return { length, offset: size - length }; } - const offset = range.offset ?? 0; - return { length: Math.min(range.length ?? size - offset, size - offset), offset }; + const offset = "offset" in range && typeof range.offset === "number" ? range.offset : 0; + const requestedLength = + "length" in range && typeof range.length === "number" ? range.length : size - offset; + return { length: Math.min(requestedLength, size - offset), offset }; } function setPrivateDownloadHeaders(headers: Headers): void {