diff --git a/packages/@n8n/api-types/src/frontend-settings.ts b/packages/@n8n/api-types/src/frontend-settings.ts index 09e662a8c7..809dc68daa 100644 --- a/packages/@n8n/api-types/src/frontend-settings.ts +++ b/packages/@n8n/api-types/src/frontend-settings.ts @@ -163,6 +163,9 @@ export interface FrontendSettings { folders: { enabled: boolean; }; + logsView: { + enabled: boolean; + }; banners: { dismissed: string[]; }; diff --git a/packages/cli/src/config/schema.ts b/packages/cli/src/config/schema.ts index e98c6754a1..5905741cbb 100644 --- a/packages/cli/src/config/schema.ts +++ b/packages/cli/src/config/schema.ts @@ -300,4 +300,13 @@ export const schema = { env: 'N8N_PROXY_HOPS', doc: 'Number of reverse-proxies n8n is running behind', }, + + logs_view: { + enabled: { + format: Boolean, + default: false, + env: 'N8N_ENABLE_LOGS_VIEW', + doc: 'Temporary env variable to enable logs view', + }, + }, }; diff --git a/packages/cli/src/services/frontend.service.ts b/packages/cli/src/services/frontend.service.ts index 1988e2343c..7335cd4cc5 100644 --- a/packages/cli/src/services/frontend.service.ts +++ b/packages/cli/src/services/frontend.service.ts @@ -252,6 +252,9 @@ export class FrontendService { summary: true, dashboard: false, }, + logsView: { + enabled: false, + }, }; } @@ -389,6 +392,8 @@ export class FrontendService { this.settings.folders.enabled = this.license.isFoldersEnabled(); + this.settings.logsView.enabled = config.get('logs_view.enabled'); + return this.settings; } diff --git a/packages/frontend/editor-ui/src/__tests__/defaults.ts b/packages/frontend/editor-ui/src/__tests__/defaults.ts index fe4ac34bdd..e45167710a 100644 --- a/packages/frontend/editor-ui/src/__tests__/defaults.ts +++ b/packages/frontend/editor-ui/src/__tests__/defaults.ts @@ -150,4 +150,7 @@ export const defaultSettings: FrontendSettings = { summary: true, dashboard: false, }, + logsView: { + enabled: false, + }, }; diff --git a/packages/frontend/editor-ui/src/constants.ts b/packages/frontend/editor-ui/src/constants.ts index 12f455026d..9eb4359542 100644 --- a/packages/frontend/editor-ui/src/constants.ts +++ b/packages/frontend/editor-ui/src/constants.ts @@ -476,7 +476,6 @@ export const LOCAL_STORAGE_EXPERIMENT_OVERRIDES = 'N8N_EXPERIMENT_OVERRIDES'; export const LOCAL_STORAGE_HIDE_GITHUB_STAR_BUTTON = 'N8N_HIDE_HIDE_GITHUB_STAR_BUTTON'; export const LOCAL_STORAGE_NDV_INPUT_PANEL_DISPLAY_MODE = 'N8N_NDV_INPUT_PANEL_DISPLAY_MODE'; export const LOCAL_STORAGE_NDV_OUTPUT_PANEL_DISPLAY_MODE = 'N8N_NDV_OUTPUT_PANEL_DISPLAY_MODE'; -export const LOCAL_STORAGE_LOGS_2025_SPRING = 'N8N_LOGS_2025_SPRING'; export const LOCAL_STORAGE_LOGS_PANEL_OPEN = 'N8N_LOGS_PANEL_OPEN'; export const BASE_NODE_SURVEY_URL = 'https://n8n-community.typeform.com/to/BvmzxqYv#nodename='; export const COMMUNITY_PLUS_DOCS_URL = diff --git a/packages/frontend/editor-ui/src/stores/settings.store.ts b/packages/frontend/editor-ui/src/stores/settings.store.ts index 3f2e9eeb12..98ecc00efc 100644 --- a/packages/frontend/editor-ui/src/stores/settings.store.ts +++ b/packages/frontend/editor-ui/src/stores/settings.store.ts @@ -7,7 +7,7 @@ import * as ldapApi from '@/api/ldap'; import * as settingsApi from '@/api/settings'; import { testHealthEndpoint } from '@/api/templates'; import type { ILdapConfig } from '@/Interface'; -import { STORES, INSECURE_CONNECTION_WARNING, LOCAL_STORAGE_LOGS_2025_SPRING } from '@/constants'; +import { STORES, INSECURE_CONNECTION_WARNING } from '@/constants'; import { UserManagementAuthenticationMethod } from '@/Interface'; import type { IDataObject, WorkflowSettings } from 'n8n-workflow'; import { ExpressionEvaluatorProxy } from 'n8n-workflow'; @@ -184,9 +184,7 @@ export const useSettingsStore = defineStore(STORES.SETTINGS, () => { const isDevRelease = computed(() => settings.value.releaseChannel === 'dev'); - const isNewLogsEnabled = computed( - () => useLocalStorage(LOCAL_STORAGE_LOGS_2025_SPRING, '').value === 'true', - ); + const isNewLogsEnabled = computed(() => !!settings.value.logsView?.enabled); const setSettings = (newSettings: FrontendSettings) => { settings.value = newSettings;