From 1e78e8668c8d9e48f9a6777157229f0107c519e0 Mon Sep 17 00:00:00 2001 From: scamiv <6170744+scamiv@users.noreply.github.com> Date: Sun, 22 Mar 2026 17:26:17 +0100 Subject: [PATCH] Fix runtime asset manifest loading in prod --- src/server/PublicAssetManifest.ts | 3 +++ src/server/RuntimeAssetManifest.ts | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/server/PublicAssetManifest.ts b/src/server/PublicAssetManifest.ts index 34182132c..85e79b4f3 100644 --- a/src/server/PublicAssetManifest.ts +++ b/src/server/PublicAssetManifest.ts @@ -14,10 +14,13 @@ const HASHED_PUBLIC_ASSET_GLOBS = [ "manifest.json", "cosmetics/**/*", "flags/**/*", + "fonts/**/*", "icons/**/*", "images/**/*", "lang/**/*", "maps/**/*", + "sounds/**/*", + "sprites/**/*", ] as const; const ROOT_PUBLIC_FILES = new Set([ diff --git a/src/server/RuntimeAssetManifest.ts b/src/server/RuntimeAssetManifest.ts index 3e4916ed8..24fdeed7a 100644 --- a/src/server/RuntimeAssetManifest.ts +++ b/src/server/RuntimeAssetManifest.ts @@ -1,3 +1,4 @@ +import fs from "fs"; import path from "path"; import { fileURLToPath, pathToFileURL } from "url"; import type { AssetManifest } from "../core/AssetUrls"; @@ -23,11 +24,13 @@ async function importRuntimeAssetManifest( } export async function getRuntimeAssetManifest(): Promise { - if (process.env.GAME_ENV !== "prod") { + if (!fs.existsSync(manifestPath)) { return {}; } - manifestPromise ??= importRuntimeAssetManifest(manifestVersion); + manifestPromise ??= importRuntimeAssetManifest(manifestVersion).catch( + () => ({}), + ); return manifestPromise; }