diff --git a/app/client/src/ce/workers/Evaluation/evaluationUtils.ts b/app/client/src/ce/workers/Evaluation/evaluationUtils.ts index 9cb0a70e86..62d6f17531 100644 --- a/app/client/src/ce/workers/Evaluation/evaluationUtils.ts +++ b/app/client/src/ce/workers/Evaluation/evaluationUtils.ts @@ -14,7 +14,7 @@ import type { ConfigTree, } from "entities/DataTree/dataTreeTypes"; import { ENTITY_TYPE } from "ee/entities/DataTree/types"; -import _, { difference, find, get, has, isEmpty, isNil, set } from "lodash"; +import _, { difference, get, has, isEmpty, isNil, set } from "lodash"; import type { WidgetTypeConfigMap } from "WidgetProvider/factory"; import { PluginType } from "entities/Action"; import { klona } from "klona/full"; @@ -987,11 +987,8 @@ export const isATriggerPath = ( }; // Checks if entity newly got added to the unevalTree -export const isNewEntity = (updates: DataTreeDiff[], entityName: string) => { - return !!find(updates, { - event: DataTreeDiffEvent.NEW, - payload: { propertyPath: entityName }, - }); +export const isNewEntity = (updates: Set, entityName: string) => { + return updates.has(entityName); }; const widgetPathsNotToOverride = ( diff --git a/app/client/src/workers/common/DataTreeEvaluator/index.ts b/app/client/src/workers/common/DataTreeEvaluator/index.ts index 56ac7c712e..322890185f 100644 --- a/app/client/src/workers/common/DataTreeEvaluator/index.ts +++ b/app/client/src/workers/common/DataTreeEvaluator/index.ts @@ -1092,6 +1092,11 @@ export default class DataTreeEvaluator { const { isFirstTree, metaWidgets, unevalUpdates } = options; let staleMetaIds: string[] = []; + const allNewEntityDiffSet = new Set( + unevalUpdates + .filter((v) => v.event === DataTreeDiffEvent.NEW) + .map((v) => v.payload.propertyPath), + ); let evalContextCache; if (WorkerEnv.flags.release_evaluation_scope_cache) { @@ -1198,7 +1203,7 @@ export default class DataTreeEvaluator { if (isATriggerPath) continue; const isNewWidget = - isFirstTree || isNewEntity(unevalUpdates, entityName); + isFirstTree || isNewEntity(allNewEntityDiffSet, entityName); const widgetEntity = entity as WidgetEntity;