PromucFlow_constructor/app/client/src/workers/Evaluation
Diljit c580cfd9b4
chore: add dsl version validation for app computation cache (#40301)
## Description
This PR adds dsl version to the app computation cache. If there is a
mismatch in dsl version the cache is updated with the new value.

Change also includes error handling and reporting for cases when there
are exceptions while fetching the cache.


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## 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/14533292018>
> Commit: fadb0c528b85b846799db2cbbd9da4d01834627f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14533292018&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 18 Apr 2025 11:07:11 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**
- Added explicit DSL version tracking to application state and
evaluation context for improved cache validation.

- **Bug Fixes**
- Improved error handling for cache operations, ensuring errors are
logged and recorded without disrupting core functionality.
- Enhanced cache validation to prevent usage of invalid or mismatched
cache entries.

- **Tests**
- Expanded and updated test coverage for cache validity, error
scenarios, and DSL version handling.

- **Refactor**
- Strengthened cache property validation and error propagation for more
robust caching behavior.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-21 12:59:20 +05:30
..
__tests__ chore: add dsl version validation for app computation cache (#40301) 2025-04-21 12:59:20 +05:30
dataStore chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
fns feat: added global logout feature (#39942) 2025-04-02 12:20:06 +05:30
handlers chore: fix issues in eval error logs sent to faro (#40285) 2025-04-17 16:25:05 +05:30
JSObject chore: fix issues in eval error logs sent to faro (#40285) 2025-04-17 16:25:05 +05:30
asyncWorkerActions.ts feat: Create a async execute trigger flow (#39009) 2025-02-04 10:38:40 +00:00
domApis.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
errorModifier.ts chore: Move sentry to faro for client side (#40220) 2025-04-16 11:45:47 +05:30
evalTreeWithChanges.test.ts chore: add dsl version validation for app computation cache (#40301) 2025-04-21 12:59:20 +05:30
evalTreeWithChanges.ts chore: fix issues in eval error logs sent to faro (#40285) 2025-04-17 16:25:05 +05:30
evaluate.ts chore: optimise first evaluation by adding worker scope cache (CE) (#38068) 2024-12-13 09:44:19 +05:30
evaluation.worker.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
evaluationSubstitution.ts chore: add grafana faro sdk (CE) (#38301) 2024-12-26 10:37:41 +05:30
formEval.ts chore: add new condition for form conditionals (#38556) 2025-02-14 15:32:30 +05:30
getEntityForContext.ts fix: change appsmith alias (#35349) 2024-08-06 17:52:22 +03:00
helpers.test.ts chore: removed last klona (#40257) 2025-04-16 12:58:09 +05:30
helpers.ts chore: fix issues in eval error logs sent to faro (#40285) 2025-04-17 16:25:05 +05:30
indirectEval.ts chore: upgrade typescript to 5.4 (#35181) 2024-07-30 16:15:48 +02:00
ReplayDSL.ts chore: Split canvas widget reducers (#39327) 2025-02-18 16:12:05 +05:30
replayUtils.ts chore: Split canvas widget reducers (#39327) 2025-02-18 16:12:05 +05:30
setters.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
SetupDOM.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
types.ts chore: Split canvas widget reducers (#39327) 2025-02-18 16:12:05 +05:30
validations.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00