diff --git a/Composer/packages/client/src/components/SkillForm/CreateSkillModal/index.tsx b/Composer/packages/client/src/components/SkillForm/CreateSkillModal/index.tsx index 1cd6fa1557..759621b3ed 100644 --- a/Composer/packages/client/src/components/SkillForm/CreateSkillModal/index.tsx +++ b/Composer/packages/client/src/components/SkillForm/CreateSkillModal/index.tsx @@ -7,6 +7,7 @@ import { jsx } from '@emotion/core'; import React, { useState, FormEvent, useEffect, useCallback, useRef } from 'react'; import formatMessage from 'format-message'; import { PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { Spinner, SpinnerSize } from 'office-ui-fabric-react/lib/Spinner'; import { Stack, StackItem } from 'office-ui-fabric-react/lib/Stack'; import { TextField } from 'office-ui-fabric-react/lib/TextField'; import { assignDefined, Skill } from '@bfc/shared'; @@ -17,7 +18,7 @@ import { DialogTypes } from '../../DialogWrapper/styles'; import { addSkillDialog } from '../../../constants'; import { ISkillFormData, ISkillFormDataErrors, SkillUrlRegex, SkillNameRegex } from '../types'; -import { FormFieldManifestUrl, FormFieldEditName, MarginLeftSmall, FormModalBody } from './styles'; +import { FormFieldManifestUrl, FormFieldEditName, MarginLeftSmall, FormModalBody, SpinnerLabel } from './styles'; import { validateManifestUrl } from './validateManifestUrl'; export interface ICreateSkillModalProps { @@ -180,6 +181,9 @@ const CreateSkillModal: React.FC = props => { required autoFocus /> + {isValidating && ( + + )} { const { range } = d; if (range) { - d.range = offsetRange(range, offset); + return { ...d, range: offsetRange(range, offset) }; } return d; }); diff --git a/Composer/packages/server/src/models/bot/skillManager.ts b/Composer/packages/server/src/models/bot/skillManager.ts index 1d61886020..f15d3fceab 100644 --- a/Composer/packages/server/src/models/bot/skillManager.ts +++ b/Composer/packages/server/src/models/bot/skillManager.ts @@ -60,7 +60,7 @@ export const extractSkillManifestUrl = async ( const notify = new Diagnostic( `Accessing skill manifest url error, ${manifestUrl}`, 'appsettings.json', - DiagnosticSeverity.Error + DiagnosticSeverity.Warning ); diagnostics.push(notify); } diff --git a/Composer/packages/server/src/services/project.ts b/Composer/packages/server/src/services/project.ts index 9f62672400..69c934ce45 100644 --- a/Composer/packages/server/src/services/project.ts +++ b/Composer/packages/server/src/services/project.ts @@ -195,9 +195,6 @@ export class BotProjectService { public static getProjectById = async (projectId: string, user?: UserIdentity): Promise => { BotProjectService.initialize(); - const cachedProject = BotProjectService.getIndexedProjectById(projectId); - if (cachedProject) return cachedProject; - if (!BotProjectService.projectLocationMap?.[projectId]) { throw new Error('project not found in cache'); } else {