PromucFlow_constructor/app/client
Ankita Kinger 325b62be28
feat: Adding core logic for Reactive Actions in Post evaluations flow (#40963)
## Description

Adding core logic for Reactive Actions in Post evaluations flow which
enables queries in Appsmith to automatically re-run when their dependent
variables change, making apps more dynamic, responsive, and easier to
build.

Fixes [#39835](https://github.com/appsmithorg/appsmith/issues/39835)
[#40814](https://github.com/appsmithorg/appsmith/issues/40814)
[#40989](https://github.com/appsmithorg/appsmith/issues/40989)

## 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/15824074133>
> Commit: d9d222536c5d4bf81430b120cfc382f593e36a13
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15824074133&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 23 Jun 2025 13:35:17 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

- **New Features**
- Support for reactive queries that execute automatically after
evaluation when dependencies change.
- Tracking and status indicators for on-load actions showing execution
status per action.
- Included action run behavior in analytics and logging for enhanced
action execution insights.
- Added a saga to handle execution of reactive queries with debounced
processing.
- **Bug Fixes**
- Improved detection of table data changes using deep equality checks to
avoid missed updates.
  - Prevented unnecessary execution when no batch actions are present.
- **Refactor**
- Enhanced handling of reactive paths and dynamic triggers for actions
and JS functions.
- Improved dependency management with validation to detect and prevent
reactive dependency misuse.
- Consolidated evaluation substitution types into a centralized
constants file.
- Refined evaluation logic to skip certain data paths and track reactive
actions precisely.
- Centralized imports of evaluation substitution types for consistency.
- **Tests**
- Updated tests to include new properties like run behavior and dynamic
trigger paths for actions and JS functions.
- Adjusted test expectations to align with updated dependency tracking
and evaluation logic.
- **Chores**
  - Added utility functions for dependency and entity type checks.
- Improved type definitions and reorganized imports for clarity and
maintainability.
  - Added new selectors to expose on-load action execution status.
- Introduced new interfaces and placeholder saga utilities for JS module
instance handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2025-06-23 20:00:42 +05:30
..
.husky chore: adds depandabot.yml (#40521) 2025-05-01 05:44:04 +00:00
.yarn
config fix: Suppress webpack-dev-server ResizeObserver loop development runtime error (#40968) 2025-06-18 11:16:53 +05:30
cypress chore: Added tag to exclude Airtable_Basic_Spec.ts from airgapped runs (#41005) 2025-06-20 13:46:30 +05:30
docker/templates
generators chore: decouple formControl registry from the main chunk (#40939) 2025-06-17 17:20:23 +05:30
packages chore: add workflows setting for agents CE (#40988) 2025-06-19 18:44:22 +05:30
public chore: add maximum-scale to avoid zoom on inputs in iOS (#40171) 2025-04-08 19:16:31 +05:30
scripts fix: Upgrade packages (#40935) 2025-06-16 12:12:55 +05:30
src feat: Adding core logic for Reactive Actions in Post evaluations flow (#40963) 2025-06-23 20:00:42 +05:30
test chore: decouple formControl registry from the main chunk (#40939) 2025-06-17 17:20:23 +05:30
typings
.babelrc chore: Eject CRA (#39264) 2025-02-14 14:24:41 +05:30
.dockerignore
.editorconfig
.eslintrc.base.json
.eslintrc.js
.fork-ts-checkerrc
.gitignore
.lintstagedrc.json chore: update import of AppState to DefaultReduxState (#40494) 2025-05-01 15:53:37 +05:30
.nvmrc
.prettierignore
.prettierrc
.sentryclirc
.yarnrc.yml
build.sh fix: sourcemaps (#39301) 2025-02-16 20:05:50 +03:00
cypress_ci_custom.config.ts chore: Remove Airtable tests from being excluded from CI runs (#40932) 2025-06-17 10:00:06 +05:30
cypress_ci_hosted.config.ts chore: Remove Airtable tests from being excluded from CI runs (#40932) 2025-06-17 10:00:06 +05:30
cypress_ci.config.ts chore: Remove Airtable tests from being excluded from CI runs (#40932) 2025-06-17 10:00:06 +05:30
cypress-add-tags.js
cypress.config.ts
download-assets.js
jest.config.js fix: Upgrade packages (#40935) 2025-06-16 12:12:55 +05:30
knip.json chore: Eject CRA (#39264) 2025-02-14 14:24:41 +05:30
package.json fix: upgrade tinymce to latest MIT licensed version (#41003) 2025-06-20 16:02:25 +05:30
README.md
README.old.md
start-caddy.sh
start-https.sh chore: convert consolidated api etag to a weak one (#38939) 2025-01-31 16:35:20 +05:30
tailwind.config.js
tsconfig.json
tsconfig.path.json
vercel.json
yarn.lock fix: upgrade tinymce to latest MIT licensed version (#41003) 2025-06-20 16:02:25 +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