diff --git a/packages/backend/src/config/app.js b/packages/backend/src/config/app.js index de3f5f9f..20a2765f 100644 --- a/packages/backend/src/config/app.js +++ b/packages/backend/src/config/app.js @@ -89,6 +89,7 @@ const appConfig = { sentryDsn: process.env.SENTRY_DSN, CI: process.env.CI === 'true', disableNotificationsPage: process.env.DISABLE_NOTIFICATIONS_PAGE === 'true', + disableFavicon: process.env.DISABLE_FAVICON === 'true', }; if (!appConfig.encryptionKey) { diff --git a/packages/backend/src/graphql/queries/get-config.ee.js b/packages/backend/src/graphql/queries/get-config.ee.js index cb4091a0..e3c76053 100644 --- a/packages/backend/src/graphql/queries/get-config.ee.js +++ b/packages/backend/src/graphql/queries/get-config.ee.js @@ -4,6 +4,7 @@ import Config from '../../models/config.js'; const defaultConfig = { disableNotificationsPage: appConfig.disableNotificationsPage, + disableFavicon: appConfig.disableFavicon, }; const getConfig = async (_parent, params) => { diff --git a/packages/docs/pages/advanced/configuration.md b/packages/docs/pages/advanced/configuration.md index e971f059..a6635034 100644 --- a/packages/docs/pages/advanced/configuration.md +++ b/packages/docs/pages/advanced/configuration.md @@ -43,3 +43,4 @@ Please be careful with the `ENCRYPTION_KEY` and `WEBHOOK_SECRET_KEY` environment | `BULLMQ_DASHBOARD_USERNAME` | string | | Username to login BullMQ Dashboard | | `BULLMQ_DASHBOARD_PASSWORD` | string | | Password to login BullMQ Dashboard | | `DISABLE_NOTIFICATIONS_PAGE` | boolean | `false` | Enable/Disable notifications page | +| `DISABLE_FAVICON` | boolean | `false` | Enable/Disable favicon | diff --git a/packages/web/public/favicon.ico b/packages/web/public/browser-tab.ico similarity index 100% rename from packages/web/public/favicon.ico rename to packages/web/public/browser-tab.ico diff --git a/packages/web/public/index.html b/packages/web/public/index.html index 6663f427..e253ac47 100644 --- a/packages/web/public/index.html +++ b/packages/web/public/index.html @@ -2,7 +2,6 @@ - { + const existingFaviconElement = document.querySelector( + "link[rel~='icon']" + ) as HTMLLinkElement | null; + + if (config?.disableFavicon === true) { + existingFaviconElement?.remove(); + } + + if (config?.disableFavicon === false) { + if (existingFaviconElement) { + existingFaviconElement.href = '/browser-tab.ico'; + } else { + const newFaviconElement = document.createElement('link'); + newFaviconElement.rel = 'icon'; + document.head.appendChild(newFaviconElement); + newFaviconElement.href = '/browser-tab.ico'; + } + } + }, [config?.disableFavicon]); + return <>{children}; };