## Description
Remove the "Generate new page" button from the datasource review page
and make the "New Query" button a primary button. Tests related to the
removed generate CRUD page feature have been removed.
Fixes#31801
## Automation
/ok-to-test tags="@tag.Datasource"
### 🔍 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/9644141773>
> Commit: b1671022d7eee6a676103281dc2e7f5df8bfd513
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9644141773&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource`
<!-- 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
- **Bug Fixes**
- Removed outdated test cases that were no longer relevant or causing
issues in MongoDB and S3 CRUD operations.
- **New Tests**
- Added `HideGeneratePageButton.test.tsx` to verify the visibility of
buttons based on feature flags and user permissions.
- **Refactor**
- Improved code structure by reordering imports and simplifying logic in
various datasource-related components.
- Removed deprecated methods and functions related to page generation
from datasource components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This reverts commit 519b53ea9b.
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/9755650204>
> Commit: 3e273b60c9ee9cb9af559dc8071b1c7b9c9b9e47
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9755650204&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
<!-- 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
- **Refactor**
- Improved tab closing interaction in the IDE pane.
- Updated components for better consistency and performance in the
Editor.
- Renamed and reorganized components for clarity.
- **New Features**
- Added `FullScreenTabs` component for a more immersive tab management
experience.
- **Style**
- Enhanced styling for tabs and related UI elements to improve user
experience.
- **Tests**
- Refined test cases for better accuracy and reliability.
- **Performance**
- Enhanced selector functions for better memoization and performance in
the IDE.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
**/test binding**
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9754334718>
> Commit: 2c67d23abd75ce763c6e8eac2b1d9582bccca875
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9754334718&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Binding`
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Improved the internal handling of `sourceData` within the Select
widget for better performance and maintainability.
- **Tests**
- Updated test cases for the Select widget to reflect the new handling
of `sourceData`.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
There's a few places in Cypress tests that are trying to extract the
page ID using `.split`, especially with just the path information,
instead of the whole URL. So this PR changes the extraction
implementation to use a regex, to support all three cases we need:
1. Full absolute application+page URL.
2. Just the path of an application+page URL.
3. Just the path of an application with a custom slug.
4. Full absolute application with a custom slug. (Supported, but we
don't need this today).
We've also fixed the URL parsing for the (very) old application URLs
that didn't use slugs in the URL at all. This was making
`FocusEntity.test.ts` fail.
Fixed that test as well as improved it's error reporting.
Before this PR:

After this PR:

No conflicts to EE.
/test all
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9713573983>
> Commit: 49edbce5ae85ee7fe9f4d2df05e2933347ddb3f4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9713573983&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: ``
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Improved URL handling by centralizing page ID extraction logic across
various tests and components.
- Updated deprecated path constants to include ID extraction patterns
for better consistency.
- Enhanced code readability and maintainability by moving page ID
extraction to a helper method.
- **Tests**
- Modified test cases to dynamically set `applicationId` and `pageId`
instead of hardcoding values, ensuring more flexible and maintainable
test scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR adds new authentication method for snowflake: Use of public and
private keys to authorise a snowflake database.
Snowflake provides a couple of authentication mechanisms in order to
authenticate the DB. Currently appsmith only provides a way to authorise
using username and password. This PR adds support for private key
authentication, where by user can set a public key on their DB and they
can use corresponding private key in appsmith to authorise the
datasource.
In snowflake DB form, we have added a new field for authentication type
which has two options: Basic and Key pair. Basic will allows us to
authenticate using username and password. Key pair will provide us a way
to upload the private key along with input field for adding passphrase
(In case of encrypted private key).
More info: https://docs.snowflake.com/en/user-guide/key-pair-authhttps://github.com/appsmithorg/appsmith/assets/30018882/99774925-12a3-4cc0-af0a-614c3574cdc3
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.Datasource"
### 🔍 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/9743830603>
> Commit: cb64fffc9e181558525e020a4597b616eeacea7a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9743830603&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource`
<!-- 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**
- Enhanced Snowflake integration with improved connection creation and
authentication handling (key pair and basic auth types).
- **Bug Fixes**
- Fixed issues related to handling authentication objects within
datasource configuration to ensure more reliable connections.
- **Documentation**
- Added new error messages for passphrase requirements and incorrect
passphrase or private key for encrypted private keys.
- **Tests**
- Updated tests to verify the correct setting of authentication types in
the Snowflake plugin.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: “sneha122” <“sneha@appsmith.com”>
## Description
This PR makes sure that the initial value of `isLoading` in the settings
reducer is set to true.
This flag is used to conditionally render the loading component and the
AdminSettings component in
`app/client/src/pages/AdminSettings/index.tsx`. This change makes sure
that the Admin Page components are not mounted and unmounted on initial
render. The mouting and unmounting used to happen earlier because the
flag switched from false => true => false.
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.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/9737924972>
> Commit: 553b867bfa7a72d97bd54d4ef10f5ce9fee665e4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9737924972&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
<!-- 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
- **Bug Fixes**
- Improved initial loading state of settings to enhance user experience
during app startup.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Add dynamic property path for sourceData in SelectWidget.
Fixes#34568
_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.Widget"
### 🔍 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/9712372976>
> Commit: c5521e46382d448715183862aededc142136db0a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9712372976&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget`
<!-- 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**
- Enhanced the Select Widget with a new property to support dynamic
property paths.
- **Tests**
- Added new tests to validate the dynamic property paths functionality
in the Select Widget.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This is a code split PR for [EE
change](https://github.com/appsmithorg/appsmith-ee/pull/4536) which
fixes rename of functions inside of a js object.
Fixes [#34470](https://github.com/appsmithorg/appsmith/issues/34470)
## Automation
/test 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/9690260557>
> Commit: 6da583fea14638c183a6b81d61c1870f7ea694f5
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9690260557&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
<!-- 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 an optional `workflowId` field to enhance the functionality of
JavaScript actions and workflows.
- **Tests**
- Updated tests to include the new `workflowId` field.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
RCA:
Click on the dropdown was not working intermittently
Solution:
updated the flow,
1. Wait for the destination dropdown
2. Click on the destination dropdown
3. Assert the branch name visible post dropdown has opened
4. Click on the destination branch
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Enhanced the `mergeBranch` process in GitSync to ensure better
stability and accuracy by adding assertions for element appearances,
disappearances, network status, and the presence of a destination
branch.
- **Tests**
- Switched limited test spec from `Fork_Template_spec.js` to
`GitSyncedApps_spec.js` and added `GitBugs_Spec.ts` for improved test
coverage and accuracy.
- **Refactor**
- Changed `className` attribute to `data-testid` in the `Select`
component within the GitSync merge tab for improved testing and
readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com>
## Description
This pull request updates the BuildingBlockSagas module to handle nested
object value replacement in queries.
Previously, the module only replaced values at the top level of the
object, but now it correctly handles nested values as well. This
improves the accuracy and reliability of the queries.
The changes include adding a new utility function,
`accessNestedObjectValue`, which is used to access and update nested
values in the `actionConfiguration` object.
Additionally, the `updateWidgetsNameInNewQueries` function has been
modified to use this utility function when replacing widget names in
queries.
Overall, these changes enhance the functionality of the
BuildingBlockSagas module and ensure that queries are properly updated
with the new widget names."
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.Widget"
### 🔍 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/9698473149>
> Commit: 6e82692e4cbf8d2e9630499006aa2e0f8adbfdd3
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9698473149&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget`
<!-- 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
- **Refactor**
- Enhanced internal logic for updating nested object values in widget
names.
- **Tests**
- Added new test case for handling `null` or `undefined` inputs in
utility functions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Truncate the title in tooltips if it exceeds 1000 characters to improve
readability.
Fixes#23156
_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.Widget"
### 🔍 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/9697818492>
> Commit: a4007cb6372e7872b1c6472efdabee1a4932a83c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9697818492&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget`
<!-- 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**
- Improved tooltip functionality to automatically truncate text that
exceeds a set character limit, enhancing readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Now, all unit tests will continue to be run in the CI pipeline, even if
they fail.
## 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
- **Chores**
- Updated test script in `package.json` to improve test execution
environment.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
When multiple blocks of the same type are dropped unto the canvas right
after each other, the query body of the newly created query does not
update the binding to the latest version of the widgets.
## Solution
We have gotten the newlyUpdatedQueries from the block API, then we
update the actionConfiguration.body and the jsonPathKeys to match the
updated binding name for the block and implement the action in the local
state.
Fixes#34237
## Automation
/ok-to-test tags="@tag.Widget"
### 🔍 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/9644500854>
> Commit: 562ad23b485afbd0c7b695b0c1aa8e8cc01c94cb
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9644500854&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget`
<!-- 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**
- Enhanced functionality for saving building block widgets to the store.
- **Tests**
- Updated and added new test cases for pasting building block widgets.
- **Bug Fixes**
- Fixed issues with the import and usage of action types and selectors
in the building block sagas.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Since custom widgets rely on react delievered from
`https://cdn.jsdelivr.net`, it can't work in airgapped edition.
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.Widget"
### 🔍 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/9692258525>
> Commit: bf3b40a5c3c51a2271347967516a53655721f7a2
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9692258525&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget`
<!-- 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**
- Custom widgets will now hide specific cards if the environment is
air-gapped.
- **Tests**
- Updated test tags for custom widgets to exclude tests in air-gapped
environments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
These changes add evalTreeWithDiff to evalWorkerAction. Using this
method it will be possible to send the unevalTree and configTree updates
from mainThread to trigger evaluation.
- This will skip diffing complete unEvaltree
### Next steps after this PR
- [ ] Rename EvalTreeWithChanges to evalTreeWithDiff
- [ ] Generate Diff instead of updatedValuePaths for the current
evalTreeWithChanges references.
- [ ] Handle evalTreeWithDiff for
- [ ] JSObject updates
- [ ] updateDependencyMap
Fixes #
## Automation
/test js
### 🔍 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/9684706533>
> Commit: 3de988af5da9900f4e589a008d28296d05d17f25
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9684706533&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.JS`
<!-- 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**
- Enhanced widget evaluation logic and improved handling of dynamic
bindings and dependencies.
- **Bug Fixes**
- Corrected type handling in various evaluation functions to improve
stability and accuracy.
- **Tests**
- Updated test cases for widget property setters to include additional
tags for better categorization.
- **Refactor**
- Streamlined function signatures and improved type safety across
evaluation utilities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Currently, if the incoming request body contains fields that aren't
recognized by the backend, we just ignore them, and deserialize what we
_can_. This has lead to subtle bugs and wasted a lot of developer time
in the past, and added little value in return.
Most recently, with application creation, now fixed in
https://github.com/appsmithorg/appsmith/pull/33722.
Another one, for action creation, client sends this in `eventData` field
of the request body:

But the class defined for `eventData` is this:

Clearly isn't working.
This PR enabled the `FAIL_ON_UNKNOWN_PROPERTIES` setting only for the
deserialization of HTTP request payloads. It shouldn't have impact on
other deserializations like those for Git, and those that load resource
files. Primarily to limit the scope.
This should also bring in some much-needed type strictness to the client
as well. So far, server has been lax in accepting just any fields in the
incoming request body, so client was able to afford being lax about the
object that was sent up.
We're enabling this restriction only for CE currently. Will be opening a
similar PR on EE and once all tests pass there, we enable for EE as
well.
Depends on #33728#33730#33731#34366#34405#34446#34473#34506
Run No. 1
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9685619413>
> Commit: 04e225f91a5549bd41f952ea85fa57483b1b0588
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9685619413&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: ``
**/test all**
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9690185000>
> Commit: 29da8b48a36772bebc188f6173ea07d6acfd9a3c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9690185000&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: ``
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added `certificateType` property to datasources for enhanced SSL
configuration options.
- **Enhancements**
- Improved JSON deserialization behavior for better data handling and
flexibility.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
/ok-to-test tags="@tag.Anvil"
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9678081244>
> Commit: d73f2d7f37c9d62ba1ca622b78d9a0ce4d0e3db8
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9678081244&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced comprehensive test cases for Currency Input, Phone Input,
and General Input Widgets in the Anvil editor covering Canvas, Preview,
and Deploy modes.
- Added complex layout structures for Currency and Phone Input Widgets
in the "MainContainer" canvas widget.
- **Enhancements**
- Implemented debouncing for validation status and error message
handling in the Currency Input Widget to improve timing accuracy.
- Added `defaultValue` property to Currency Input Widget configurations.
- Corrected typos and improved clarity in widget property names and
validation logic.
- **Bug Fixes**
- Fixed validation status typo in Phone Input Widget.
- **Refactor**
- Reordered static property declarations in Input Widgets for better
code organization.
- Modified method access controls in AnvilSnapshot for external usage.
- **Tests**
- Added snapshot testing for Currency, Phone, and General Input Widgets
within the Anvil editor.
- **Chores**
- Added a new method `Createpage(pageName: string)` to streamline page
creation in tests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
Part of #33724, and extension to #34405.
This file's contents are used to call the endpoint:
```
/layouts/{layoutId}/pages/{pageId}?applicationId={applicationId}
```
But this endpoint accepts request payload as `LayoutUpdateDTO`, which
only has one single field, `dsl`, and nothing else.
But the way we use this JSON, is that we're sending the body as this:
```json
{
"widgetName": "MainContainer",
"backgroundColor": "none",
"rightColumn": 1296,
"snapColumns": 64,
"detachFromLayout": true,
"widgetId": "0",
"topRow": 0,
"bottomRow": 440,
"containerStyle": "none",
"snapRows": 125,
"parentRowSpace": 1,
"type": "CANVAS_WIDGET",
"canExtend": true,
"version": 47,
"minHeight": 420,
"parentColumnSpace": 1,
"dynamicBindingPathList": [],
"leftColumn": 0,
"children": []
}
```
Not as this:
```json
{
"dsl": {
"widgetName": "MainContainer",
"backgroundColor": "none",
"rightColumn": 1296,
"snapColumns": 64,
"detachFromLayout": true,
"widgetId": "0",
"topRow": 0,
"bottomRow": 440,
"containerStyle": "none",
"snapRows": 125,
"parentRowSpace": 1,
"type": "CANVAS_WIDGET",
"canExtend": true,
"version": 47,
"minHeight": 420,
"parentColumnSpace": 1,
"dynamicBindingPathList": [],
"leftColumn": 0,
"children": []
}
}
```
Which means that we aren't sending anything useful.
/test widget ide
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9680215500>
> Commit: 8ede3e707c0487cdeda62b166487f093f1bcab78
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9680215500&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget, @tag.IDE`
<!-- end of auto-generated comment: Cypress test results -->
Part of #33724. This is fix for `JSEditorContextMenu_Spec`.
/test ide
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Improved payload handling for `createJSCollection` and
`copyJSCollection` methods to better manage nested objects.
These changes optimize data handling within the app, ensuring smoother
and more reliable performance when creating or copying JavaScript
collections.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9679862281>
> Commit: 50ee7d6bf036e101738d2ff9f54ffdef7c5e180b
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9679862281&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IDE`
<!-- end of auto-generated comment: Cypress test results -->
Part of #33724. Fixes for JSObject API calls and
`EvaluatedValuePopUp_spec` test.
**/test sanity binding**
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9665092474>
> Commit: d48cd19bfc2165bd06d605608ee632faa042a820
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9665092474&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Binding`
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Improved the structure of API request payloads for JS collections,
ensuring more efficient data handling.
- **Bug Fixes**
- Removed unnecessary parameters from dynamic value fetching functions,
streamlining the process and reducing potential errors.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Part of #33724. The server uses only `uidString` for this API endpoint,
which is all we should be sending. The server accepts a few other fields
as well today, but doesn't use them. That'll also be fixed in the
future, to only accept strictly what's needed.
/test sanity js
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9672660446>
> Commit: a61fa21404ab4ab7fd450f2db9f256dfe86f2f4d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9672660446&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.JS`
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved the `updateLibrary` method to send specific payload data,
enhancing API reliability.
- **Logging Improvements**
- Updated log messages in the `removeJSLibFromApplication` method to
exclude version information for better clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR implements the new design for the list view.
Fixes#33432
## Automation
/ok-to-test tags="@tag.Sanity, @tag.IDE"
### 🔍 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/9660135881>
> Commit: fb8addb5a6fae5c9d68c0164d8332105bfa88ec9
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9660135881&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.IDE`
<!-- 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**
- Introduced `AddTab` component to add new JavaScript or Query tabs.
- Added `ScreenModeToggle` for switching between full-screen and
split-screen modes.
- Added `FileTab` component for improved tab interactions.
- Introduced `List` component for conditional rendering based on editor
state.
- **Bug Fixes**
- Corrected test assertions and tab names in `JSRender.test.tsx` and
`QueryRender.test.tsx`.
- Fixed tab closure and interaction flow in
`IDE_Add_Pane_Interactions_spec.ts`.
- **Refactor**
- Simplified selector functions and updated component imports for better
readability and performance.
- **Tests**
- Updated tests to include `currentEntity` props and use
`sanitizeString` for tab titles.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
The `tlog` command isn't predictably getting the executable permission,
so we're explicitly setting that up in `Dockerfile` here.
As well as in the setup script for Cypress, if we get a 502 even after
90 seconds, we print the logs of the `appsmith` container, so we're not
guessing the causes. This should provide us more information next time
we see such flakiness.
**/test sanity**
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9658565348>
> Commit: 96c777dd9a1bd8c28477bf1dcd1d4748ced0022e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9658565348&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Updated Dockerfile to ensure custom command-scripts in `/opt/bin/`
have executable permissions.
- Enhanced `setup-test-ci.sh` script to output `appsmith` logs when the
server connection fails.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR fix the invalid URL issue after deleting the last datasource.
This is caused by the focus retention delete order. Whenever a focus
history is being deleted, it should be done after redirection to the new
URL.
Fixes#33994
## Automation
/ok-to-test tags="@tag.IDE, @tag.Datasource"
### 🔍 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/9657584656>
> Commit: 010092ee7e177a8244912b45962cb79ff210ec29
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9657584656&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IDE, @tag.Datasource`
<!-- 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
- **Bug Fixes**
- Improved the deletion process of data sources to ensure proper
handling of focus history and redirects.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Part of #33724.
This PR fixes a few more APIs to pass just the fields that the server
expects, and nothing more.
/test sanity datasource
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9648180689>
> Commit: 874f9f1a721108d36dae5719fa842d595bd9281d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9648180689&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Datasource`
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Improved payload structure for `updateAction` and `moveAction` methods
to enhance API request consistency.
- Updated `updateApplicationTheme` method to refine the payload before
making API calls.
- Modified `generateTemplatePage` method to update the request payload,
improving API interaction.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
* This pull request refactors the function
`handleButtonDynamicTriggerPathList` to
`handleWidgetDynamicTriggerPathList` in order to make it more generic
and handle dynamic trigger paths for all types of widgets.
* Additionally, the pull request moves the function
`handleIfParentIsListWidgetWhilePasting` out of
`handleSpecificCasesWhilePasting` to handle compound cases where the
parent of the current widget needs to be checked.
* Improves the nested object value replacement logic in
`PasteWidgetUtils`.
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.Templates, @tag.Widget, @tag.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/9656587968>
> Commit: 4b821787d7ab5ad302b458c726c632b1e43b49e4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9656587968&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Templates, @tag.Widget, @tag.Sanity`
<!-- 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
- **Refactor**
- Simplified handling of pasting widgets by consolidating functions.
- Improved logic for handling widget pasting scenarios.
- Reorganized function names for better clarity and consistency.
- **Bug Fixes**
- Enhanced the handling of widgets when their parent is a list widget
during pasting.
- **Tests**
- Updated test cases to reflect changes in widget pasting logic and
function names.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Jacques Ikot <jacquesikot@gmail.com>
## Description
To improve readability sorted tags in tags.js
Fixes#34419
## Automation
/ok-to-test tags="@tag.Sanity"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> 🟣🟣🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/9656608059>
> Commit: c45654a04119910854b5f9e7989f42ccf76356a1
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`
<!-- 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 new tags for enhanced categorization, including `@tag.Audio`,
`@tag.Auditlogs`, `@tag.Authentication`, `@tag.Camera`, `@tag.Form`,
`@tag.Image`, `@tag.Video`, and many more to improve content
organization.
- **Removals**
- Removed outdated or redundant tags like `@tag.Git`, `@tag.Widget`,
`@tag.Slider`, and `@tag.Input` for better clarity and relevance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
PR to update the Postgres posrt for TED container in CI.
/test 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/9646981763>
> Commit: d998c6fe77ac2acdb71888fe6b3d7603ddda508c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9646981763&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: ``
<!-- 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
- **Chores**
- Updated Docker port mapping from `5432` to `5433` across multiple CI
workflow files to ensure consistency and avoid port conflicts.
- **Bug Fixes**
- Adjusted PostgreSQL connection port from `5432` to `5433` in test
fixtures and scripts to align with environment changes and prevent
connection issues.
- **Tests**
- Modified test scripts to handle new PostgreSQL port settings for
improved reliability in testing scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Part of #33724.
We have a lot of fixture files in our Cypress tests with DSLs of various
kinds. They are used to update the DSL using the
`/api/v1/layouts/{layoutId}/pages/{pageId}?applicationId={applicationId}`.
This API, is [in this line in
`LayoutControllerCE`](c4e5d5e6c8/app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/ce/LayoutControllerCE.java (L71)),
and the request body is parsed as [objects of `LayoutUpdateDTO`
record](71bc84fc76/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/LayoutUpdateDTO.java (L6)).
This `record`, accepts _only_ the `dsl` field, and nothing else.
List of potential files that have this problem was identified with this
command:
```sh
cd app/client/cypress
rg -Io 'AddDsl\(".+?\)' \
| cut -d\" -f2 \
| sort -u \
| while read line; do
if rg -q '"(layoutOnLoadActions|layoutOnLoadActionErrors|userPermissions|new)":' fixtures/"$line".json; then
echo $line
fi
done
```
(For reference, and to use on EE repo, after this is merged).
**/test all**
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> 🔴🔴🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9633990737>
> Commit: 9e848f1ed0c3332177d2e6c4a75e2483f045395f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9633990737&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: ``
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor3_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_1_spec.js
>
<li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_2_spec.js
</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 -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Corrected the file path for loading DSL configuration in the nested
list widget scenario.
- **Chores**
- Streamlined multiple JSON files by removing deprecated
`layoutOnLoadActions` arrays and other obsolete fields, resulting in
cleaner and more manageable configurations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Part of https://github.com/appsmithorg/appsmith/pull/33724. This is an
effort to harden the server in terms of what request payloads are
acceptable.
**/test all**
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced API request payload handling for creating actions to include
additional properties, improving data integrity and server-side
validation.
- **Improvements**
- Refined data manipulation and payload structures in datasource-related
API requests for better compatibility with server requirements.
<!-- end of auto-generated comment: release notes by coderabbit.ai
--><!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> 🔴🔴🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9626214547>
> Commit: fe5db45aeb916b176aec3ded06f1a9da1bf08898
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9626214547&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: ``
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor3_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_1_spec.js
>
<li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_2_spec.js
</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 -->
## Description
Fix modal onClose method in edit mode
Fixes#33861
## Automation
/ok-to-test tags="@tag.Anvil"
### 🔍 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/9643445303>
> Commit: 179602e52dcc2cdcaeecc5f67af5bc4ac12ee431
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9643445303&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
<!-- 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
- **Bug Fixes**
- Improved modal widget behavior to ensure it checks for
disableWidgetInteraction before closing, preventing unwanted closures.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
[](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=9GEnyEC)
## Description
> [!TIP]
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._
Fixes#33740
_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.Anvil"
### 🔍 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/9643638292>
> Commit: bcc4bbddaa50b0be16e41a3a51db4f6abe732e79
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9643638292&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
<!-- 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**
- Introduced test cases for Anvil modals, covering interactions like
opening, closing, drag and drop operations, and handling modal
functions.
- **Bug Fixes**
- Enhanced testing capabilities with `data-testid` attributes for better
identification and testing of components, particularly in detached
widget drop areas.
- **Refactor**
- Updated the `Modal` component to use `dataAttributes` instead of
`size` prop to streamline attribute handling.
- Dynamic generation of modal class names based on properties for better
styling and consistency.
- **Style**
- Adjusted styling for SVG elements within the `EntityExplorer`
component, specifically modifying the height and width properties.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
## Description
- Remove click event from Stats
- Remove validation section from SwitchGroup
- Fix Inline button variant for added button
- Fix paragraph default text
- Fix inputs placeholders
Fixes:
#34189#34002#33753#33242#33243#33186#32509
## Automation
/ok-to-test tags="@tag.Anvil"
### 🔍 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/9615117095>
> Commit: 15420c10925a9315375f7da9ba6fa6bfd7b9fb29
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9615117095&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
<!-- 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**
- Updated the placeholder text for input fields to provide more concise
and specific guidance.
- **Bug Fixes**
- Adjusted button variant naming for better consistency.
- Improved text in `WDSParagraphWidget` to emphasize understanding
mysteries.
- **Refactor**
- Removed unnecessary `onClick` prop from `StatsComponent`.
- Simplified `getWidgetView` function in `WDSStatsWidget`.
- **Chores**
- Cleaned up redundant validation and required properties in
`WDSSwitchGroupWidget`.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Going through EE repo to check if there are any changes in the repo
(outside EE folder) that do no exist in the CE directory. These changes
are harmless and seem to have been added to EE only by mistake. This PR
will ensure the changes are copied here as well to maintain the sync
## Automation
/ok-to-test tags="@tag.All"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> 🟣🟣🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/9642308929>
> Commit: 825650372300260c39ae7b5b2ce91d2178dfa8c9
> Workflow: `PR Automation test suite`
> Tags: ``
<!-- 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**
- Introduced a new CDN URL declaration for improved asset management.
- Added a new function to check if the app mode is in "Published" state.
- **Style**
- Updated global styles to include new `.ai-window` class in popovers.
- Enhanced cursor styling in the `CopyUrlForm` component.
- **Bug Fixes**
- Corrected an attribute name in the `ReconnectDatasourceModal`
component.
- **Performance**
- Added caching for tenant configuration to optimize loading times.
- **Chores**
- Set `__webpack_public_path__` to support CDN usage in the Enterprise
Edition environment.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Reverts appsmithorg/appsmith#34349
## Automation
/ok-to-test tags="@tag.Sanity,@tag.TextEditor"
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tinymce/tinymce/blob/main/modules/tinymce/CHANGELOG.md">tinymce's
changelog</a>.</em></p>
<blockquote>
<h2>7.2.0 - 2024-06-19</h2>
<h3>Added</h3>
<ul>
<li>Added <code>options.debug</code> API that logs the initial raw
editor options to console. #TINY-10605</li>
<li>Added <code>referrerpolicy</code> as a valid attribute for an iframe
element. #TINY-10374</li>
<li>New <code>onInit</code> and <code>stretched</code> properties to the
<code>HtmlPanel</code> dialog component. #TINY-10900</li>
<li>Added support for querying the state of the
<code>mceTogglePlainTextPaste</code> command. #TINY-10938</li>
<li>Added <code>for</code> option to dialog label components to improve
accessibility. The value must be another component on the same dialog.
#TINY-10971</li>
</ul>
<h3>Improved</h3>
<ul>
<li>Dialog slider components now emit an onChange event when using arrow
keys. #TINY-10428</li>
<li>Accessibility for element path buttons, added tooltip to describe
the button and removed incorrect <code>aria-level</code> attribute.
#TINY-10891</li>
<li>Improve merging of inserted inline elements by removing nodes with
redundant inheritable styles. #TINY-10869</li>
<li>Improved Find & Replace dialog accessibility by changing
placeholders to labels. #TINY-10871</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Replaced tiny branding logo with <code>Build with TinyMCE</code>
text and logo. #TINY-11001</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Deleting in a <code>div</code> with preceeding <code>br</code>
elements would sometimes throw errors. #TINY-10840</li>
<li><code>autoresize_bottom_margin</code> was not reliably applied in
some situations. #TINY-10793</li>
<li>Fixed cases where adding a newline around a br, table or img would
not move the cursor to a new line. #TINY-10384</li>
<li>Focusing on <code>contenteditable="true"</code> element
when using <code>editable_root: false</code> and inline mode causing
selection to be shifted. #TINY-10820</li>
<li>Corrected the <code>role</code> attribute on listbox dialog
components to <code>combobox</code> when there are no nested menu items.
#TINY-10807</li>
<li>HTML entities that were double decoded in <code>noscript</code>
elements caused an XSS vulnerability. #TINY-11019</li>
<li>It was possible to inject XSS HTML that was not matching the regexp
when using the <code>noneditable_regexp</code> option. #TINY-11022</li>
</ul>
<h2>7.1.2 - 2024-06-05</h2>
<h3>Fixed</h3>
<ul>
<li>CSS color values set to <code>transparent</code> were incorrectly
converted to '<a
href="https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce/issues/000000">#000000</a>`.
#TINY-10916</li>
</ul>
<h2>7.1.1 - 2024-05-22</h2>
<h3>Fixed</h3>
<ul>
<li>Insert/Edit image dialog lost focus after the image upload
completed. #TINY-10885</li>
<li>Deleting into a list from a paragraph that has an <code>img</code>
tag could cause extra inline styles to be added. #TINY-10892</li>
<li>Resolved an issue where emojis configured with the
<code>emojiimages</code> database were not loading correctly due to a
broken CDN. #TINY-10878</li>
<li>Iframes in dialogs were not rendering rounded borders correctly.
#TINY-10901</li>
<li>Autocompleter possible values are no longer capped at a length of
10. #TINY-10942</li>
</ul>
<h2>7.1.0 - 2024-05-08</h2>
<h3>Added</h3>
<ul>
<li>Parser support for math elements. #TINY-10809</li>
<li>New <code>math-equation</code> icon. #TINY-10804</li>
</ul>
<h3>Improved</h3>
<ul>
<li>Included <code>itemprop</code>, <code>itemscope</code> and
<code>itemtype</code> as valid HTML5 attributes in the core schema.
#TINY-9932</li>
<li>Notification accessibility improvements: added tooltips, keyboard
navigation and shortcut to focus on notifications. #TINY-6925</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="754e390c67"><code>754e390</code></a>
TINY-10860: Prepare for 7.2 release (<a
href="https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce/issues/9715">#9715</a>)</li>
<li><a
href="a9fb858509"><code>a9fb858</code></a>
TINY-11019 & TINY-11022: Fixed issues with noscript encoding and
noneditable_...</li>
<li><a
href="3fae00c85d"><code>3fae00c</code></a>
TINY-10807: Use role="combobox" for flat ListBox components
(<a
href="https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce/issues/9665">#9665</a>)</li>
<li><a
href="e7ef3b66e2"><code>e7ef3b6</code></a>
TINY-10871: replace placeholders with labels in Find & Replace
dialog (<a
href="https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce/issues/9689">#9689</a>)</li>
<li><a
href="6ce11b6860"><code>6ce11b6</code></a>
TINY-10936: Merge release to main (<a
href="https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce/issues/9685">#9685</a>)</li>
<li><a
href="5fa376a63e"><code>5fa376a</code></a>
TINY-11001: Replaced tiny branding logo (<a
href="https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce/issues/9683">#9683</a>)</li>
<li><a
href="c42efc2871"><code>c42efc2</code></a>
TINY-10938: Added query command for paste as plaintext status. (<a
href="https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce/issues/9651">#9651</a>)</li>
<li><a
href="70cff122d8"><code>70cff12</code></a>
TINY-10971: introduce optional label for property (<a
href="https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce/issues/9681">#9681</a>)</li>
<li><a
href="054671e930"><code>054671e</code></a>
TINY-10891: Add tooltips to element path (<a
href="https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce/issues/9676">#9676</a>)</li>
<li><a
href="465fbbee67"><code>465fbbe</code></a>
TINY-10869: Improve merging inserted nested inline elements (<a
href="https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce/issues/9658">#9658</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tinymce/tinymce/commits/7.2.0/modules/tinymce">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/appsmithorg/appsmith/network/alerts).
</details>
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9641034857>
> Commit: 1f48cb54ff34e175f320f314866e0024c4664f00
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9641034857&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity,@tag.TextEditor`
<!-- end of auto-generated comment: Cypress test results -->
[](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=Pmk6xa9)
## Description
> [!TIP]
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._
Fixes#33981
_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.Anvil"
### 🔍 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/9639877981>
> Commit: 311f59c5d6cff265ea985c13f9891193866304d6
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9639877981&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
<!-- 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
- **Tests**
- Introduced test cases for adding and moving widgets within a canvas
layout.
- **New Features**
- Added functionality to generate mock data for a layout with two
sections, each containing a zone widget.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Over on `pg`, we use UUIDs for page IDs, not Object IDs, so the way we
extract page ID should account for this. This PR supports page IDs as
both ObjectId and UUID. So the same code should work on both `release`
and `pg`.
**/test sanity**
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9625470562>
> Commit: e21db70964e824cbbb82a76182f46fe08a259f90
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9625470562&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Improved URL parsing logic for extracting `pageid` using a new method
to enhance robustness.
- Added assertions to ensure `pageid` is not null before proceeding with
further actions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Capturing the telemetry of webworker's allPaths and
unEvalTreeWithStringifiedJSFunctionsDiff computation.
#34397
## Automation
/ok-to-test tags="@tag.Sanity"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> 🟣🟣🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/9613641914>
> Commit: b3d679a8a079fc5c3febf7b4855916f32c982512
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`
<!-- 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**
- Introduced profiling for key operations to monitor performance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
The request key used to store the mutex for prefetch request was
including all header keys. The prefetch request created by the service
worker only had one key (branchname) but the request initiated by the
client had more headers. Because of this mismatch in keys the request
was missing 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 -->
> [!IMPORTANT]
> 🟣🟣🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/9612628976>
> Commit: e9c4a982eddded5dce31005365978b4729dadba2
> Workflow: `PR Automation test suite`
> Tags: ``
<!-- 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**
- Improved request key generation by including specific headers,
enhancing cache performance.
- **Tests**
- Added a test case to verify the new request key generation logic based
on headers.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Revert to passing hook as a prop for EE compatibility.
Fixes#32982
## Automation
/ok-to-test tags="@tag.IDE"
### 🔍 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/9600106265>
> Commit: 042f94586b64efc1b8224059ceebddb0a4a9f0e6
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9600106265&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IDE`
<!-- 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**
- Enhanced navigation menu generation in the editor with improved data
management.
- **Refactor**
- Updated the navigation menu logic to use a new function, improving
code maintainability and data handling.
- **Bug Fixes**
- Fixed inconsistencies in the navigation menu across different
components in the editor.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
/ok-to-test tags="@tag.Anvil"
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced test cases for Anvil Button Widgets, including Canvas,
Preview, and Deploy modes.
- **Bug Fixes**
- Updated CSS and HTML selectors for better element targeting and
testing reliability.
- **Style**
- Improved styling logic for buttons in the InlineButtons component.
- **Chores**
- Added `data-testid` attributes for better test targeting.
- Refactored code for string concatenations and URL constructions in
DeployModeHelper.
<!-- end of auto-generated comment: release notes by coderabbit.ai
--><!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9597157402>
> Commit: c551705fe01aace94962fcc7fa91dff253136721
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9597157402&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
<!-- end of auto-generated comment: Cypress test results -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
## Description
- Add excludeFromTabOrder for WDS widgets
- WDS Table refactoring
Fixes#32369
## Automation
/ok-to-test tags="@tag.Anvil"
### 🔍 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/9596169254>
> Commit: 25d5ef47520266d904c3c545940ad6009e7b2a8f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9596169254&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
<!-- 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**
- Introduced the ability to exclude toolbar buttons from the tab order
for improved accessibility and user experience. This can be controlled
via the `excludeFromTabOrder` property.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->