## Description
[Part of EE PR](https://github.com/appsmithorg/appsmith-ee/pull/6688).
I'll check what happens to the NumberFormat locale later, now just make
sure that unit tests pass.
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=""
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Tests**
- Refined currency display tests to ensure accurate formatting with
three-decimal precision, improving the internationalized number
presentation.
- **Chores**
- Enhanced the testing environment with additional global utilities and
mocks, streamlining simulation of locale-specific behaviors and API
responses.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
We are shifting the linter engine for jshint to eslint. This PR adds the
package needed for the same and also adds the required configs. The
eslint feature is behing a rollout feature flag, it's currently at 0%
right now.
> [!NOTE] > This PR is part of a series of [stacked
diffs](https://newsletter.pragmaticengineer.com/p/stacked-diffs) and
might have changes from it's parent PRs. Untill the blocking parent PRs
are merged, this diff would show more changes than are relevant for this
PR.
Blocking PRs: - #36548Fixes#37254
## Automation
/test js sanity
### 🔍 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/11965021215>
> Commit: 579e4772f918936da292ba2815621ca80499c212
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11965021215&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.JS, @tag.Sanity`
> Spec:
> <hr>Fri, 22 Nov 2024 02:49:47 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
## Release Notes
- **New Features**
- Integrated ESLint support alongside existing JSHint functionality for
enhanced linting capabilities.
- Added a new dependency for ESLint linting.
- **Improvements**
- Enhanced error handling and reporting for linting errors, ensuring
consistency across different linting tools.
- Updated testing framework to accommodate multiple linter types without
duplicating logic.
- Introduced new functions for sanitizing and converting ESLint errors
to the application's format.
- Added support for structured cloning in the testing setup.
- Improved logic for determining main actions and error handling in
conditional expressions.
- **Bug Fixes**
- Improved logic for handling lint errors, particularly in
differentiating between ESLint and JSHint errors.
- **Documentation**
- Updated comments for clarity on linting processes and configurations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- This PR renames the `SAVE_QUERY` and `SAVE_API` events to a generic
`SAVE_ACTION` analytics event.
- The new event will include the following new properties
- `originalActionId` - The `originalActionId` of the action from which
this action was copied or the `id` action from which this action was
copied.
- `hash` - A unique hash of the `actionConfiguration` of this action
- `actionType` - The plugin type for this action
- This PR also fixes an issue where the `originalActionId` was not set
correctly when an action was copied
#### PR fixes following issue(s)
Fixes#25971
#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)
## Testing
#### How Has This Been Tested?
- [x] Manual
- [x] Jest
- [ ] Cypress
#### Test Plan
#### Issues raised during DP testing
## TL;DR
A new revamped experience for navigation for Appsmith users.
## Description
Introduces new navigation styles with better default navigation - Top
(Stacked), a variant for Top (Inline), and a collapsible Sidebar.
Configure your app's navigation by navigating to the navigation settings
tab inside the app settings pane and observe how your app with the
selected navigation settings will look side by side as you change them.
This PR pushes the v1 for EPIC #17766.
Fixes#19157Fixes#19158Fixes#19174Fixes#19173Fixes#19160Fixes#20712Fixes#19161Fixes#20554Fixes#20938Fixes#21129
## Media
<video
src="https://user-images.githubusercontent.com/22471214/227187245-84e4e3fa-18e4-4690-8237-cfce29f432e5.mp4"></video>
## Type of change
- New feature (non-breaking change which adds functionality)
- This change requires a documentation update
## How Has This Been Tested?
- Manual
- Cypress
### Test Plan
https://www.notion.so/appsmith/Test-Plan-a7883ae4980d470690de5c62a41dd168
### Issues raised during DP testing
https://docs.google.com/spreadsheets/d/1Kocq8h1H3EXlbqDgiNruzBr9MeNPyY26zct8IWYEY40/edit#gid=0
## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
---------
Co-authored-by: Pawan Kumar <pawan@appsmith.com>
## Description
In order to improve the first load of the applications, now we're only
rendering the widget components that are [above the
fold](https://en.wikipedia.org/wiki/Above_the_fold#In_web_design) right
away and rendering the other widget components whenever the browser is
idle. This decreases the amount of time it takes before the first paint
on the screen.
This is getting shipped behind a feature flag!
* Evaluations and Linting now runs on separate web-workers for a much faster and responsive coding experience on Appsmith.
* Removed worker-loader webpack plugin.