RCA:
Test was failing at comparison step where we export and compare
Solution:
Updated the WidgetsExportedOnly.json, now the comparison step is working
as expected
Improved the assertions within importApp() reduced wait time and also
removed the Toast message verification
/ok-to-test tags="@tag.Workspace,@tag.ImportExport"
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8941790028>
> Commit: 23535e879fde6b8d3018e6bcd762a85df18fea9c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8941790028&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Description
If there are any functions in a JS Object that accept an argument, an
update action collection for the JavaScript object is triggered when the
application first loads. These update calls alter the lastUpdatedAt time
of a page merely by opening the application in edit mode, without making
any changes.
In getDifferenceInJSCollection, we check if the arguments to the action
(function in a JS object) are the same as those in the Redux store. This
check is not required as we are already checking the equality of the
body and arguments are also part of the body.
This check was always returning false because one of the object has an
extra value key
```
x = [{ name: "argument1" }]
y = [{ name: "argument1" , value: undefined }]
```
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/8967578757>
> Commit: 5b1cdb75986374be3469b22382c542bf123a8ead
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8967578757&attempt=2"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
## Description
Updated the condition to prevent main JS function rename from entity
list
Fixes#32275
## 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/8967754921>
> Commit: 9c3f85291a40460a4e7566ae7591308634c4048c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8967754921&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
---------
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
This PR adds a ability for anvil widgets ( mainly buttons, icon buttons,
heading, paragraph and inline buttons ) to use values from session on
creation on drop.
/ok-to-test tags="@tag.Anvil"
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced logic to maintain button appearance using session storage
values.
- Added functionality to mark properties as reusable, enhancing widget
configuration flexibility.
- **Bug Fixes**
- Corrected a syntax error in `WidgetCard.tsx` to ensure proper class
name generation.
- **Enhancements**
- Improved widget creation process by saving and retrieving properties
from session storage, ensuring consistency across sessions.
<!-- 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/8936335019>
> Commit: fbe155c1165c7e99d837474a7baf56b1430e880a
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8936335019&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
## Description
We pass the `widgetId` to a function check if the widget is focused.
This function is mislabeled as `isCurrentWidgetFocused`. The `Current`
assumes that the widget is available in context.
A better name would be `isWidgetFocused`.
This PR refactors to rectify this.
## 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/8960937874>
> Commit: 2126e292d725025fccf98a9c805a1c9b04fc715e
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8960937874&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
## Description
We are capturing the complete webworker latency as a separate root span
and pushing this OTLP telemetry data. We are also attaching this span as
a sub span to the EVAL_TREE spans as well.
Fixes#33127
> [!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/8965108873>
> Commit: 7176101e021c93b2c53bf3c5d500560729ed45be
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8965108873&attempt=2"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
## Description
Extracts certain building blocks for the IDE into common components to
introduce more reusability in implementation of IDE in other editors
This PR deals with the pages dropdown section only.
Fixes#33048
## 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/8919287328>
> Commit: 4d534b4e8df1f240a8f164089893aca8673553e3
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8919287328&attempt=2"
target="_blank">Click here!</a>
<!-- 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 fixes part of the widget selection issues from #33138
Specifically, the following:
- [x] Modal border radius goes away in preview mode.
- [x] When a widget is selected and we hover over it, the border
thickness reduces.
- [x] When clicking on the error button, the property control with the
error is not focused.
## 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/8939093222>
> Commit: a94a7ad57d7bcf65f3c17ee158ff612b41d77f57
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8939093222&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
Fixes#31959
Tiny UX update to the custom color picker button in WDS theme settings.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced the theme property pane to identify and display custom accent
colors differently.
- **Style Updates**
- Improved alignment and visual presentation of buttons and labels in
the theme property pane.
- Added new styles for SVG paths to enhance visual clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
## Description
windowMessageListener is throwing linting error saying
`windowMessageListener is not defined` because it is missing from global
data which gets created as part of linter.
windowMessageListener is added based on
`license_message_listener_enabled` feature flag. consolidated API sends
all feature flags and as we are setting up linter engine before
consolidated api is finished, it takes default value of feature flag
from redux store. We don't update these feature flag values again
leaving linter to have stale values ie
`license_message_listener_enabled: false`.
this fix ensures that linter set up is called after consolidated api is
finished to get updated values for feature flags
Fixes # https://github.com/appsmithorg/appsmith/issues/32126
_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/8908838242>
> Commit: c4cd0d6423e71bddfb43025c82d02453d1e8f733
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8908838242&attempt=3"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
## Description
This PR fixes 2 issues:
1. Building blocks after getting dropped had multiple seleciton on - now
we not selecting anything
2. BBs were visible in side by side nav. Now it will only be visible if
`UI` widget is selected.
Fixes#33085
_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, @tag.Templates"
### 🔍 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/8909118563>
> Commit: 6603b5c05bad39ffdc06e3b67a83669cd2cfe4f7
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8909118563&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
## Description
- Create a new set of configurations that can be added to any widget
that will configure the following:
- Selection state colors
- Focused state colors
- If the parent widget can be toggled from the widget's widget name
component.
- Create a default configuration to use if widget hasn't specified the
colors
- Add CSS color variables for the current selection and focused states
- Add configuration to zone, section and modal widgets.
Fixes#33075
## 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/8897891359>
> Commit: 85cdd6b0f1fcce6888cfa3e0c10159def7b2565e
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8897891359&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
## Description
A set of DUCK type, action and saga that opens the first property
control with error for a given `widgetId`.
Note: This assumes that an error exists when calling the action.
Fixes#33073
## 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/8906908304>
> Commit: 3e397ff84c830bd64b4652b2bbddad987ed7414a
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8906908304&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
[](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=MA2NqRe)
## 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._
In #33040 we added a state exclusively to capture modals that are
opened/closed to avoid computing which modal is open based on meta
state.
However the problem with this approach that I had understood after
testing it with deployed apps is that closing a modal is not done only
via the saga, but is done via actions and the modal itself without
dispatching the common saga.
Obviously the above implementation dunked.
Reverting to the previous implementation of relying on meta state to
select visible detached widgets.
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.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/8895170744>
> Commit: 517ffc6ac5302bae6940b17b76774a963a18f773
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8895170744&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
## Description
Adding back the function call for triggering audit log event on JS
action execution on EE
Fixes [#4013](https://github.com/appsmithorg/appsmith-ee/issues/4013)
## 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/8881877825>
> Commit: 6cb9398e847525a92d075c518731033e03358716
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8881877825&attempt=2"
target="_blank">Click here!</a>
<!-- 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 logging capabilities for JavaScript function executions to
improve debugging and monitoring.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
The autoGeneratedHeaders property in actionConfiguration is
unnecessarily getting introduced as git changes. This PR fixes that
issue.
With current implementation, In a git connected application, when we
create any action and bind it to table widget, once we successfully
commit these changes, after surfing the application without making any
changes, we can see new changes to be committed for git and in those
changes we can see `autoGeneratedHeaders: []` inside
actionConfiguration. This issue has been fixed by initialising the field
by default when we create action.
<img width="932" alt="gittest"
src="https://github.com/appsmithorg/appsmith/assets/30018882/9d76ab45-7cb4-4aa4-ba44-baf19a1f38e0">
Redux unit tests have been added to assert the fix
Fixes#27941
_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/8874903423>
> Commit: 769749d63ca9f02c2e635ee393d93657201274cf
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8874903423&attempt=1"
target="_blank">Click here!</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**
- Enhanced API and GraphQL editors with support for auto-generated
headers to streamline configuration processes.
- **Tests**
- Added new tests to ensure the reliability of API configuration
functionalities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: “sneha122” <“sneha@appsmith.com”>
## 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 https://github.com/appsmithorg/appsmith/issues/32903
## 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/8892306251>
> Commit: 6b2c1c8e637dc89eebf51d431f5e78f92ae9ac23
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8892306251&attempt=1"
target="_blank">Click here!</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**
- Enhanced functionality to set collection IDs during partial imports.
- **Tests**
- Improved testing for partial imports by adding new assertions to
verify action names.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Jacques Ikot <jacquesikot@gmail.com>
Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
[](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=M62wKah)
## Description
Currently we render all the detached widgets(Modal) via a hook and the
widget shows up when the metaValue for visibility is toggled for a
modal.
Problems with this:
- we render all modal widgets even before they are needed.
- everytime something on the canvas changes the widgets are rendered.
To solve this we are going to rely on a state that captures the
currently open detached widgets in anvil
`anvilDetachedWidgets.currentlyOpenDetachedWidgets`
This is captured and reset currently based on show and close operations
of a modal.
we now have the modals that are currently open, we simply use this state
to render detached widgets by extracting the widget from the
`canvasWidgetsStructure` in the `useDetachedChildren` hook.
PS: we are taking advantage of the fact that modal widgets can only be a
child of main canvas in anvil. extracting modal states/props from
`canvasWidgetsStructure` becomes more performant coz its a targetted
search now.
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.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/8890517497>
> Commit: b68ad19c09f768b99d28b72626ceefaa1b79056d
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8890517497&attempt=1"
target="_blank">Click here!</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**
- Introduced a new component for rendering detached child widgets within
the Anvil layout system.
- **Refactor**
- Updated the handling and rendering process of detached widgets across
various components in the Anvil system.
- **Bug Fixes**
- Adjusted selector logic to correctly retrieve and manage detached
widget states.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
[](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=MfLLKnB)
## 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 #`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/8877065723>
> Commit: 918fd45704546793524f2c97c05ab01e27063b6c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8877065723&attempt=2"
target="_blank">Click here!</a>
<!-- 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 widget configuration logic to better handle icons based on
widget methods.
- **Refactor**
- Improved the filtering logic for widget cards in the editor, now
supports different layout configurations more effectively.
- Renamed variables for better clarity in widget card selection based on
layout system.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Updating the action calls for sagas to trigger the Admin setting APIs.
This was required after the consolidated API changes came in, as the API
takes long time to load and `FETCH_USER_SUCCESS` call happens before
`FETCH_FEATURE_FLAGS_SUCCESS` call. We need both of the actions to be
successful before adding the saga. Hence updating it to the action
`END_CONSOLIDATED_PAGE_LOAD` now.
Fixes [#33034](https://github.com/appsmithorg/appsmith/issues/33034)
## Automation
/ok-to-test tags="@tag.Settings"
### 🔍 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/8877126026>
> Commit: a5f7a066af16a450d67596a732c6a00cd1c6d9ff
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8877126026&attempt=1"
target="_blank">Click here!</a>
<!-- 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 the initialization process for super users to conditionally
trigger actions based on specific feature availability.
- **Refactor**
- Updated logic in the Super User initialization to improve how feature
flags and user details are checked and utilized.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
If we use REST API action and file picker widget to upload any
multimedia files (image, audio, video, pdf, xlsx), The file upload would
be successful but file would get corrupted upon uploading. This was
happening because file picker widget encodes this file to base64 format,
and we were uploading this same base64 string using REST API url.
Instead we should have decoded this base64 and then uploaded the file to
retain the original contents of the file.
This PR fixes that issue by adding a new tab in body of the REST API
action called `binary`, once we select this tab, we get autogenerated
header for `Content-Type: application/octet-stream`, in this binary
input field we can then provide base64 encoded file contents, the server
then decodes the contents before triggering the respective REST API and
uploading the file.
### Steps to test the issue
1. Add a file picker widget on canvas
2. Select data format as `Base64`
3. Upload any of pdf, image, audio, video, xlsx in file picker
4. Create a REST API action using [Dropbox upload
API](https://www.dropbox.com/developers/documentation/http/documentation#files-upload)
5. Configure the API headers as mentioned in the documentation, also
configure file name in the header correctly
6. Go to body tab, select binary and file contents in input box using
binding like {{Filepicker1.files[0].data}}
7. Execute this API
8. Now go to your dropbox account and check the uploaded file, you
should be able to successfully preview it
Fixes#32378
_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/8844375718>
> Commit: 3316290a4d7d77ae3f9d8969245c5f470ef1ab5c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8844375718&attempt=1"
target="_blank">Click here!</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 support for binary file uploads in API requests, including
handling of base64-encoded files.
- Expanded content type options to include a new "BINARY" type for API
requests.
- **Tests**
- Implemented new tests to verify the functionality of binary file
uploads with dynamic data binding.
- **Bug Fixes**
- Ensured correct handling and auto-generation of headers for binary
file types and form urlencoded data formats.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: “sneha122” <“sneha@appsmith.com”>
## Description
- Fixed the issue where the animation of the progress bar wouldn't work
if the value was going from zero or going to zero.
- Made the animation consistent even when the introduced value is less
than zero.
Fixes#11915
## 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 -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved the `ProgressWidget` to correctly handle negative progress
values by ensuring the progress bar width is never negative.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
> [!TIP]
**Problem**
The current building block on canvas implementation uses the pasteSaga
logic, and this logic requires the mousePosition to know where to paste
the widgets. Due to building blocks being mimicked as a single widget,
we get grid position values instead of mouse location when dragging and
dropping building blocks, this forced us to create e utility function
that generates mousePosition from gridPosition values. This logic was
flawed and led to building blocks placement being wrong when the view is
scrolled.
**Solution**
We have decided to implement the pasteSaga to allow both mousePosition
and gridPosition as expected values for dropping the copied widgets unto
the canvas.
Fixes#32962
## 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/8875384318>
> Commit: 6f425a394a7349b6461576b3762b0c152eed5659
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8875384318&attempt=1"
target="_blank">Click here!</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**
- Enhanced building block functionalities including new actions and
templates for a smoother drag-and-drop experience.
- Added ability to specify exact grid positions when placing widgets,
enhancing layout precision.
- **Refactor**
- Streamlined sagas related to widget operations and building blocks for
improved performance and maintainability.
- **Bug Fixes**
- Adjusted widget addition logic to prevent UI issues during
drag-and-drop actions.
- **Chores**
- Removed outdated functions and reorganized imports to align with
updated functionalities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Jacques Ikot <jacquesikot@gmail.com>
[](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=MdeCkAG)
## Description
In this PR,
- we are refactoring Anvil DnD to use dom elements to render highlights
instead of canvas.
Why?
- Doesn't have the ability to overflow a widget and still allow dnd
events(section widget use case)
- limitations with respect to being testable
- we are adding compensators to dnd layers, so that DnD is not just for
layout but for the entire widget.
Widget is the appsmith entity.
layout is something present in container like widgets like Section and
Zone which allow you to contain children widgets based on a the layout
structure.
What are compensators?
- additional padding for DnD layers in a widget
- additional position offsets for highlights in a widget so that they
don't stick to the layout.
Why compensators?
- Section widget can be activated to show highlights in areas
overlapping with main canvas
- DnD should be possible even at spacings created by parent widget like
in Zone widget
- we are also removing canvas activation logic and moving to using mouse
move event to activate a canvas for DnD.
Fixes#32016
_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/8872919856>
> Commit: 3f6603bf8480a99437552ac73764c9de1d6f7f95
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8872919856&attempt=1"
target="_blank">Click here!</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
## Summary by CodeRabbit
- **New Features**
- Introduced a new layout property for widgets, enhancing customization
options.
- Added a custom error boundary component to handle and display errors
elegantly.
- New drag-and-drop components and utilities to improve interaction
within the editor canvas.
- Adjusted component hierarchies in Anvil editor and viewer for better
performance and structure.
- **Refactor**
- Simplified rendering logic in `AnvilWidgetComponent` by removing
conditional boundaries.
- Updated the hierarchy within the Anvil editor, enhancing component
nesting and interaction.
- **Bug Fixes**
- Adjusted padding values and added new constants for better UI
alignment and interaction feedback.
- **Chores**
- Renamed and reorganized Cypress locators and methods for clearer and
more efficient testing automation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Page and State switches would navigate to the last selected segment
which in turn would navigate to the last selected entity in that
segment. This was causing a split second delay showing the segment in a
loading / blank state till the entity navigation was processed. By
changing the navigation links, we will now navigate directly to the last
selected entity, avoiding multiple url changes and hence renders in
intermediate states
Fixes#31556
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Enhanced navigation and focus elements for improved user experience.
- **New Features**
- Streamlined focus management with a new key generation function in the
IDE.
- **Bug Fixes**
- Corrected issues in focus management logic for accurate page
navigation and entity selection.
- **Documentation**
- Simplified focus element usage instructions and removed outdated
references.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR will remove tabs revamp feature flag and make it available for
every users.
Fixes#32955
## 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/8847166703>
> Commit: 7c27a28e1f73a8470543e453c7000d3d773116e9
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8847166703&attempt=1"
target="_blank">Click here!</a>
<!-- 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**
- Removed the feature flag for the IDE tabs revamp, simplifying the
rendering logic and component behavior across various IDE components.
- Streamlined the handling of tabs in the IDE, eliminating conditional
feature flag checks and associated conditional rendering.
- Adjusted test suites to align with the removal of the feature flag,
ensuring consistency in component behavior testing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Adds a couple of props to alter the data displayed in the datasources
left pane to show the right count of entities using datasource. This
props are going to be used in Packages and Workflow editors datasources
page.
PR for https://github.com/appsmithorg/appsmith-ee/pull/4026
## Automation
/ok-to-test tags="@tag.IDE, @tag.Datasource, @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/8843287060>
> Commit: 66a5282be88c27fab11316bd136d88bc74de5d5b
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8843287060&attempt=1"
target="_blank">Click here!</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**
- Enhanced the `DataSidePane` to display the name and count of actions,
improving the informational context for users.
- Added a new selector function to calculate and display the count of
queries for each datasource in the app.
- Introduced a `DatasourceFactory` for generating mock datasource
objects for testing purposes.
- Expanded the list of plugin package names in the `MockPluginsState` to
include additional plugins like `MY_SQL`, `S3`, `SNOWFLAKE`,
`FIRESTORE`, `GRAPHQL`, `APPSMITH_AI`, `MS_SQL`, `ORACLE`, and
`WORKFLOW`.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Makes minor changes in copy and style for better readability in Side by
Side mode
Fixes#31558Fixes#31565Fixes#31566
## 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/8830604958>
> Commit: 4f3a8a13685ef2a04077bc4641ddb8691101b852
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8830604958&attempt=1"
target="_blank">Click here!</a>
<!-- 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
- **Documentation**
- Improved clarity in user interface messaging for data source creation
and table search functionalities.
- **Style**
- Updated spacing in dropdown components and form rows to use custom CSS
variables, ensuring a more consistent design across the platform.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
1. The `blockNavigation` parameter in request body isn't being used, so
removing it.
2. We're sending the page `id` in both the URL path as well as the
request body. This is confusing, and may lead to a security regression
in the future. Removing it from the body.
All tag Cypress tests pass on EE, with no extra changes over the diff
here.
Ref: https://github.com/appsmithorg/appsmith-ee/pull/3698
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced page creation process with streamlined parameters and
validation constraints.
- **Refactor**
- Simplified navigation and page creation logic in the application.
- Updated method parameters and logging to improve clarity and
maintainability.
- **Bug Fixes**
- Fixed the issue where unnecessary data was included in page update
requests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Sending configTree from the webworker is a redundant operation, we can
directly the same from the main thread state. By removing this property
we reduce the transmission cost between the main thread to webworker, we
are seeing as much as 10% reduction in main thread scripting from these
changes.
Fixes#32969
> [!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/8832685819>
> Commit: 58ad75ebf73714e7a6603a95f074826fcd11ec67
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8832685819&attempt=2"
target="_blank">Click here!</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
## Summary by CodeRabbit
- **Refactor**
- Optimized the evaluation process by streamlining how configuration
data is retrieved and handled across different components.
- Updated data retrieval methods in sagas and workers to improve
efficiency and maintain consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR removes the border below active tab.
Fixes#32941
## 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/8828306289>
> Commit: d9391184efa8b7edb8c1676fc4682ff7a9cb83c7
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8828306289&attempt=1"
target="_blank">Click here!</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
- **Style**
- Updated the positioning of the `ScrollArea` in the IDE Editor tabs for
improved alignment.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR changes the system scrollbar of IDE tabs to custom scroll.
Fixes#32864
## 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/8827982150>
> Commit: ece8003b8966f72f3a99ba8152d8441773566490
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8827982150&attempt=1"
target="_blank">Click here!</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**
- Enhanced the tab management in the IDE with a dynamic overflow setting
for better layout and usability.
- **Refactor**
- Improved naming and consistency in the split screen tabs component for
clearer code readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
When the user does not have permission to edit a page, they should not
be shown the widget pane with widgets
Fixes#32708
## Automation
/ok-to-test tags="@tag.IDE, @tag.AccessControl"
### 🔍 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/8814962106>
> Commit: 113a1477b4cfb3727ad392b83633ba878c90188f
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8814962106&attempt=1"
target="_blank">Click here!</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**
- Enhanced security by implementing permission checks before rendering
widgets in the editor UI.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
SSH keys are case sensitive, should not add `text-transform: uppercase`
to it
Fixes#32362
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 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/8815561059>
> Commit: fcd1edc21f57e0202fd4307516be5b9129ffd0e5
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8815561059&attempt=1"
target="_blank">Click here!</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
- **Style**
- Removed uppercase text formatting from the deployment key text
display.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: Nidhi <nidhi@appsmith.com>
## Description
Fixes issue with persisting branch if the more dropdown in inline nav is
used
Fixes#32050
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 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/8816010061>
> Commit: 697a17179dd14c50a71c9b6c58c6d5c0ea3658ec
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8816010061&attempt=1"
target="_blank">Click here!</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**
- Enhanced app navigation to retain branch parameters when using the
navigation dropdown.
- **Tests**
- Added tests to ensure consistent navigation behavior with Git
integration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#32430
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added color mode options (Dark and Light) and color presets in the
theme settings.
- Updated the color picker UI and functionality in theme property
settings.
- **Enhancements**
- Reorganized the layout of the App Settings to improve user navigation.
- Enhanced theme customization options to include new section headers
and informational cards.
- **Refactor**
- Updated various components to use new and more efficient components
and imports, improving performance and user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
## Description
Its been observed the logs been sent to main thread even during
production, sending the logs increases the transmission cost during
production consequently slowing the main thread. In this PR we will be
sending the logs when logs are at debug level.
Fixes#32907
> [!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/8804717249>
> Commit: 58999c947fc7aeb8b091c5f08581fa2ad35dc650
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8804717249&attempt=3"
target="_blank">Click here!</a>
<!-- 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 logging capabilities in evaluation processes to conditionally
send logs based on the debug level, optimizing payload size.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
<ins>Root cause: </ins>
The original intention of the building blocks on canvas was to serve a
new user on their very first app.
Looking at (good) usage of this feature, we turned it on for all pages
on all apps.
Now, an experienced user don't always start with UI and thats when we
hit this issue.
Additionally, this was a tech debt we had to repay and this PR takes
that opportunity to get rid of hack of using `add a page from template`
for this feature and uses proper PIE based API to support his.
Fixes#32573
_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"
### 🔍 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/8797225643>
> Commit: 5f7f0fd094284faf67338412a57ef4757eb70af8
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8797225643&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
- **New Features**
- Introduced functionality for importing starter building blocks into
applications, including layout positioning and action triggers upon
successful import.
- Added new actions and selectors in Redux for managing current forking
building block names.
- **Refactor**
- Updated the handling of template names and constants for better
consistency and use within the app.
- Simplified event handling and variable naming in several components
for improved code clarity and performance.
- **Bug Fixes**
- Adjusted analytics and event data handling to ensure accurate tracking
and functionality.
- **Tests**
- Updated Cypress E2E tests to reflect changes in functionality and
removed outdated test cases.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
> [!TIP]
Add events to track the dragging of building blocks, dropping of blocks,
and the time taken from drag till drop is complete.
**Drag Event**
```
AnalyticsUtil.logEvent("DRAG_BUILDING_BLOCK_INITIATED", {
applicationId,
workspaceId,
source: "explorer",
eventData: {
buildingBlockName: props.details.displayName,
},
});
```
**Drop Event**
```
AnalyticsUtil.logEvent("DROP_BUILDING_BLOCK_INITIATED", {
applicationId,
workspaceId,
source: "explorer",
eventData: {
buildingBlockName: props.details.displayName,
},
});
AnalyticsUtil.logEvent("DROP_BUILDING_BLOCK_COMPLETED", {
applicationId,
workspaceId,
source: "explorer",
eventData: {
buildingBlockName: dragDetails.newWidget.displayName,
timeTakenToCompletion: timeTakenTo CompleteValueInSeconds,
timeTakenToDropWidgets: timeTakenValueInSeconds
},
});
```
Fixes#32492
## 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/8785306375>
> Commit: 8316506b039256ad6d171a3a81ddaec56cecdfc2
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8785306375&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
- **New Features**
- Introduced analytics tracking for building block drag-and-drop
operations.
- Enhanced functionality for adding and managing building blocks within
the application.
- **Refactor**
- Updated action type constants for better consistency in handling
building block operations.
- **Bug Fixes**
- Improved logic for setting the start time of building block drag
operations to ensure accurate tracking.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
1. Introducing a custom validation annotation, `@FileName` to be used on
fields that are used as file/folder names as part of the product.
2. Updated the validation logic to only accept valid file names on
Linux, macOS as well as on Windows.
/ok-to-test tags="@tag.Settings, @tag.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/8784587443>
> Commit: a13f700d490845a9d3c53d0da9c1a763fde6be9b
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8784587443&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
- **New Features**
- Enhanced page name validation to include more special characters and
reserved names, ensuring compatibility and preventing errors.
- **Bug Fixes**
- Updated regular expression for replacing disallowed characters in page
names to improve system stability and user experience.
- **Tests**
- Expanded testing for invalid page names to cover a broader range of
scenarios, enhancing reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This as part of eval v4 roadmap project#2 optimisation, over here we
optimisate resetGlobalScope and the addNode operation in the
updateDependencyMap function. The following are the optimisations:
- resetWorkerGlobalScope changed library and keyword lookup from array
to set, this is to reduce the time complexity.
- triggering resetWorkerGlobalScope after the first return statement, to
remove redundant calls when code returns early.
- in makeParentsDependOnChild limiting the add operations getting
triggered when the dependencies are the same.
- Added a library accessor code to help in generating a set when
required.
Noticed a 15% reduction in webworker scripting for a customer's app.
Limiting the addNode to only affected nodes in the dependencyMap will be
handled in a separate PR.
Fixes#32811
> [!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/8782269083>
> Commit: bcc890545851d9ba76beef4036fda98b9d50bd0e
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8782269083&attempt=2"
target="_blank">Click here!</a>
<!-- 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 new testing for dependency handling in
`DependencyMapUtils`.
- Added a new Cypress test spec for ClientSide SettingsPane.
- **Refactor**
- Enhanced dependency management in `DependencyMapUtils` to prevent
redundant dependencies.
- Updated handling of JavaScript libraries in the evaluation workflow to
improve performance and accuracy.
- **Tests**
- Expanded test coverage to ensure robust dependency management and
JavaScript library handling.
- **Documentation**
- Updated existing summaries to reflect changes in JavaScript library
management and test specifications.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Update Storybook and related dependencies
- Delete the stories for old widget components
- Rewrite stories for new widgets(mdx to tsx)
Note: local chromatic doesn't work because of this
https://github.com/storybookjs/storybook/issues/22531
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced new component stories across various packages to enhance
design system documentation and user experience.
- **Documentation**
- Updated `.gitignore` files to optimize version control settings for
Storybook and build logs.
- **Refactor**
- Modified UI element positioning in Storybook theming for improved
layout management.
- **Style**
- Adjusted CSS properties for the `Select` component to ensure better
visual presentation.
- **Chores**
- Updated dependencies and scripts in package configurations to maintain
up-to-date development tools.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
> [!TIP]
With the addition of building blocks to the explorer items, we need to
change the widget name to something that better encapsulates the
contents of the canvas explorer. All instances of "widgets" in the
canvas explorer have been changed to "UI elements"
Fixes#32331
## Automation
/ok-to-test tags="@tag.Widget, @tag.MainContainer, @tag.Visual"
### 🔍 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/8777493414>
> Commit: 97f5cdb47a40086bf2979661c39fa4a32d0e4dd8
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8777493414&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
- **New Features**
- Added new constants and updated text descriptions for UI elements in
the editor pane.
- Enhanced the multi-select property pane with clearer text.
- **Refactor**
- Changed terminology from "widgets" to "UI elements" across various UI
components.
- **Style**
- Updated messages and placeholder texts to improve user interface
clarity and consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
These extra fields don't hold much semantic value, and are completely
ignored by the client. This PR removes them and only keeps the one field
that's used by the client.
/ok-to-test tags="@tag.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/8755978321>
> Commit: 9b680799db0d30fb56c908f02260abbb4b590ac3
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8755978321&attempt=2"
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**
- Improved consistency in naming conventions related to snapshot details
across the platform.
- Enhanced data handling in snapshot fetching and updating processes for
better performance.
- Streamlined snapshot-related data structures and service responses to
focus on relevant information.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
> [!TIP]
After a building block has been dropped, all queries within the building
block that are set to run onPageLoad are triggered. We noticed that when
dropping multiple building blocks, there was a race condition causing
some queries ro run infinitely. After inspecting, we found that running
the actions sequentially will solve the problem. These building block
actions are limited to a max of 3.
## 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/8752137869>
> Commit: 81a2a65c53cc90f817c24d3a003f9ec85acc1428
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8752137869&attempt=1"
target="_blank">Click here!</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
- **Refactor**
- Improved the execution flow of actions in the widget addition process
to enhance performance and reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
> [!TIP]
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content 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#14693
_or_
Fixes https://github.com/appsmithorg/appsmith/issues/14693
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
media :
https://www.loom.com/share/fb1c08173024427d96e483e782d41ee3?sid=49f2fdd8-ca3f-449f-ad09-aec8b294642a
## Automation
/ok-to-test tags="@tag.Widget"
### 🔍 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 -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Updated the Audio Recorder Widget to reset the blob URL property to
`null` after use, enhancing the control flow and logic for handling
audio recordings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR has changed the logic of next item selection after deleting an
item or removing a tab.
The new logic is
1. If there is no more tabs left after removal of current item, navigate
to first item from all items list
2. If all items list is empty, navigate to add
3. If the removed tab is not currently selected, no redirection required
just close the tab
4. If removed tab is in 0th position, redirect to current tab + 1
5. if removed tab is not in 0th position, redirect to tab - 1
Fixes#32634
## Automation
/ok-to-test tags="@tag.Sanity, @tag.IDE"
### 🔍 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/8748435770>
> Commit: e3e9b51cc9a708fadf4d1b9f0e426b63e9f3c10a
> Cypress dashboard: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8748435770&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank"> Click here!</a>
> The following are new failures, please fix them before merging the PR:
<ol>
> <li>cypress/e2e/Regression/ClientSide/ExplorerTests/Hide_Page_spec.js
> <li>cypress/e2e/Regression/ClientSide/ExplorerTests/Page_Load_Spec.js
</ol>
> To know the list of identified flaky tests - <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">Refer here</a>
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Improved the closing functionality for JavaScript and query action
tabs in the IDE, enhancing user experience with smoother tab management.
- **Refactor**
- Aligned sagas and reducers with new action types for improved handling
of tab closures and entity redirects within the IDE.
- **Tests**
- Updated test cases to reflect changes in IDE saga functions and logic,
ensuring reliability and consistency in behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
1. The page names can accept any character except for `/`, backslash and
`:`. This is the validation that the server does now. This PR fixes the
regex that checks the page name to align with this.
2. When typing a character that's not allowed, we end up with a space at
the beginning or end of the page name, that doesn't really make sense,
and is confusing. Then we end up with trailing or leading spaces in the
page name, making the page name display look misaligned. This PR will
make it so that the disallowed characters just can't be typed, and just
don't make a difference in the page name.
3. We're also adding server-side validation for the icon slug.
[Slack
conversation](https://theappsmith.slack.com/archives/C03RPDB936Z/p1713161688607509).
/ok-to-test tags="@tag.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/8746416301>
> Commit: 21e8d3a0060b9b4721b49149f307354b073332d7
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8746416301&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
- **New Features**
- Enhanced page name validation to improve naming consistency across the
application.
- Updated validation for page icons and custom slugs to allow more
flexibility and ensure inputs meet new standards.
- **Bug Fixes**
- Fixed issues in page naming functions to prevent the use of certain
special characters and limit the length, enhancing data integrity and
user experience.
- **Tests**
- Added new tests to verify the handling of invalid and empty custom
slugs, ensuring robustness in page management functionalities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Whenever browser apis like window, navigator, print etc are using in the
JSmode bindings, current implementation does not show linting errors and
if such JS code is executed, we get error toast message of `window.alert
is not defined`. This is because linting errors are identified inside
lint worker and since we are inside the context of worker, it does not
understand the browser context or its APIs, thus this PR highlights the
linting errors when any of the browser APIs are using in JS bindings.
Before:
<img width="952" alt="Screenshot 2024-04-17 at 3 40 19 PM"
src="https://github.com/appsmithorg/appsmith/assets/30018882/e2dbb1ab-52d4-4b2c-ae1e-93516cf399ea">
After:
<img width="642" alt="Screenshot 2024-04-17 at 3 41 11 PM"
src="https://github.com/appsmithorg/appsmith/assets/30018882/9cb050d8-86ac-47b1-8804-7405a3f9bf1f">
Note: Existing cypress test of `BasicLint_spec.ts` has been modified to
assert linting issues in such case.
Fixes https://github.com/appsmithorg/appsmith/issues/16535
## Automation
/ok-to-test tags="@tag.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/8734064205>
> Commit: 86ad8803029c9250a0d283767ea142a2c78235d0
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8734064205&attempt=2"
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
- **Tests**
- Updated test case descriptions and added steps for better browser
interaction and lint error assertions in the linting functionality.
- **Refactor**
- Modified linting options to improve behavior in browser environments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: “sneha122” <“sneha@appsmith.com”>
## Description
Whenever we have js object functions set to execute on page load, and we
reload such page, all these functions are execute and we get lots of
success message popups indicating the execution of js object functions
was successful, These toasts clutter the UI and unnecessary since action
execution has been successful, this PR removes those toast messages
https://github.com/appsmithorg/appsmith/assets/30018882/44472503-d3c7-4bf8-861f-437284a4996cFixes#32695
_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/8734047332>
> Commit: fb22e7445618c592dee1066991d668082afc5642
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8734047332&attempt=2"
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
## Summary by CodeRabbit
- **Refactor**
- Simplified JavaScript execution flow by removing unused imports and
functions.
- Removed success toast notification after JavaScript function
execution.
- Updated test scenarios in Cypress related to JavaScript execution and
navigation back to the editor.
- Removed test cases verifying the number and sequence of JS objects on
page load in ServerSide/OnLoadTests.
- Added functionality to interact with the debugger in the test scenario
in ClientSide/BugTests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: “sneha122” <“sneha@appsmith.com”>
## Description
Makes the pages pane into a Dropdown instead of a list hidden behind
Editor Pane
Fixes#31450
## 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/8733103397>
> Commit: 9905212e4307e3c6ee47b0bd819d14ef751143a2
> Cypress dashboard: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8733103397&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank"> Click here!</a>
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/MobileResponsiveTests/AutoHeight_Tabs_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/MobileResponsiveTests/AutoLayout_Widgets_Copy_Paste_spec.ts
</ol>
> To know the list of identified flaky tests - <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">Refer here</a>
<!-- 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 a visibility management menu to the `EditorTitle` component.
- Introduced new `HeaderTitleComponent` to dynamically update based on
editor states.
- Updated the `PartialImportModal` and `PartialExportModal` components
for improved handling.
- Implemented a new callback function `onItemSelected` in
`AddPageContextMenu`.
- Added a search functionality to the app.
- **Enhancements**
- Updated `PageList` methods for better attribute handling and added
`HideList` method.
- Enhanced test clarity and maintainability in various Cypress
regression tests.
- **Bug Fixes**
- Fixed step increment issue in `PageElement` by adjusting the `step`
prop value.
- **Documentation**
- Updated user-facing messages and labels for clarity, such as renaming
"Edit name" to "Rename."
- **Refactor**
- Removed outdated state management properties and methods, simplifying
the codebase.
- Streamlined import statements and component props across multiple
files for consistency.
- **Version Updates**
- Upgraded `design-system` package to a new version for enhanced
features and fixes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#32616Fixes#32617Fixes#32618Fixes#32619Fixes#32620Fixes#32621Fixes#32622Fixes#32623Fixes#32624Fixes#32625Fixes#32638Fixes#32639Fixes#32642Fixes#32643Fixes#32644Fixes#32644Fixes#32645Fixes#32646
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added static label "Menu Item" for new menu items.
- Introduced clearer placeholder texts across various widget
configurations for enhanced user guidance.
- Updated default button text to "Do something" and removed default
click disable.
- Included "RED" in default selections for Checkbox Group Widget.
- New "Current Price" label in Currency Input Widget.
- Changed default currency details to United States Dollar in Currency
Input Widget.
- Updated default labels and placeholders across multiple widgets for
clarity and relevance.
- **Bug Fixes**
- Fixed inconsistencies in placeholder texts and default values across
widgets to improve user experience.
- **Documentation**
- Updated placeholder and label texts in property configurations to
reflect more accurate descriptions.
- **Style**
- Modified button variants from "filled" to "ghost" in Toolbar Buttons
Widget.
- **Refactor**
- Removed unnecessary imports and updated method implementations to
enhance performance and maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
Fixes#32308
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced text styling in flex layouts to improve spacing and
alignment.
- Updated the WDSParagraphWidget to include a Flex container, enhancing
the structural layout and rendering of text elements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
## Description
- Add the dependency `redux-saga-test-plan` to help assert the effects
of sagas
- Add test cases for setupPageSaga and setupPublishedPageSaga to assert
if the pageWithMigratedDsl is passed in the payload of fetchPage and
fetchPublishedPage actions respectively.
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 -->
> [!CAUTION]
> 🔴🔴🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8734262909>
> Commit: 9b08d3f48628ac378b2086c30b603c413d8ab7ad
> Cypress dashboard: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8734262909&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank"> Click here!</a>
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/EmbedSettings/EmbedSettings_spec.js
>
<li>cypress/e2e/Regression/ClientSide/Fork/ForkAppWithMultipleDS_Spec.ts
> <li>cypress/e2e/Regression/ClientSide/Git/GitImport/GitImport_spec.js
>
<li>cypress/e2e/Regression/ClientSide/OtherUIFeatures/UpdateApplication_spec.js
>
<li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_2_spec.js
>
<li>cypress/e2e/Regression/ClientSide/Workspace/Workspace_validation_spec.js
>
<li>cypress/e2e/Regression/ServerSide/AppLevelImport/AppImportwithDS_Spec.ts
> <li>cypress/e2e/Regression/ServerSide/OnLoadTests/JSOnLoad2_Spec.ts
</ol>
> To know the list of identified flaky tests - <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">Refer here</a>
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Tests**
- Enhanced testing for initialization processes to include more
comprehensive data scenarios in `initSagas.test.ts`.
- Added test cases for `setupPageSaga` and `setupPublishedPageSaga`
functions in `PageSaga.test.ts`.
- **Chores**
- Added `redux-saga-test-plan` for improved testing capabilities in
development.
- **Documentation**
- Updated test descriptions for `initSagas.test.ts` and
`PageSaga.test.ts` to reflect recent changes and additions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Adding alphabetical ordering to page changes in status modal
Fixes#32744
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 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/8733997632>
> Commit: 57dd39ba2eeeaddd65fa1993df781d9e42d9cd96
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8733997632&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**
- Improved the handling of page changes in the editor, with enhanced
sorting and distinction between static and expandable changes for better
user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Updating the login and signup page for cloud hosting as per new design
Fixes [#32267](https://github.com/appsmithorg/appsmith/issues/32267)
## 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/8723701550>
> Commit: 65a0179c5d22e1f950888c24a119af608aed2a28
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8723701550&attempt=4"
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
- **New Features**
- Enhanced titles and messages across login, signup, and forgot password
pages for clarity and engagement.
- Added new analytics event for tracking visits to self-hosting
documentation.
- Introduced new content and layout adjustments in user authentication
pages to improve user experience.
- Implemented conditional rendering to optimize content display for
mobile devices and cloud hosting scenarios.
- **Bug Fixes**
- Updated footer links to use consistent capitalization.
- **Refactor**
- Major structural and styling overhaul of forms and user authentication
components to utilize modern CSS practices and improve maintainability.
- **Documentation**
- Added direct links to self-hosting documentation to facilitate user
access.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Moves the Focus widget action into its own hook, and calling it from the
PositionContainer instead from the DraggableContainer. PositionContainer
is the parent of Draggable and hence adds a larger target for the mouse
focus of a widget.
Fixes#32710
## 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/8705394457>
> Commit: bc58f19c7247544117866d89f4f557372f8791ef
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8705394457&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
- **New Features**
- Enhanced widget interaction by implementing hover to focus
functionality in the PositionedContainer.
- **Refactor**
- Simplified the DraggableComponent by removing unused states and event
handlers, focusing on widget selection improvements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Query changes to an existing page shows up as `x page added`. This
commit fixes it to `x page modified`
Fixes#32729
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 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/8718165211>
> Commit: b3ee3904056eb2d3d3af426eb774f12b13003606
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8718165211&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
- **Bug Fixes**
- Improved the logic for determining page titles in the Git Changes
List, ensuring accurate representation for additions, removals, and
modifications of pages.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Removing the unexpected error on updating the workspace name to blank
Fixes [#12996](https://github.com/appsmithorg/appsmith/issues/12996)
## Automation
/ok-to-test tags="@tag.Settings @tag.Visual"
### 🔍 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/8716432739>
> Commit: 741bcf622ce0d7bd1aedaef8cebac43e71fc87bf
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8716432739&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**
- Simplified error handling in workspace operations.
- Updated and streamlined the UI for renaming workspaces in the
applications page.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Updating the ramp link for Enterprise features to open the pricing page.
Fixes [#30211](https://github.com/appsmithorg/appsmith/issues/30211)
## Automation
/ok-to-test tags="@tag.Settings"
### 🔍 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/8706159532>
> Commit: b9925ae2ec5a14724586f72affa02a1d83078813
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8706159532&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
- **New Features**
- Enhanced enterprise-level provisioning and authentication settings
across various components.
- Added a new Cypress command to improve testing by simulating customer
portal interactions.
- **Refactor**
- Streamlined UI components by adjusting styles and simplifying
rendering logic.
- Removed redundant spinner components and simplified conditions in
various editor components.
- **Style**
- Updated CSS properties and variables for better consistency and
maintainability.
- **Tests**
- Updated regression tests to reflect new functionalities and page
interactions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
> [!TIP]
**Goal**
To drag any building blocks from the explorer and drop at any position
on the users canvas with full implementation.
**Implementation**
- Show skeleton widget when building block is initially dragged unto the
canvas.
- Make API call to add datasources, queries, and JS to existing page of
users app
- Get returned widget DSL and use existing copy paste logic to display
widgets on the canvas
- Remove loading state, handle clean up for copy paste
- Run all queries newly created by the dropped building block
**Limitations**
- There is a loading state and the process is not instant like dropping
a widget
This PR is followed by this one
[here](https://github.com/appsmithorg/appsmith/pull/31406), which
displays the loading state when a building block is dragged unto the
canvas.
Fixes#31856
## Automation
/ok-to-test tags="@tag.Templates, @tag.MainContainer, @tag.Visual,
@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/8701664455>
> Commit: 456a7a0a322e76974a7f5c41a6c1e274ef82e4ea
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8701664455&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
- **New Features**
- Introduced a new "Building Blocks" category in the widget sidebar for
enhanced organization and accessibility.
- Added functionality to resize building blocks with new horizontal and
vertical limits.
- Implemented a "see more" button for "Building Blocks" to display all
associated widgets.
- Enhanced drag and drop functionality for building blocks on the
canvas.
- **Enhancements**
- Improved sorting logic for widgets, prioritizing "Building Blocks".
- Enhanced widget search functionality within the sidebar.
- **Bug Fixes**
- Adjusted default rows and columns settings for explorer building
blocks to improve layout and usability.
- **Documentation**
- Updated messages and constants related to new features for clarity and
consistency.
- **Refactor**
- Refactored drag and drop handling logic to support new building block
constraints and features.
- Updated application state management to include building blocks
related data.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
## Description
An typo in the Error Code check on the client was causing failed error
handling. This result was that no appropriate error page was shown.
The typo was found because `AE-SCL-4004` was not a valid error code that
was found anywhere on the codebase and the server was sending a very
similar `AE-ACL-4004` for this particular error
https://github.com/appsmithorg/appsmith/blob/release/app/server/appsmith-server/src/main/java/com/appsmith/server/exceptions/AppsmithErrorCode.java#L9Fixes#32679
## 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/8688602606>
> Commit: 3079a91e0b917833c4e9798da7b73abc15b1bc6c
> Workflow: `PR Automation test suite`
> 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**
- Updated an error code definition to enhance accuracy in system
messages.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR have following changes,
- Added close button and close functionality for tabs
- Removed 5 tabs limit and added scroll for tabs
Fixes#32407
## 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/8683747982>
> Commit: d87357251bcb3a6f23942d17e548867882194295
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8683747982&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
- **New Features**
- Enhanced tab management in the IDE with new functionalities to close
and remove JavaScript and query action tabs.
- Improved user interaction within the editor interface by adding scroll
behavior and a close button for each tab.
- **Bug Fixes**
- Fixed issues related to tab rendering and close button behavior in the
IDE, ensuring smoother user experience.
- **Tests**
- Added comprehensive tests for the new features and fixes in the IDE's
tab management system.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This pull request fixes the tooltip readability issue in the title by
adding a tooltip to the title, which becomes unreadable when it becomes
longer. Additionally, it adds a test file for TemplateLayoutCard and
adds plugin data to the unit mock store.
Fixes#31391
_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"
### 🔍 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/8662242819>
> Commit: 9df451907bbfdf4f5361dc00839b023ca474db36
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8662242819&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
- **New Features**
- Expanded plugin support for services like PostgreSQL, MongoDB, MySQL,
Elasticsearch, Redis, and more in the configuration settings.
- Enhanced title visibility in the Template layout with tooltip
functionality for better user guidance.
- **Tests**
- Added tests for the Template component to ensure it renders correctly
and responds to user interactions effectively.
<!-- 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 -->
## Description
We deprecate confirm before calling for JSObjects
- For new JSObject, confirm before calling option won't be visible
- For already present JSObject, only for function where confirm before
calling was enabled will be visible and once turned off will not be
visible anymore.
Fixes https://github.com/appsmithorg/appsmith/issues/29248
## Test scenarios
- For an application where JSObject confirmed before calling was
enabled, it should work same.
- For new JSObject, confirm before calling option shouldn't be visible.
- Once user disable confirm before calling it should not be visible
anymore.
- Deprecation warning on info.
## 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/8654538946>
> Commit: 6ac458bdec864a2963fa5eb59b5912607ddfa3a7
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8654538946&attempt=1"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->
## Description
Lists down changes in entity with level 1 granularity
Fixes#31644
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 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/8642841391>
> Commit: dd9dd7abb619a4e62edd950cbc6e64e15b4a42e2
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8642841391&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
- **New Features**
- Introduced granular tracking of Git changes, including added,
modified, and removed pages, datasources, queries, JS objects, and JS
libraries.
- Implemented a new feature flag `release_git_status_granular_enabled`
to toggle granular Git status tracking.
- Added new components to display detailed Git changes with expandable
views for different types of entities.
- **Enhancements**
- Simplified the logic for determining if a commit is required by
enhancing the Git status checks.
- Enhanced Git status display to include specific messages and icons for
various types of changes.
- Improved the Git sync feature's user interface with updated components
and styling for displaying Git changes.
- **Bug Fixes**
- Corrected the display logic to accurately reflect when a JS library is
added instead of modified.
- **Refactor**
- Refactored Git status handling logic on both client and server sides
for improved performance and readability.
- Updated test suites to align with the new Git status tracking and
display functionalities.
- **Tests**
- Added and updated tests to cover new Git status functionalities and
components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Using micro diff instead of deepDiff for diffing jsobjects in
setupUpdateTree. Have observed a 33% reduction in webworker scripting
through this on a customer's application.
Fixes#15953
> [!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/8644903634>
> Commit: f5e4c0fb7d4ebba7c35f03c1cee079b53712cc3c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8644903634&attempt=2"
target="_blank">Click here!</a>
<!-- end of auto-generated comment: Cypress test results -->