## Description
We are constraining the diff between the old dataTree and the
newDataTree to its only affected nodes. The affected nodes list is the
evalOrder, unevalUpdates and updatedValuePaths (which represents
localStorage and setter updates). Through limiting the diff to the
affected node list this should help in reducing the diff computation
latency and overall improve the performance of each evaluation cycle.
We are also cleaning up code related to compressing and decompressing
updates since we deprecated that functionality.
Fixes#31272
## Automation
/ok-to-test tags="@tag.All"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8447023192>
> Commit: `cb925afbb99577947fbc7233a35e4454223b402a`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8447023192&attempt=2"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced new logic for handling widget state updates efficiently.
- Enhanced evaluation logic to support optimized diff updates and
serialization.
- Improved data tree generation for error handling and evaluation order.
- **Bug Fixes**
- Addressed issues in generating optimized updates for large collections
and handling `undefined` values.
- Fixed Cypress tests in the "PgAdmin Clone App" spec for more reliable
interaction with UI elements.
- **Refactor**
- Simplified the logic for widget state cleanup and evaluation paths
handling.
- Removed unused variables and functions related to widget meta
properties and evaluation paths.
- **Tests**
- Added new spec file `PgAdmin_spec.js` to Cypress limited tests for
client-side regression testing.
- **Chores**
- Updated type imports across various files to reflect changes in
evaluation logic.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR fixes flaky tests: RepoLimit and ExportApplication
## Testing
>
#### How Has This Been Tested?
locally
#### 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
## Description
- This PR does below:
- Reverting hosted run slack notif since no new_failed_spec is set (to
set & then fix this)
- Push notif slack msg trial fix
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
- [X] Cypress CI runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
## Description
- This PR adds Oracle validations
- 'Add more' validated from Oracle Ds page
- Tc's automated Tc
[#2204](https://github.com/appsmithorg/TestSmith/issues/2204)
- Added a bit of sleep for keyboard actions (Enter, Escape, Delete)
- Added default param for datasources._host
- Oracle documentation verification added
- get cypress url dashboard url - step commented in ymls, as its no more
used
- Updating Slack message to also display the failing specs in notif
- ElasticSearch spec - update to check hosted run
- ServerSide/GenerateCRUD/MySQL2_Spec.ts - EntityExplore ds name miss
fix
- Update waitForServerRestart() timeout
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
#### How Has This Been Tested?
- [X] Cypress CI runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
- Add, Delete more buttons to the group and verify
- Add, Delete menu item to a button group and verify
- Assert button group options - single and menu visibility
- Assert button group options - single and menu disability
- Assert On click button group
## Description
Depends on https://github.com/appsmithorg/design-system/pull/567
Fixes https://github.com/appsmithorg/appsmith/issues/25569
#### Media
https://github.com/appsmithorg/appsmith/assets/13763558/5b136833-06ef-4f5e-969f-447ea53e5933
#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)
## Testing
This PR changes the design of the popover, but the functionality remains
the same.
The functionality of the popover should be tested.
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] Manual
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
https://github.com/appsmithorg/appsmith/pull/26072#issuecomment-1683351732https://github.com/appsmithorg/appsmith/pull/26072#issuecomment-1687388154
>
>
>
## 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
---------
Co-authored-by: Vijetha-Kaja <vijetha@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
## Description
**Fixed below flaky tests**
- PromisesApp_spec.js
- Command_Click_Navigation_spec.js
- AutoFillWidgets_Reflow_spec.ts
- Replay_Editor_spec.js
- ForkTemplateToGitConnectedApp.js
## Type of change
- Flaky test fix
## How Has This Been Tested?
- Cypress test runs
## Checklist:
### 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
## Description
> Add a TL;DR when description is extra long (helps content team)
>
> Please include a summary of the changes and which issue has been
fixed. Please also include relevant motivation
> and context. List any dependencies that are required for this change
>
> Links to Notion, Figma or any other documents that might be relevant
to the PR
>
>
#### PR fixes following issue(s)
Fixes # (issue number)
> if no issue exists, please create an issue and ask the maintainers
about this first
>
>
#### Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
>
>
#### Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update
>
>
>
## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
---------
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Aishwarya-U-R <91450662+Aishwarya-U-R@users.noreply.github.com>
## Description
- This PR does the below:
- EnterJsContext to use ToggleJSMode
- Adding limited-tests.txt to gitignore
- Added S3, Arango Documentation verify
- Added Arango Widget binding + validation to Insert data
- Upgraded Cypress from 12.17.2 to 12.17.4
- Update Arango spec to read DS values from TestConfig.ts file instead
of dataSources.json
- Arango Suggested widget + Schema search
- Flaky fix - Regression/ServerSide/QueryPane/DSDocs_Spec.ts
- Flaky fix - GenerateCRUD/Postgres1_Spec.ts - improving
NavigateBacktoEditor() method to tackle all Deploy to Edit mode
navigations (to monitor)
- Viewport updated for sharper screenshots/videos
- Improve waitForServerRestart js support method (+ server restart
timeout increased)
- Fix Binding/API_with_List_Widget_spec.js - 3rd case
- Widgets/WidgetPropertySetters_spec.ts - updated
- Flaky fix - ServerSide/QueryPane/S3_1_spec.js - 1st case
- Binding/Promises_1_Spec.ts
- ClientSide/BugTests/ApiBugs_Spec.ts
- Update TedTestConfig to DataManager since out of TED datasources are
also present in this file like Arango, Elastic Mssql etc
- Improved AssertPropertiesDropDownCurrentValue()
#### Type of change
- Script fix & New scripts (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
- [X] Cypress CI runs
>
>
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after changes are reviewed
## Description
- Automated Camera (Image & Video) & Code scanner widget testcases
## Type of change
- Automation
## How Has This Been Tested?
- Cypress test runs
## Checklist:
### 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-U-R <91450662+Aishwarya-U-R@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
## Description
**Fixed below flaky tests**
- Admin_settings_spec.js
- Admin_settings_1_spec.js
- Fork_Template_Existing_app_spec.js
- Fork_Template_To_App_spec.js
## Type of change
- Flaky test fix
## How Has This Been Tested?
- Cypress test runs
## Checklist:
### 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
## Description
- Regression/ServerSide/LoginTests/LoginFailure_spec.js
- Workspace/ShareAppTests_Spec.ts
- Api EnterURL method improved
- agHelper.AssertElementVisibility() improved
- Git/ExistingApps/v1.9.24/DSCrudAndBindings_Spec.ts
- Apps/PgAdmin_spec.js - increased wait time
- productAlert intercept improved
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
- [X] Cypress CI runs
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after changes were reviewed
## Description
- This PR Flaky fixes below:
- Widgets/Others/Video_spec.js
- ListV2/Childwigets/List_Inputs_spec.js
- ActionExecution/uiToCode/uiToCode_spec.ts
- Datasources/MsSQL_Basic_Spec.ts
- /Apps/EchoApiCMS_spec.js - UpdateCodeInput() to always go to end of
entered input
- /BugTests/InputTruncateCheck_Spec.ts - PinUnpinEntityExplorer()
improved to handle pin based on its presence
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
- [X] Cypress
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
## Description
- AssertPropertiesDropDownValues() added
- Cypress upgrade to 12.17.
#### Type of change
- Script fix (non-breaking change which fixes an issue)
-
## Testing
>
#### How Has This Been Tested?
- [X] Cypress
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
## Description
- This PR does the below:
- Improve HoverElement()
- Button_onClickAction_spec.js - CI flaky fix
- ListV2/Childwigets/List_FilePicker_spec.js
- Datasources/RestApiOAuth2Validation_spec.js
- ApiPage - EnterURL() improved - for the entered url to settle
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
- [X] Cypress
-
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
## Description
- This PR fixes below specs:
- BugTests/DatasourceSchema_spec.ts
- /Dropdown/Dropdown_onOptionChange_spec.js
- Improved homePage.CreateNewWorkspace()
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
>
#### How Has This Been Tested?
- [X] Cypress
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
## Description
- This PR flaky fixes the Dropdown_onOptionChange_spec.js for CI runs
#### Type of change
- Script fix (non-breaking change which fixes an issue)
## Testing
#### How Has This Been Tested?
- [X] Cypress
-
## Checklist:
#### QA activity:
- [X] Added `Test Plan Approved` label after Cypress tests were reviewed
## Description
**Fixed below flaky tests**
- BracketNotation_AC_spec.ts
## Type of change
- Flaky test fix
## How Has This Been Tested?
- Cypress test runs
## Checklist:
### 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>
> Pull Request Template
>
> Use this template to quickly create a well written pull request.
Delete all quotes before creating the pull request.
>
## Description
Adding test cases to cover scenarios in resizing behaviour and suggested
widgets in Auto Layout mode.
#### PR fixes following issue(s)
Fixes#23656
> if no issue exists, please create an issue and ask the maintainers
about this first
>
>
#### Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
>
>
#### Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update
>
>
>
## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] Manual
- [ ] Jest
- [x] 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:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
## Description
**Fixed below flaky tests**
- Fork_Template_spec.js
- PageOnLoad_spec.ts
- False_Spec.ts
- MySQL1_Spec.ts
- Scrolling_spec.ts
## Type of change
- Flaky test fix
## How Has This Been Tested?
- Cypress test runs
## Checklist:
### 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
## Description
- Added workflow to build client and server without running tests
#### Type of change
- Added workflow file
#### How Has This Been Tested?
- Manual