## Description ### Cause of issue During the translation of dataTree diff, a change from an `Array` to `undefined`, was interpreted as a **delete event**. This causes the path to be deleted from the dependencyMap, hence doesn't ever show up in the evaluation order. ### Solution A change from an Array or Object to undefined is translated to 1. Deletion of all Array accessor paths 2. Edit of propertyPath ### Example Multiselect1.selectedOptions changes from ["Red", "Green"] to **undefined**. This translates to 1. Delete event for Multiselect1.selectedOptions[0] & Multiselect1.selectedOptions[1] 2. Edit event for Multiselect1.selectedOptions Fixes #20428 ## Type of change - Bug fix (non-breaking change which fixes an issue) ## How Has This Been Tested? - Manual - Jest - Cypress ### Test Plan > Add Testsmith test cases links that relate to this PR ### Issues raised during DP testing > Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR) ## Checklist: ### Dev activity - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag ### QA activity: - [ ] Test plan has been approved by relevant developers - [ ] Test plan has been peer reviewed by QA - [ ] Cypress test cases have been added and approved by either SDET or manual QA - [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA - [ ] Added Test Plan Approved label after reveiwing all Cypress test Co-authored-by: Aishwarya UR <aishwarya@appsmith.com> |
||
|---|---|---|
| .. | ||
| cypress | ||
| docker | ||
| generators | ||
| patches | ||
| perf | ||
| public | ||
| src | ||
| test | ||
| typings | ||
| .babelrc | ||
| .dockerignore | ||
| .editorconfig | ||
| .eslintrc.json | ||
| .flowconfig | ||
| .gitignore | ||
| .huskyrc | ||
| .lintstagedrc | ||
| .nvmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| .sentryclirc | ||
| build.sh | ||
| craco.build.config.js | ||
| craco.common.config.js | ||
| craco.dev.config.js | ||
| cypress_ci.json | ||
| cypress.env.json | ||
| cypress.json | ||
| Dockerfile | ||
| index.tsx | ||
| jest.config.js | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| README.old.md | ||
| start-https.sh | ||
| stats.json | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| tsconfig.path.json | ||
| vercel.json | ||
| yarn.lock | ||
Appsmith Client
This project was bootstrapped with Create React App.
For details on setting up your development machine, please refer to the Setup Guide