PromucFlow_constructor/app/client
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
..
.husky fix:lint staged (#27992) 2023-10-12 20:35:54 +03:00
.yarn chore:update node version to v18 (#26358) 2023-08-15 18:56:04 +05:30
cypress fix: Race condition in JS object mutation (#28083) 2023-10-16 13:32:27 +05:30
docker/templates chore: Remove unused NGINX templates (#26426) 2023-08-17 19:54:58 +05:30
generators chore: BaseWidget Restructuring (#26562) 2023-09-11 21:25:11 +05:30
packages chore: Integrate Checkbox component (#27693) 2023-10-13 09:13:40 +03:00
perf ci: run fat container docker inside perf tests and update setup-perf-test workflow to use localhost for accessing dev environment (#20280) 2023-02-07 15:56:41 +05:30
public fix: googleapi script loading for import apps (#26708) 2023-08-29 20:27:23 +01:00
src fix: Race condition in JS object mutation (#28083) 2023-10-16 13:32:27 +05:30
test chore: route builder refactor (#27905) 2023-10-12 11:01:22 +05:30
typings feat: enable CSS Modules fro WDS (#26162) 2023-09-15 10:17:06 +03:00
.babelrc feat: [epic] appsmith design system version 2 deduplication (#22030) 2023-05-20 00:07:06 +05:30
.dockerignore
.editorconfig
.eslintrc.base.json chore: add consistent-type-definitions rule (#27907) 2023-10-11 10:35:24 +03:00
.eslintrc.js chore:add eslint rules (#27878) 2023-10-09 16:54:06 +03:00
.gitignore chore: get browser logs from failed cypress tests (#27724) 2023-10-05 14:42:30 +05:30
.lintstagedrc.json fix:lint staged (#27992) 2023-10-12 20:35:54 +03:00
.nvmrc chore:update node version to v18 (#26358) 2023-08-15 18:56:04 +05:30
.prettierignore ci: Add lint check to the build step (#21442) 2023-03-20 22:50:44 +05:30
.prettierrc chore: upgrade to prettier v2 + enforce import types (#21013)Co-authored-by: Satish Gandham <hello@satishgandham.com> Co-authored-by: Satish Gandham <satish.iitg@gmail.com> 2023-03-16 17:11:47 +05:30
.sentryclirc
.yarnrc.yml chore:update node version to v18 (#26358) 2023-08-15 18:56:04 +05:30
build.sh fix: Revert "fix: Updates tab title from publish to showcase (#27867)" (#27893) 2023-10-09 14:06:45 +05:30
craco.build.config.js perf: prioritize the main bundle over preloads (v2) (#24374) 2023-06-22 10:58:10 +05:30
craco.common.config.js chore: remove postcss-conditionals package (#27984) 2023-10-12 14:04:30 +03:00
craco.dev.config.js chore : disable react overlay for warnings/error in dev mode (#23620) 2023-05-23 14:54:41 +05:30
cypress_ci_custom.config.ts test: Cypress | Skip MsSQL_Basic_Spec.ts spec in CI (#28074) 2023-10-13 20:35:05 +05:30
cypress_ci_hosted.config.ts test: Map widget automation (#27901) 2023-10-11 13:04:06 +05:30
cypress_ci.config.ts test: Cypress | CI Stabilize (#27622) 2023-09-27 22:54:27 +05:30
cypress.config.ts test: Cypress | CI Stabilize (#27622) 2023-09-27 22:54:27 +05:30
download-assets.js feat: util to serve images locally or via remote url (#22080) 2023-04-10 12:32:31 +05:30
jest.config.js feat: use hideWatermark from tenantConfig (#28085) 2023-10-15 00:04:45 +05:30
package.json fix: postcss version (#28042) 2023-10-13 13:48:45 +03:00
README.md ci: Modularizing the Github actions workflow for maintainability (#16505) 2022-09-09 01:08:55 +05:30
README.old.md
start-https.sh chore: Detect other NGINX and offer to kill (#25478) 2023-07-19 16:39:11 +05:30
tailwind.config.js feat: in-app ramps for private embed feature (#24507) 2023-06-21 13:39:14 +05:30
tsconfig.json fix: bump storybook version and move stories to storybook package (#25821) 2023-07-31 19:15:50 +03:00
tsconfig.path.json refactor: code splitting to support third party sso/oidc in EE (#10201) 2022-01-07 11:38:17 +05:30
vercel.json chore: Remove old way of adding feature flags (#11213) 2022-02-16 19:57:58 +05:30
yarn.lock fix: postcss version (#28042) 2023-10-13 13:48:45 +03:00

Appsmith Client

This project was bootstrapped with Create React App.

For details on setting up your development machine, please refer to the Setup Guide