import type { RouteRecordStringComponent } from '@easyflow/types'; const UNSAFE_KEEP_ALIVE_MENU_PATHS = new Set([ '/ai/agents', '/ai/documentCollection', '/ai/model', '/ai/skill', '/ai/workflow', '/dashboard/workspace', '/sys/approval', '/sys/sysAccount', ]); /** * Disable route-level caching that conflicts with independent hidden child * routes. Assigning false also replaces stale true values in persisted tabs. */ function disableUnsafeMenuRouteCaching( routes: RouteRecordStringComponent[], ): RouteRecordStringComponent[] { for (const route of routes) { if (UNSAFE_KEEP_ALIVE_MENU_PATHS.has(route.path) && route.meta) { route.meta.keepAlive = false; } if (route.children?.length) { disableUnsafeMenuRouteCaching(route.children); } } return routes; } export { disableUnsafeMenuRouteCaching };