PromucFlow_constructor/app/client/cypress/e2e/Regression/ClientSide
arunvjn 1afd223e10
fix: Race condition in JS object mutation (#28083)
## Description
Fixes race condition in JS Object mutation where evaluation overrides
the variables state.

Root Cause:
Execution context is shared between every evaluation request and trigger
execution request. A trigger execution request could be paused when an
asynchronous task is awaited. In the mean time, worker might pick up the
task to perform and evaluation. Evaluation would end up replacing the
entities in the execution context, there by resetting the actions
performed by the trigger execution before it was paused.

What the fix does?
We are now caching the JS object for reuse which means that every
execution/evaluation request reuses the same JS Object as long the JS
Object isn't modified by a user action.

#### PR fixes following issue(s)
Fixes #27978 
>
>
#### 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
- Bug fix (non-breaking change which fixes an issue)
>
>
## Testing
>
#### How Has This Been Tested?
- [x] Manual
- [x] 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
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [x] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [x] 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
- [x] 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
- [x] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-10-16 13:32:27 +05:30
..
ActionExecution fix: Log store operations as system generated logs (#27380) 2023-09-19 19:32:24 +05:30
AdminSettings feat: Connection pooling CE (#27328) 2023-10-10 14:54:28 +05:30
AppNavigation test: Cypress | (DI) S3 added validations (Cont.,) + CI Stabilize (#26486) 2023-08-21 13:19:28 +05:30
AssistiveBinding feat: assistive binding (#27070) 2023-09-15 21:23:51 +05:30
AuditLogs chore: Optimising the code for admin settings page (#25404) 2023-07-18 15:18:48 +05:30
Autocomplete feat: assistive binding (#27070) 2023-09-15 21:23:51 +05:30
Binding test: Cypress | CI Stabilize (#27493) 2023-09-21 00:41:08 +05:30
Branding test: Cypress version upgrade Cy 11.2 + Flaky fixes (#23667) 2023-05-24 18:00:39 +05:30
BugTests fix: table selection in schema preview data broken (#27823) 2023-10-06 17:35:19 +05:30
CodeComment test: Cypress | Simplifying AddDsl method (#24991) 2023-07-04 22:03:31 +05:30
CommunityTemplate feat: community templates UI (#27302) 2023-09-25 11:57:23 +05:30
Debugger feat: JSON form widget one click binding integration (#25873) 2023-10-03 13:40:51 +05:30
DynamicHeight test: cypress - added tests for container regression (#27515) 2023-09-22 15:15:59 +05:30
Editor fix: excluding intercom test cases for airgap (#23974) 2023-06-02 12:10:49 +05:30
EmbedSettings test: Cypess | Oracle DS validations added (Part 4) + CI Stabilize (#27348) 2023-09-19 14:17:30 +05:30
ExplorerTests feat: Connection pooling CE (#27328) 2023-10-10 14:54:28 +05:30
Fork feat: enable/disable app share modal based on License Plan (#27596) 2023-10-05 12:08:35 +05:30
FormLogin test: Cypress | CI Stabilize (Skipped tests fixes) + Cypress upgrade to v13.0.0 (#26583) 2023-08-30 16:24:37 +05:30
FormNativeToRawTests test: Gsheet Automation (#25255) 2023-07-26 18:56:24 +05:30
Git test: Cypress | Connection_spec.js flaky fix (#28069) 2023-10-13 19:52:31 +05:30
Github test: Cypress - Flaky Fix (#26272) 2023-08-17 16:00:37 +05:30
Google
IDE fix: Modal Widget Context switching (#27575) 2023-10-10 15:40:53 +05:30
JSLibrary feat: Added support for ESM builds of custom JS libraries (#26671) 2023-09-01 13:49:21 +05:30
JSObject fix: Race condition in JS object mutation (#28083) 2023-10-16 13:32:27 +05:30
Linting test: Cypress - Flaky Fix (#27189) 2023-09-12 22:49:30 +05:30
MobileResponsiveTests chore: Create layout system structure for Anvil and AnvilFlexComponent. (#27178) 2023-10-02 15:41:05 -04:00
Onboarding test: Cypress | FirstTimeUserOnboarding_spec fix (#28046) 2023-10-13 14:39:09 +05:30
OneClickBinding feat: JSON form widget one click binding integration (#25873) 2023-10-03 13:40:51 +05:30
OtherUIFeatures feat: enable/disable app share modal based on License Plan (#27596) 2023-10-05 12:08:35 +05:30
PeekOverlay test: Cypress | (DI) Arango added validations + CI Stabilize (#26243) 2023-08-18 10:48:35 +05:30
Performance feat: Improve Linting performance (#23865) 2023-07-05 14:34:03 +01:00
ProductRamps feat: enable/disable app share modal based on License Plan (#27596) 2023-10-05 12:08:35 +05:30
PropertyPane test: Cypress | Simplifying AddDsl method (#24991) 2023-07-04 22:03:31 +05:30
PublishedApps test: Cypress | (DI) Arango added validations + CI Stabilize (#26243) 2023-08-18 10:48:35 +05:30
Refactoring feat: enable generate CRUD page for MsSQL plugin (#27195) 2023-09-20 14:12:11 +05:30
SettingsPane test: Cypress | CI Stablize + verifying DS Connection Errors (DI) (#26004) 2023-08-08 14:44:46 +05:30
Templates fix: Adds analytics event to log search input. (#27477) 2023-10-04 08:07:03 +00:00
ThemingTests test: Cypress - themes cases (#27682) 2023-09-29 11:38:15 +05:30
UserProfile test: Cypress version upgrade Cy 11.2 + Flaky fixes (#23667) 2023-05-24 18:00:39 +05:30
VisualTests fix: CodeEditor issues on resizing (#26082) 2023-08-23 11:25:19 +05:30
Walkthrough fix: run before walkthrough function to select widget before showing it (#27688) 2023-10-06 15:33:27 +05:30
Widgets test: cypress - updated regression tests for MenuButton (#27953) 2023-10-16 10:36:35 +05:30
Workspace feat: enable/disable app share modal based on License Plan (#27596) 2023-10-05 12:08:35 +05:30