PromucFlow_constructor/app/client/src/utils
Vemparala Surya Vamsi 2b9299e2d3
chore: bypass immer for first evaluation, fixed cloneDeep issue and using mutative instead of immer (#38993)
## Description
- Using mutative instead of immer, this has reduced the main thread
scripting by about 1 second.
- Removed a cloneDeep during table onMount which saves about 70ms in
main thread scripting.
- Bypassed mutative when applying the first tree to reduce the overhead
associated to mutative.

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/13164792224>
> Commit: 4cb821723d10198c9db70312a9604df5aa5f80c1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13164792224&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 06 Feb 2025 04:21:41 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 Dependency**
  - Integrated a new library to enhance overall state management.

- **Refactor**
- Updated state update mechanisms across interactive components and data
flows.
  - Improved table widget processing for more consistent behavior.

- **Chore**
  - Removed legacy development-only configuration settings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-06 11:20:08 +05:30
..
Analytics chore: Update mixpanel masking classname (#38661) 2025-01-15 16:03:07 +05:30
autocomplete feat: update autocomplete sorting (#38690) 2025-01-17 16:30:52 +05:30
autoHeight chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
CallbackHandler chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
editor chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
FilterInternalProperties chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
formControl chore: add ADS slider (#38971) 2025-02-04 09:42:51 +03:00
hooks chore: git mod - integration with applications (#38439) 2025-01-05 11:21:23 +01:00
migrations chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
NavigationSelector chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
ProductRamps chore: added premium tags datasources for knowing users request to add new integrations (#38110) 2024-12-19 20:00:09 +05:30
validation chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
ApiPaneUtils.test.ts chore: Migrate sub components into Plugin Action Editor (#36844) 2024-10-16 18:29:10 +05:30
ApiPaneUtils.tsx chore: Migrate sub components into Plugin Action Editor (#36844) 2024-10-16 18:29:10 +05:30
AppsmithConsole.ts chore: Separate files for Redux Types (#38559) 2025-01-10 10:21:54 +05:30
AppsmithUtils.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
AppsmithUtils.tsx chore: Analytics util refactor (#38089) 2024-12-19 17:46:22 +05:30
AppUtils.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
bootIntercom.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
boxHelpers.test.ts 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
boxHelpers.ts chore: add consistent-type-definitions rule (#27907) 2023-10-11 10:35:24 +03:00
BrandingUtils.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
buildingBlockUtils.ts fix: change appsmith alias (#35349) 2024-08-06 17:52:22 +03:00
canvasStructureHelpers.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
canvasStructureHelpers.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
configTree.ts chore: separated tree type into common file to be extended on EE (#27812) 2023-10-10 18:02:17 +05:30
CustomWidgetBuilderService.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
CustomWidgetBuilderService.ts chore: add custom widget to anvil (#37878) 2024-12-06 16:03:40 +05:30
dayJsUtils.ts fix: Layout Conversion bugs for auto Layout (#22565) 2023-05-03 04:26:52 +00:00
DynamicBindingUtils.test.ts fix: Separate Plugin Entity from Action (#38582) 2025-01-15 11:29:32 +05:30
DynamicBindingUtils.ts chore: update logic to calculate length of lint (#36548) 2024-11-19 13:25:44 +05:30
editorContextUtils.ts fix: Separate Plugin Entity from Action (#38582) 2025-01-15 11:29:32 +05:30
formhelpers.test.ts
formhelpers.ts chore: added premium tags datasources for knowing users request to add new integrations (#38110) 2024-12-19 20:00:09 +05:30
GenerateCrudUtil.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
GeneratePageUtils.ts chore: Updating generate page interaction to show it in a modal following the IDE 2.0 interaction pattern (#37414) 2024-11-19 12:05:10 +05:30
generators.tsx chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
getCodeMirrorNamespace.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
getPathAndValueFromActionDiffObject.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
getQueryParamsObject.test.ts fix: getQueryParamsFromString function updated to use URLSearchParams (#37559) 2024-11-19 21:33:09 +05:30
getQueryParamsObject.ts fix: getQueryParamsFromString function updated to use URLSearchParams (#37559) 2024-11-19 21:33:09 +05:30
helpers.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
helpers.tsx chore: add grafana faro sdk (CE) (#38301) 2024-12-26 10:37:41 +05:30
history.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
importUppy.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
JSPaneUtils.test.ts fix: Separate Plugin Entity from Action (#38582) 2025-01-15 11:29:32 +05:30
JSPaneUtils.tsx fix: JSObject diff error when actions are missing (#38572) 2025-01-18 09:48:04 +05:30
klona.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
lazyLottie.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
localStorage.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
localStorage.tsx chore: Move action redesign to GA (#38659) 2025-01-16 22:26:34 +05:30
MessageUtil.ts chore: add consistent-type-definitions rule (#27907) 2023-10-11 10:35:24 +03:00
metaWidgetState.ts fix: change appsmith alias (#35349) 2024-08-06 17:52:22 +03:00
PropertyControlFactory.tsx chore: Add documentation for property pane config (#36880) 2024-11-07 15:41:20 +05:30
PropertyControlRegistry.tsx chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
ReducerUtils.ts chore: bypass immer for first evaluation, fixed cloneDeep issue and using mutative instead of immer (#38993) 2025-02-06 11:20:08 +05:30
reflowHookUtils.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
replayHelpers.test.js 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
replayHelpers.tsx chore: [Plugin Action Editor] Combine Plugin Editor UI state (#36651) 2024-10-08 16:12:27 +05:30
resizeObserver.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
storage.ts chore: Include version in all requests (#37551) 2024-11-27 12:58:28 +05:30
SuccessfulBindingsMap.ts chore: add consistent-type-definitions rule (#27907) 2023-10-11 10:35:24 +03:00
testPropertyPaneConfig.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
treeUtils.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
TypeHelpers.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
URLUtils.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
UseComposeRef.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
WidgetBlueprintUtils.ts chore: enable no-explicit-any rule (#35321) 2024-07-31 18:41:28 +03:00
widgetEvalUtils.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
WidgetFeatures.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
WidgetFeatures.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
WidgetLoadingStateUtils.test.ts fix: Separate Plugin Entity from Action (#38582) 2025-01-15 11:29:32 +05:30
WidgetLoadingStateUtils.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
WidgetMigrationUtils.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
WidgetMigrationUtils.ts chore: Move the widget config to widget class (#26073) 2023-09-06 17:45:04 +05:30
WidgetPropsUtils.test.tsx chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
WidgetPropsUtils.tsx chore: decouple widget-config.json from main chunk (#36924) 2024-10-17 20:48:39 +05:30
WidgetQueryGeneratorRegistry.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
WidgetQueryGeneratorRegistry.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
widgetRenderUtils.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
widgetRenderUtils.tsx chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
WidgetSizeUtils.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
WidgetSizeUtils.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
workerInstances.ts chore: optimise first evaluation by adding worker scope cache (CE) (#38068) 2024-12-13 09:44:19 +05:30
WorkerUtil.test.ts chore: add blank line eslint rule (#36369) 2024-09-18 19:35:28 +03:00
WorkerUtil.ts feat: Create a async execute trigger flow (#39009) 2025-02-04 10:38:40 +00:00