PromucFlow_constructor/app/client
Ashit Rath 81d738d1de
chore: Buffer first eval action to fix race condition with setup worker (#34891)
## Description
Check the issue description for the actual problem.

Solution:
To mitigate the race condition; instead of using `take` post setup
worker an `actionChannel` is used to create a queue to detect any first
eval action dispatched while the code path completes the worker setup.
This queue is then picked by and the action is processed and the
`actionChannel` is closed.

The baseline theory of the solution is to create a queue of any first
eval action dispatch throughout the lifecycle of the setup process but
act only when the setup is complete

The problem is not that evident in applications but in packages it's
highly reproducible as there are less api fetches to start eval

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

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9903341349>
> Commit: 999f677e9af9c1d90201fcf124d1246ecfd79ef2
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9903341349&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 12 Jul 2024 07:07:30 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Improved reliability and performance of evaluation change listener by
optimizing action handling.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-15 22:34:27 +05:30
..
.husky
.yarn
cypress test: added a validation post fork (#34857) 2024-07-15 17:32:17 +05:30
docker/templates chore: Fix bugs in logic for capturing web vitals for client (#32371) 2024-04-09 14:25:46 +05:30
generators
packages chore: Compute default value for jsaction params (#34708) 2024-07-15 21:01:42 +05:30
public fix: font family changes to PT root in privacy and tnc pages (#33992) 2024-06-05 16:21:56 +05:30
src chore: Buffer first eval action to fix race condition with setup worker (#34891) 2024-07-15 22:34:27 +05:30
test feat: side-by-side edit mode hover analytics (#34185) 2024-06-20 14:03:06 +05:30
typings
.babelrc
.dockerignore
.editorconfig
.eslintrc.base.json perf: add react-hooks/exhaustive-deps rule (#34338) 2024-06-20 10:20:19 +03:00
.eslintrc.js
.fork-ts-checkerrc fix: OOM issue (#31995) 2024-03-21 22:08:58 +05:30
.gitignore chore: update storybook (#32828) 2024-04-22 12:17:28 +03:00
.lintstagedrc.json
.nvmrc chore: update node version and appropriate git workflows (#31486) 2024-03-26 14:12:11 +03:00
.prettierignore
.prettierrc
.sentryclirc
.yarnrc.yml
build.sh chore: include client build source map (#30664) 2024-02-26 15:30:36 +05:30
craco.build.config.js chore: Prefetch module apis in service worker (#34003) 2024-06-14 16:30:23 +05:30
craco.common.config.js chore: add node variable for ts type checking (#31996) 2024-03-25 13:11:53 +03:00
craco.dev.config.js chore: Prefetch module apis in service worker (#34003) 2024-06-14 16:30:23 +05:30
cypress_ci_custom.config.ts
cypress_ci_hosted.config.ts
cypress_ci.config.ts
cypress-add-tags.js
cypress.config.ts
download-assets.js
jest.config.js chore: Fix bugs in logic for capturing web vitals for client (#32371) 2024-04-09 14:25:46 +05:30
package.json feat: IDE tab list search view (#34759) 2024-07-10 18:58:30 +05:30
README.md
README.old.md
start-caddy.sh chore: Remove deprecated start-https.sh message (#33856) 2024-05-31 07:18:57 +05:30
start-https.sh chore: Remove deprecated start-https.sh message (#33856) 2024-05-31 07:18:57 +05:30
tailwind.config.js
tsconfig.json fix: Client development build performance (#31390) 2024-03-04 10:52:06 +03:00
tsconfig.path.json
vercel.json
yarn.lock feat: IDE tab list search view (#34759) 2024-07-10 18:58:30 +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