PromucFlow_constructor/app/client
Rishabh Rathod cd051ac941
fix: Make async evaluation as default (#20095)
## Description

Current evaluation architecture has 2 natures of evaluation
- sync evaluation ( evaluation for data fields )
- async evaluation ( evaluation for trigger events )

For every evaluation, this nature needs to be set according to the field
being evaluated.
It was noticed that for async code evaluation where a code block
executes only after the resolution of promise, for example,

`fetch().then((res) => { showAlert("fetched") });`

Here, the `showAlert` only executes when the fetch is completed and
before that, it could be possible that we have switched to sync
evaluation in the worker. This would lead to a `showAlert` throwing
error.

Hence, we resolve this issue by making `async evaluation` as the default
nature of evaluation.

Fixes https://github.com/appsmithorg/appsmith/issues/19733

## Type of change


- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?


- Manual
1. Validated Supabse app to check the error and JSPDF 
2. Validated sync data field with sync function and framework function -
verify that error for async function is displayed properly
3. Validated older apps(Automation app/Silly string) to verify the Async
error is not displayed
4. .then and catch block in async function - 

- Jest
- Cypress

### Test Plan

### Issues raised during DP testing


---------

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-01-30 10:57:12 +05:30
..
cypress fix: Handle clone errors in async executions (#20097) 2023-01-28 14:12:11 +01:00
docker Sandboxed iFrames with srcDoc (#11426) 2022-10-04 15:20:45 +05:30
generators feat: Automatic height updates for widgets based on contents (Auto Height) (#18341) 2022-11-23 15:18:23 +05:30
patches
perf Fix: fix client build (#20144) 2023-01-27 15:26:50 +05:30
public chore: Use rolling window in the usage pulse call and send segment anonymous id for anonymous users (#19552) 2023-01-10 17:39:33 +05:30
src fix: Make async evaluation as default (#20095) 2023-01-30 10:57:12 +05:30
test refactor: Widget Selection (#19643) 2023-01-28 07:47:06 +05:30
typings chore: update dependencies in the client package (#18254) 2022-11-28 16:22:30 +00:00
.babelrc
.dockerignore
.editorconfig
.eslintrc.json
.flowconfig
.gitignore feat: Support running NGINX for development without Docker (#16667) 2022-09-14 09:58:31 +05:30
.huskyrc
.lintstagedrc
.nvmrc
.prettierignore
.prettierrc
.sentryclirc
build.sh ci: Ship source maps + fix perf test failures on EE (#18700) 2022-12-09 18:40:59 +05:30
craco.build.config.js feat: Automatic height updates for widgets based on contents (Auto Height) (#18341) 2022-11-23 15:18:23 +05:30
craco.common.config.js
craco.dev.config.js chore: updated dependencies removed unused dependencies. (#19441) 2023-01-06 19:12:03 +05:30
cypress_ci.json test: Moving specs to run on FatContainer + Gitea migration (#18920) 2023-01-25 11:09:02 +05:30
cypress.env.json feat: [Context Switching] Complex widgets and other Phase 2 items (#17046) 2022-12-08 12:51:58 +05:30
cypress.json test: Moving specs to run on FatContainer + Gitea migration (#18920) 2023-01-25 11:09:02 +05:30
Dockerfile feat: Support running NGINX for development without Docker (#16667) 2022-09-14 09:58:31 +05:30
index.tsx
jest.config.js feat: Renamed design system package (#19854) 2023-01-23 09:20:47 +05:30
package.json feat: Renamed design system package (#19854) 2023-01-23 09:20:47 +05:30
postcss.config.js
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: Add frame-ancestors CSP during dev time (#19735) 2023-01-25 14:13:36 +05:30
stats.json
tailwind.config.js
tsconfig.json feat: Import javascript libraries (#17895) 2022-12-21 22:44:47 +05:30
tsconfig.path.json
vercel.json
yarn.lock feat: Renamed design system package (#19854) 2023-01-23 09:20:47 +05:30

Appsmith Client

This project was bootstrapped with Create React App.

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