From 2edfd6c1ecaca4b644bb3179bc8d4e9177951036 Mon Sep 17 00:00:00 2001 From: Vemparala Surya Vamsi <121419957+vsvamsi1@users.noreply.github.com> Date: Mon, 8 Jul 2024 11:26:45 +0530 Subject: [PATCH] chore: remove unevalTree (#34605) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Description evalTreeWithChanges is sending a redundant property unevalTree in the payload, we should remove this property to reduce the serialisation cost of including this property in the payload. Fixes #34766 > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.All" ### :mag: Cypress test results > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: > Commit: 73e226d70644bd0995e5c1c0b5b1d9c73e93e83a > Cypress dashboard. > Tags: @tag.All > The following are new failures, please fix them before merging the PR:
    >
  1. cypress/e2e/Regression/ClientSide/PartialImportExport/PartialExport_spec.ts >
  2. cypress/e2e/Regression/ClientSide/Workspace/MemberRoles_Spec.ts >
  3. cypress/e2e/Regression/ClientSide/Workspace/ShareAppTests_Spec.ts
> List of identified flaky tests. >
Fri, 05 Jul 2024 11:46:05 UTC ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No ## Summary by CodeRabbit - **Refactor** - Improved the handling of `unevalTree` by accessing it from `unEvalAndConfigTree` instead of directly from the message data in message handling logic. - **Tests** - Updated tests to reflect the removal of the `unevalTree` property and related assertions. --- app/client/src/sagas/EvalWorkerActionSagas.ts | 6 ++--- .../Evaluation/evalTreeWithChanges.test.ts | 23 ------------------- .../workers/Evaluation/evalTreeWithChanges.ts | 3 --- 3 files changed, 2 insertions(+), 30 deletions(-) diff --git a/app/client/src/sagas/EvalWorkerActionSagas.ts b/app/client/src/sagas/EvalWorkerActionSagas.ts index 4df4432cbf..0fd6f604d4 100644 --- a/app/client/src/sagas/EvalWorkerActionSagas.ts +++ b/app/client/src/sagas/EvalWorkerActionSagas.ts @@ -19,7 +19,6 @@ import { import { handleStoreOperations } from "./ActionExecution/StoreActionSaga"; import type { EvalTreeResponseData } from "workers/Evaluation/types"; import isEmpty from "lodash/isEmpty"; -import type { UnEvalTree } from "entities/DataTree/dataTreeTypes"; import { sortJSExecutionDataByCollectionId } from "workers/Evaluation/JSObject/utils"; import type { LintTreeSagaRequestData } from "plugins/Linting/types"; import { evalErrorHandler } from "./EvalErrorHandler"; @@ -27,7 +26,6 @@ import { getUnevaluatedDataTree } from "selectors/dataTreeSelectors"; export interface UpdateDataTreeMessageData { workerResponse: EvalTreeResponseData; - unevalTree: UnEvalTree; } export function* handleEvalWorkerRequestSaga(listenerChannel: Channel) { @@ -141,12 +139,12 @@ export function* handleEvalWorkerMessage(message: TMessage) { break; } case MAIN_THREAD_ACTION.UPDATE_DATATREE: { - const { unevalTree, workerResponse } = data as UpdateDataTreeMessageData; + const { workerResponse } = data as UpdateDataTreeMessageData; const unEvalAndConfigTree: ReturnType = yield select(getUnevaluatedDataTree); yield call(updateDataTreeHandler, { evalTreeResponse: workerResponse as EvalTreeResponseData, - unevalTree, + unevalTree: unEvalAndConfigTree.unEvalTree || {}, requiresLogging: false, configTree: unEvalAndConfigTree.configTree, }); diff --git a/app/client/src/workers/Evaluation/evalTreeWithChanges.test.ts b/app/client/src/workers/Evaluation/evalTreeWithChanges.test.ts index cee6048f50..b94e8b9357 100644 --- a/app/client/src/workers/Evaluation/evalTreeWithChanges.test.ts +++ b/app/client/src/workers/Evaluation/evalTreeWithChanges.test.ts @@ -190,7 +190,6 @@ describe("evaluateAndGenerateResponse", () => { expect(parsedUpdates).toEqual([]); expect(webworkerResponse).toEqual({ - unevalTree: {}, workerResponse: { dependencies: {}, errors: [], @@ -224,28 +223,6 @@ describe("evaluateAndGenerateResponse", () => { expect(parsedUpdates).toEqual([]); }); - test("should send the new unevalTree in the web worker response", () => { - const updatedLabelUnevalTree = produce(unEvalTree, (draft: any) => { - if (draft.Text1?.text) { - draft.Text1.text = UPDATED_LABEL; - } - }); - expect(evaluator.getOldUnevalTree()).toEqual(unEvalTree); - const updateTreeResponse = evaluator.setupUpdateTree( - updatedLabelUnevalTree, - configTree, - ); - // the new unevalTree gets set in setupUpdateTree - expect(evaluator.getOldUnevalTree()).toEqual(updatedLabelUnevalTree); - - const { unevalTree } = evalTreeWithChanges.evaluateAndGenerateResponse( - evaluator, - updateTreeResponse, - [], - [], - ); - expect(unevalTree).toEqual(updatedLabelUnevalTree); - }); describe("updates", () => { test("should generate updates based on the unEvalUpdates", () => { diff --git a/app/client/src/workers/Evaluation/evalTreeWithChanges.ts b/app/client/src/workers/Evaluation/evalTreeWithChanges.ts index d539eedba0..880f6f7c16 100644 --- a/app/client/src/workers/Evaluation/evalTreeWithChanges.ts +++ b/app/client/src/workers/Evaluation/evalTreeWithChanges.ts @@ -106,7 +106,6 @@ export const evaluateAndGenerateResponse = ( defaultResponse.evalMetaUpdates = [...(metaUpdates || [])]; return { workerResponse: defaultResponse, - unevalTree: {}, }; } @@ -134,7 +133,6 @@ export const evaluateAndGenerateResponse = ( ); defaultResponse.staleMetaIds = updateResponse.staleMetaIds; - const unevalTree = dataTreeEvaluator.getOldUnevalTree(); // when additional paths are required to be added as updates, we extract the updates from the data tree using these paths. const additionalUpdates = getNewDataTreeUpdates( @@ -159,7 +157,6 @@ export const evaluateAndGenerateResponse = ( return { workerResponse: defaultResponse, - unevalTree, }; };