diff --git a/Composer/packages/client/src/pages/setting/dialog-settings/index.tsx b/Composer/packages/client/src/pages/setting/dialog-settings/index.tsx index b7d5a7e490..e51e2139d3 100644 --- a/Composer/packages/client/src/pages/setting/dialog-settings/index.tsx +++ b/Composer/packages/client/src/pages/setting/dialog-settings/index.tsx @@ -56,7 +56,10 @@ export const DialogSettings: React.FC = () => { }; const handleChange = (result: any) => { - saveChangeResult(result); + // prevent result was undefined, it will cause error + if (result && typeof result === 'object') { + saveChangeResult(result); + } }; const hostedControl = () => ( diff --git a/Composer/packages/server/src/models/settings/defaultSettingManager.ts b/Composer/packages/server/src/models/settings/defaultSettingManager.ts index 1d8f13d652..9425f9e0ab 100644 --- a/Composer/packages/server/src/models/settings/defaultSettingManager.ts +++ b/Composer/packages/server/src/models/settings/defaultSettingManager.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import omit from 'lodash/omit'; +import set from 'lodash/set'; import { SensitiveProperties } from '@bfc/shared'; import { UserIdentity } from '@bfc/plugin-loader'; @@ -66,7 +66,10 @@ export class DefaultSettingManager extends FileSettingManager { private filterOutSensitiveValue = (obj: any) => { if (obj && typeof obj === 'object') { - return omit(obj, SensitiveProperties); + SensitiveProperties.map((key) => { + set(obj, key, ''); + }); + return obj; } };