From 97512e643e018a8955d60cb682b128694d4a40fc Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Tue, 20 Jan 2026 18:05:30 +0900 Subject: [PATCH 1/4] Silence server listening message on `server inbox` --- packages/cli/src/tempserver.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/tempserver.ts b/packages/cli/src/tempserver.ts index de796f2a7..3efc58157 100644 --- a/packages/cli/src/tempserver.ts +++ b/packages/cli/src/tempserver.ts @@ -23,7 +23,8 @@ export async function spawnTemporaryServer( const server = serve({ port: serverPort, hostname: "::", - fetch: fetch, + silent: true, + fetch, }); await server.ready(); const url = new URL(server.url!); @@ -65,6 +66,7 @@ export async function spawnTemporaryServer( }, port: serverPort, hostname: "::", + silent: true, }); await server.ready(); From 2938134debe15c99c16b7dacde71ce26d6984ab2 Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Tue, 20 Jan 2026 18:13:16 +0900 Subject: [PATCH 2/4] Fix `fedify inbox` without `-T`/`--no-tunnel` It had always responded with empty payloads unless it's run with `-T`/`--no-tunnel` option. --- packages/cli/src/tempserver.ts | 50 +++++++++++++++++----------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/cli/src/tempserver.ts b/packages/cli/src/tempserver.ts index 3efc58157..e3765cbf3 100644 --- a/packages/cli/src/tempserver.ts +++ b/packages/cli/src/tempserver.ts @@ -42,31 +42,34 @@ export async function spawnTemporaryServer( } const server = serve({ - fetch: (request) => { - const url = new URL(request.url); - url.protocol = "https:"; - request = new Request(url, { - method: request.method, - headers: request.headers, - body: request.method === "GET" || request.method === "HEAD" - ? null - : request.body, - referrer: request.referrer, - referrerPolicy: request.referrerPolicy, - mode: request.mode, - credentials: request.credentials, - cache: request.cache, - redirect: request.redirect, - integrity: request.integrity, - keepalive: request.keepalive, - signal: request.signal, - }); + fetch: "Deno" in globalThis + ? (request) => { + const url = new URL(request.url); + url.protocol = "https:"; + request = new Request(url, { + method: request.method, + headers: request.headers, + body: request.method === "GET" || request.method === "HEAD" + ? null + : request.body, + referrer: request.referrer, + referrerPolicy: request.referrerPolicy, + mode: request.mode, + credentials: request.credentials, + cache: request.cache, + redirect: request.redirect, + integrity: request.integrity, + keepalive: request.keepalive, + signal: request.signal, + }); - return new Response(); - }, + return fetch(request); + } + : fetch, port: serverPort, hostname: "::", silent: true, + protocol: "https", }); await server.ready(); @@ -76,10 +79,7 @@ export async function spawnTemporaryServer( logger.debug("Temporary server is listening on port {port}.", { port }); const tun = await openTunnel({ port: parseInt(port) }); - logger.debug( - "Temporary server is tunneled to {url}.", - { url: tun.url.href }, - ); + logger.debug("Temporary server is tunneled to {url}.", { url: tun.url.href }); return { url: tun.url, From 3b758e3118eb355b666d1ac86bf9221b818759ce Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Tue, 20 Jan 2026 18:25:55 +0900 Subject: [PATCH 3/4] Avoid reassigning function parameters https://github.com/fedify-dev/fedify/pull/528#discussion_r2707474942 --- packages/cli/src/tempserver.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/tempserver.ts b/packages/cli/src/tempserver.ts index e3765cbf3..1ec8f9f45 100644 --- a/packages/cli/src/tempserver.ts +++ b/packages/cli/src/tempserver.ts @@ -46,7 +46,7 @@ export async function spawnTemporaryServer( ? (request) => { const url = new URL(request.url); url.protocol = "https:"; - request = new Request(url, { + const newRequest = new Request(url, { method: request.method, headers: request.headers, body: request.method === "GET" || request.method === "HEAD" @@ -63,7 +63,7 @@ export async function spawnTemporaryServer( signal: request.signal, }); - return fetch(request); + return fetch(newRequest); } : fetch, port: serverPort, From fdf809bb1362074177febf26816cc8e31d97a7b6 Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Tue, 20 Jan 2026 18:27:19 +0900 Subject: [PATCH 4/4] Comment to explain why rewrite request URLs It explains the reason why we need to manually rewrite the request URL on Deno. https://github.com/fedify-dev/fedify/pull/528#discussion_r2707474937 --- packages/cli/src/tempserver.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/cli/src/tempserver.ts b/packages/cli/src/tempserver.ts index 1ec8f9f45..049cc2971 100644 --- a/packages/cli/src/tempserver.ts +++ b/packages/cli/src/tempserver.ts @@ -42,6 +42,8 @@ export async function spawnTemporaryServer( } const server = serve({ + // Note that `protocol: "https"` does not work on Deno, so we need to + // manually rewrite the request URL to use https: on Deno: fetch: "Deno" in globalThis ? (request) => { const url = new URL(request.url);