## Description
- Enabled the rule `@typescript-eslint/no-explicit-any`
- Suppressed errors with comment
```
// TODO: Fix this the next time the file is edited
// eslint-disable-next-line @typescript-eslint/no-explicit-any
```
Fixes#35308
## 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/10181176984>
> Commit: 7fc604e24fa234da7ab2ff56e0b1c715268796ee
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10181176984&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 31 Jul 2024 15:00:45 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
## Description
This PR makes the following changes to prepare for the Anvil Alpha
release
- Add a toggle to the applications page header that allows us to toggle
the Anvil feature flag from the UI.
- Enable the above toggle if the toggle feature flag is enabled
- When the toggle is enabled the following changes occur in the UX
- Import application via Git is disabled and a callout is shown to the
user
- Git features are unavailable for users in Anvil applications
- Copying and pasting widgets between two different layout systems is
disabled and a warning message is shown to the user
- Partial import export of widgets between two different layout systems
is disabled and a warning message is shown to the user
- CRUD page generation is disabled from datasources
- Anvil applications and classic applications are separated into their
own sections in the workspace.
- In case any of the above sections are empty, an appropriate message is
displayed in the empty section
### Screenshots




### Other details
- Toggle feature flag - `release_anvil_toggle_enabled`
- Anvil feature flag - `release_anvil_enabled`
Fixes#34578Fixes#34576Fixes#34575Fixes#33718
## Automation
/ok-to-test tags="@tag.All"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> 🔴🔴🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9793128338>
> Commit: 09401272c1d52c915aee3b68925406f2f5f962ba
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9793128338&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.All
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/PartialImportExport/PartialExport_spec.ts</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.
<!-- 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
- **New Features**
- Added Anvil toggle functionality to the page header.
- Introduced layout compatibility checks for pasting widgets.
- **Enhancements**
- Updated widget paste action to verify layout system compatibility.
- Improved handling and processing of user-uploaded JSON files for
widget import.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
[](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=M7zehz4)
## Description
Cleaning up three patterns of checks to enable wds and anvil into two.
wds and anvil had to have different flags coz anvil had to play catch up
with wds, now that's not the case so it does not make sense to have two
flags.
Old patterns
- checking if the wds feature flag is enabled
- checking if the anvil feature flag is enabled
- checking if the layout system of the app is anvil
New Pattern
- checking if anvil feature flag is enabled (used only for creating an
anvil app)
- checking if layout system of the app is anvil
Fixes#32590
_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/8663918496>
> Commit: e10cc2a84ed680b29c49c5b2e8175df4c18da2f8
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8663918496&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Consolidated the usage of layout system checks across the application
to use a unified Anvil layout selector, enhancing consistency in
layout-related conditional logic.
- **Bug Fixes**
- Removed outdated feature flags related to the Anvil + WDS integration,
ensuring the application's feature toggling aligns with the current
development strategy.
- **Tests**
- Updated unit tests to align with the new method of layout system
determination, ensuring test environments accurately reflect production
behavior.
- **Chores**
- Cleaned up redundant code and feature flags that are no longer in use,
simplifying the codebase and reducing potential for errors.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
[](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=8cXsNLR)
## Description
Auto Layout System is being deprecated in favor of Anvil.
So we will no longer update Auto Layout and hence we are removing
conversion flow to make sure no new Auto Layout Apps are created.
However we still want to be able to help users who really have mission
critical use cases to convert.
two ways to do this
- ask Support and they will enable the feature flag to enable
conversion.(for cloud users)
- ask Support and they will reveal the global
function(`overrideFeatureFlag({release_layout_conversion_enabled:
true})`) to enable conversion.(for users not connected to internet)
Implementation:
- current feature flags are supplied from the consolidated api and
widgets consume them via `selectFeatureFlags` selector.
- to override these flags locally, we provide a global
function(accessible from console) `overrideFeatureFlag` which can take
an object of featureflags and save them to indexed db.
- then we use these saved values to override feature flag values
supplied by the consolidated api.
- `selectFeatureFlags` is where the values are combined and consumed by
all components.
Fixes#32140
_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/8641988198>
> Commit: de8e06778bd9fe1feab2f5d20adbaed90e542019
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8641988198&attempt=2"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->