diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index fc0b8d82..cac17f71 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -33,7 +33,7 @@ jobs: - name: Setup Deno uses: denoland/setup-deno@v1 with: - deno-version: v2.1.9 + deno-version: v2.2.0 - name: Run bundle build run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6c9ee897..287fe939 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,7 @@ jobs: - name: Setup Deno uses: denoland/setup-deno@v2 with: - deno-version: v2.1 + deno-version: v2.2 - name: Run build run: deno task build - name: Bundle diff --git a/.github/workflows/server.yml b/.github/workflows/server.yml index e1756193..39997055 100644 --- a/.github/workflows/server.yml +++ b/.github/workflows/server.yml @@ -16,7 +16,7 @@ jobs: - name: Setup Deno uses: denoland/setup-deno@v2 with: - deno-version: v2.1 + deno-version: v2.2 - name: Build bundles run: | diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d1633494..a6824d36 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,7 +20,7 @@ jobs: - name: Setup Deno uses: denoland/setup-deno@v2 with: - deno-version: v2.1 + deno-version: v2.2 - name: Run build run: deno task build diff --git a/.gitpod.Dockerfile b/.gitpod.Dockerfile index 96834ad4..5c5836ae 100644 --- a/.gitpod.Dockerfile +++ b/.gitpod.Dockerfile @@ -1,6 +1,6 @@ FROM gitpod/workspace-full:latest -RUN curl -fsSL https://deno.land/x/install/install.sh | sh -s v2.1.9 +RUN curl -fsSL https://deno.land/x/install/install.sh | sh -s v2.2.0 RUN /home/gitpod/.deno/bin/deno completions bash > /home/gitpod/.bashrc.d/90-deno && \ echo 'export DENO_INSTALL="/home/gitpod/.deno"' >> /home/gitpod/.bashrc.d/90-deno && \ echo 'export PATH="$DENO_INSTALL/bin:$PATH"' >> /home/gitpod/.bashrc.d/90-deno diff --git a/Dockerfile b/Dockerfile index dbe77471..7beb2c6d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM denoland/deno:debian-2.1.9 +FROM denoland/deno:debian-2.2.0 # The volume that will keep the space data diff --git a/server/http_server.ts b/server/http_server.ts index 592ba068..51536e5a 100644 --- a/server/http_server.ts +++ b/server/http_server.ts @@ -225,7 +225,7 @@ export class HttpServer { if (typeof response.body === "string") { return ctx.text(response.body); } else if (response.body instanceof Uint8Array) { - return ctx.body(response.body); + return ctx.body(response.body.buffer as ArrayBuffer); } else { return ctx.json(response.body); } @@ -268,7 +268,7 @@ export class HttpServer { } c.status(200); c.header("Content-type", this.clientAssetBundle.getMimeType(assetName)); - let data: Uint8Array | string = this.clientAssetBundle.readFileSync( + let data = this.clientAssetBundle.readFileSync( assetName, ); c.header("Content-length", "" + data.length); @@ -286,7 +286,7 @@ export class HttpServer { // console.log( // "Swapping out config hash in service worker", // ); - data = textData.replaceAll( + return Promise.resolve(c.body(textData.replaceAll( "{{CONFIG_HASH}}", base64Encode( JSON.stringify([ @@ -295,9 +295,10 @@ export class HttpServer { this.spaceServer.enableSpaceScript, ]), ), - ); + ))); + } else { + return Promise.resolve(c.body(new Uint8Array(data).buffer)); } - return Promise.resolve(c.body(data)); } // else e.g. HEAD, OPTIONS, don't send body } catch { return next(); @@ -632,7 +633,7 @@ export class HttpServer { ) { return c.body(null, 304); } - return c.body(fileData.data, 200, { + return c.body(new Uint8Array(fileData.data).buffer, 200, { ...this.fileMetaToHeaders(fileData.meta), "Last-Modified": lastModifiedHeader, });