diff --git a/packages/backend/package.json b/packages/backend/package.json index 888eb9740..157f216b2 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -75,6 +75,7 @@ "koa": "2.13.4", "koa-body": "^6.0.1", "koa-bodyparser": "4.3.0", + "koa-favicon": "2.1.0", "koa-json-body": "5.3.0", "koa-logger": "3.2.1", "koa-mount": "4.0.0", diff --git a/packages/backend/src/server/web/index.ts b/packages/backend/src/server/web/index.ts index 028170cd7..642a17d57 100644 --- a/packages/backend/src/server/web/index.ts +++ b/packages/backend/src/server/web/index.ts @@ -8,11 +8,13 @@ import { readFileSync } from "node:fs"; import Koa from "koa"; import Router from "@koa/router"; import send from "koa-send"; +import favicon from "koa-favicon"; import views from "koa-views"; import sharp from "sharp"; import { createBullBoard } from "@bull-board/api"; import { BullAdapter } from "@bull-board/api/bullAdapter.js"; import { KoaAdapter } from "@bull-board/koa"; + import { In, IsNull } from "typeorm"; import { fetchMeta } from "@/misc/fetch-meta.js"; import config from "@/config/index.js"; @@ -96,14 +98,8 @@ app.use( }), ); -// Favicon Router -app.use(async (ctx, next) => { - if (ctx.path != "/favicon.ico") return next(); - const meta = await fetchMeta(); - if (meta.iconUrl === "") - ctx.body = readFileSync(`${_dirname}/../../../assets/favicon.ico`); - else ctx.redirect(meta.iconUrl); -}); +// Serve favicon +app.use(favicon(`${_dirname}/../../../assets/favicon.ico`)); // Common request handler app.use(async (ctx, next) => {