diff --git a/Composer/packages/client/__tests__/pages/notifications/useNotifications.test.tsx b/Composer/packages/client/__tests__/pages/notifications/useNotifications.test.tsx index 326a4d7d06..bdef76cc06 100644 --- a/Composer/packages/client/__tests__/pages/notifications/useNotifications.test.tsx +++ b/Composer/packages/client/__tests__/pages/notifications/useNotifications.test.tsx @@ -15,6 +15,7 @@ import { schemasState, currentProjectIdState, botDiagnosticsState, + botProjectIdsState, } from '../../../src/recoilModel'; import mockProjectResponse from '../../../src/recoilModel/dispatchers/__tests__/mocks/mockProjectResponse.json'; @@ -98,6 +99,7 @@ const state = { const initRecoilState = ({ set }) => { set(currentProjectIdState, state.projectId); + set(botProjectIdsState, [state.projectId]); set(dialogsState(state.projectId), state.dialogs); set(luFilesState(state.projectId), state.luFiles); set(lgFilesState(state.projectId), state.lgFiles); diff --git a/Composer/packages/client/src/recoilModel/selectors/validatedDialogs.ts b/Composer/packages/client/src/recoilModel/selectors/validatedDialogs.ts index cf92edf094..131926fbd6 100644 --- a/Composer/packages/client/src/recoilModel/selectors/validatedDialogs.ts +++ b/Composer/packages/client/src/recoilModel/selectors/validatedDialogs.ts @@ -4,11 +4,15 @@ import { selectorFamily } from 'recoil'; import { validateDialog } from '@bfc/indexers'; -import { dialogsState, schemasState, lgFilesState, luFilesState } from '../atoms/botState'; +import { botProjectIdsState, dialogsState, schemasState, lgFilesState, luFilesState } from '../atoms'; export const validateDialogSelectorFamily = selectorFamily({ key: 'validateDialogSelectorFamily', get: (projectId: string) => ({ get }) => { + const loadedProjects = get(botProjectIdsState); + if (!loadedProjects.includes(projectId)) { + return []; + } const dialogs = get(dialogsState(projectId)); const schemas = get(schemasState(projectId)); const lgFiles = get(lgFilesState(projectId));