## Description
Refactor TableWidget for Improved Organization, Context Management &
Rendering Efficiency
### Overview
This PR restructures the TableWidget to enhance code organization,
improve context management, and optimize rendering performance. Key
improvements include extracting reusable components, introducing a
shared TableContext, and simplifying table rendering logic.
### Key Changes
✅ Improved Table Header Organization & Context Management
✅ Refactored Table & Virtualization Logic
✅ Simplified Header Components
✅ Enhanced Empty Row Handling
✅ Reorganized Core Components(Static table, virtual table)
### Why These Changes?
• Improves maintainability and readability by reducing prop drilling and
redundant code.
• Enhances performance through better state management and rendering
optimizations.
• Provides a scalable structure for future improvements in the
TableWidget.
Fixes#39308
_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.Table, @tag.Sanity, @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/13761069297>
> Commit: 524a8464a65576c9da485f686e6598eba38358a5
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13761069297&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Table, @tag.Sanity, @tag.Datasource`
> Spec:
> <hr>Mon, 10 Mar 2025 12:31:27 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Introduced new virtualized table components that enhance dynamic
scrolling and table interactions.
- Added a new table constant to ensure smoother scrolling behavior.
- Implemented a centralized table state provider to consolidate table
functionality.
- Added a new `BannerNActions` component for improved header action
management.
- Added a new `StaticTableBodyComponent` for rendering static table
bodies.
- **Refactor**
- Streamlined static table rendering along with header and cell
interactions.
- Simplified component interfaces by shifting from prop-based to
context-driven state management.
- Enhanced the `Actions` component to utilize context for state
management.
- Refactored the `Table` component to improve clarity and efficiency.
- **Tests**
- Expanded and improved test coverage to ensure robust rendering, error
handling, and performance.
- Introduced tests for new components such as `StaticTableBodyComponent`
and `BannerNActions`.
- Updated tests to reflect changes in context management and component
structure.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Need to unblock client unit tests pipline.


## Automation
/ok-to-test tags=""
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Tests**
- Temporarily disabled select tests for IDE rendering features to
streamline our testing process without impacting user-facing
functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Refactoring focus strategy to get the correct key name on history
removal for all IDEs
Fixes [#39597](https://github.com/appsmithorg/appsmith/issues/39597)
## 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/13811684497>
> Commit: ee66ead13719fbb882567cb2697af4cab10a5294
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13811684497&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 12 Mar 2025 14:19:55 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added an enhanced mechanism for generating unique navigation keys that
include branch details, improving focus state management.
- **Refactor**
- Restructured module organization to streamline focus history handling
and overall navigation state operations.
- **Chores**
- Simplified URL assignment for improved clarity and maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
## Description
<img width="674" alt="Screenshot 2025-03-12 at 15 49 20"
src="https://github.com/user-attachments/assets/f8063397-fde1-403f-81c4-1f402e634234"
/>
Fixes#39684
## 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/13814379506>
> Commit: 671875827c7dded63d916b0ec66f3448c22142db
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13814379506&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 12 Mar 2025 15:32:41 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced an "AI Response Visualizer" tab that displays enhanced
visualizations of AI responses when advanced functionality is enabled.
- **Refactor**
- Improved the visualization configuration for a more flexible and
consistent display.
- Streamlined prompt input to support seamless submission via the Enter
key, enhancing the overall user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Adding permission check for the plus button in tabs list to handle the
edge case in GAC where we see a new query tab with no datasource options
in the page to create one.
Fixes [#39673](https://github.com/appsmithorg/appsmith/issues/39673)
## 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/13811690526>
> Commit: 6501918837d95c646ce839dfec640f54268955dd
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13811690526&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IDE`
> Spec:
> <hr>Wed, 12 Mar 2025 13:19:18 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced the editor’s tab behavior so the "Add" button is only
displayed when files are present and the user has the appropriate
permissions.
- **Style**
- Refined the display styling of push failure warnings for a cleaner
appearance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Fixes#39554
_or_
Fixes `Issue URL`
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags="@tag.Sanity"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13811044062>
> Commit: 1a5b458e43a338ad74eb48908a16ce695a6f53e2
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13811044062&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 12 Mar 2025 12:57:34 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Added a new forward arrow icon for enhanced design consistency.
- Expanded sidebar functionality to support an optional extra title
button for additional actions.
- Introduced a comprehensive visualization experience, including
interactive components for generating, saving, and displaying
visualizations, along with prompt inputs, suggestions, and a results
view.
- Enhanced action capabilities to support visualization data and
debugging with a new visualization tab.
- Enabled new release functionalities via an updated feature flag
system.
- **Style**
- Refined sidebar title spacing and layout for improved presentation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Fixes two bugs related to ADS Entity Explorer usage of Context Menu
1. To fix the issue with the context menu position, we make sure the
right control has visibility change on hover instead of display. The
menu is anchored to a element for position and when the display of the
element is none, it get attached to the top left corner on 0,0
This is the same solution as the one used in the old entity explorer
https://github.com/appsmithorg/appsmith/blob/release/app/client/src/pages/Editor/Explorer/Entity/index.tsx#L178-L179
2. To fix the issue with the cmd+z not working, we add a timeout for
delete action in the context menu. This is an old issue with menu where
the focus is set to the menu trigger component when the menu closes.
This blocks us from listening to keyboard shortcut events as the element
is not propagating the event up.
This is the same solution as the one used in old entity explorer
https://github.com/appsmithorg/appsmith/blob/release/app/client/src/pages/Editor/Explorer/ContextMenu.tsx#L53-L56Fixes#39665Fixes#39641
## Automation
/ok-to-test tags="@tag.IDE"
## 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
- **Style**
- Improved hover behavior in list items so that controls reveal
seamlessly without affecting the overall layout.
- **Bug Fixes**
- Refined the widget deletion process to prevent focus issues, ensuring
smoother keyboard shortcut interactions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Remove immer library
Fixes #
https://theappsmith.slack.com/archives/C0134BAVDB4/p1740028929478969?thread_ts=1738822154.732719&cid=C0134BAVDB4
## 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/13455561224>
> Commit: f695cd9f06e06c23a2a6ead401149045f2ac4bec
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13455561224&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 21 Feb 2025 12:20:17 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Refined error logging for improved troubleshooting clarity.
- Removed an unnecessary dependency to streamline project maintenance.
- Updated state management implementation in the reducer for enhanced
performance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Vemparala Surya Vamsi <vamsi@appsmith.com>
## Description
Adds a saga call in widgetAdditionSaga; this saga would detect if the
dragged widget is a module widget and trigger module instance creation
or not.
In the CE codebase; it would just return the widgets untouched.
PR for https://github.com/appsmithorg/appsmith-ee/pull/6447
## 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/13696508503>
> Commit: 9a3bff430d3c1b6301574c5439015be7ceaabd40
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13696508503&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 06 Mar 2025 11:42:51 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced integration between editions to streamline widget creation
and updates.
- Improved processing flow for applying module-specific widget
configurations.
- Introduced an optional opacity control setting for container widgets,
allowing for more flexible visual presentation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Empty rows were not getting rendered for the server side pagination
enabled due to incorrect calculation of itemCount(introduced here:
https://github.com/appsmithorg/appsmith/pull/39441).
| Previously | Now |
|----------|----------|
|
https://github.com/user-attachments/assets/5f0db0e9-294f-461a-bac6-d3b2fe573817
|
https://github.com/user-attachments/assets/e8678e15-68e5-4f9e-8b2e-b74cf9838a9f
|
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.Table"
### 🔍 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/13722106486>
> Commit: ebbe90bd73a8a573a8ed53f16946a41503b1c84e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13722106486&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Table`
> Spec:
> <hr>Fri, 07 Mar 2025 14:27:47 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Revised the table widget’s row rendering so that it now displays the
full expected number of rows based on the selected page size, ensuring
consistent and reliable pagination behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR splits the modals and the context menu hooks to allow for
enterprise only features to show on the canvas. No change in the code,
just re-arrangement of files. Current UTs and tests should suffice
Fixes#39640
## Automation
/test all
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13725979641>
> Commit: c6a4b94d33e7a8b438e9ef4823067f59e04d028e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13725979641&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 07 Mar 2025 18:33:20 UTC
<!-- 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 unified modal interface to present multiple dialogs in a
streamlined and accessible way.
- Improved the page creation experience with dynamic context menus that
adjust available options based on system conditions.
- **Refactor**
- Consolidated multiple modal components into a single component,
simplifying the interface.
- Simplified the logic for generating context menu options, resulting in
a cleaner and more efficient user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
The login page, and a few other pages are exempted from CSRF today and
aren't doing any check at all. This makes our login page vulnerable to
CSRF. But it's not really exploitable in its current form, since there's
other points in the login flow that patch this hole up.
Nevertheless, CSRF being possible on the login form doesn't sound good
in any tone and context. This PR fixes this by not exempting _anything_
from CSRF, and doing a stateless CSRF check where necessary.
PR summary:
1. Switches from our home-built CSRF filter implementation to Spring's
native implementation.
2. Login form and a few others were previously exempted from CSRF
checks, and now that exemption is gone. This is why we need the
`X-Requested-By: Appsmith` for the login/signup form submission calls
from Cypress.
3. Removes the check on `Content-Type: application/json` header.
Previously, if a request had this header, it was considered exempt from
CSRF check. This has been removed as it appears it's not a safe
assumption in today's JSON-dominated web.
⚠️ verify SCIM flow before merging.
## Automation
/test all
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13697073430>
> Commit: 0873799e2346e58dac3d59b1a3890b86ab17d5b4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13697073430&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 06 Mar 2025 12:13:19 UTC
<!-- 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
## Release Notes
- **New Features**
- Introduced a `CsrfTokenInput` component to enhance security during
user authentication and signup processes by including a CSRF token.
- **Improvements**
- Enhanced API request headers for login and signup commands to improve
security.
- Added cookie validation for successful login to ensure session
integrity.
- Improved error handling for database operations.
- **Bug Fixes**
- Removed outdated CSRF filter to streamline CSRF protection handling in
the application.
- **Tests**
- Added comprehensive unit tests for CSRF protection to ensure correct
behavior under various scenarios.
- Introduced a new test suite for testing CSRF logout and login
functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Shows autocomplete with results in binding brackets `{{ <result> }}`
when the user is typing something outside the binding
Fixes#39112
## 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/13699728311>
> Commit: cd3816b05a8e36e7218af2ab6fb4c23046ab99ba
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13699728311&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 06 Mar 2025 14:46:52 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new utility function for determining when to show
autocomplete suggestions in the code editor.
- Enhanced the code editor autocomplete for more context-aware
suggestions and improved cursor handling, resulting in a smoother
editing experience.
- **Refactor**
- Standardized input formatting across components to ensure consistent
handling of data in widget interactions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Updates AppsmithLink component to handle cmd / ctrl click to open link
in new tab
Fixes#39603
## 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/13714082542>
> Commit: cc1fbe50a56b4e6e3471976060a20961489ef1d7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13714082542&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Fri, 07 Mar 2025 05:41:16 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced link behavior now allows you to open the related page in a
new tab when you hold Ctrl (or Command on Mac) while clicking. A normal
click will navigate in the current view. This enhancement offers more
intuitive navigation and improved browsing flexibility within the
application. Users will benefit from this smarter navigation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Updating widget tree item props to show the correct icon for child
widgets.
Fixes [#39602](https://github.com/appsmithorg/appsmith/issues/39602)
## 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/13700282344>
> Commit: d67f80f838cdd01bf738bed3eea832d86c038a0c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13700282344&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IDE`
> Spec:
> <hr>Thu, 06 Mar 2025 14:24:55 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced the entity explorer by introducing an optional `type`
classification for each tree item, enabling more detailed visualization.
- Improved icon rendering in widget items by basing visual updates on
each item's `type`, ensuring a consistent display across the interface.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Fixing renaming of Queries, JS and Widgets to replace spaces and
special characters with underscore
- Also fixes the issue where UI breaks during renaming when trying to
rename with longer names
- Removing duplicate component which is now moved to ADS
Fixes [#39589](https://github.com/appsmithorg/appsmith/issues/39589)
[#39598](https://github.com/appsmithorg/appsmith/issues/39598)
[#39599](https://github.com/appsmithorg/appsmith/issues/39599)
## 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/13698453955>
> Commit: 523b9707ddaf2e67acae6af951b59a1723185729
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13698453955&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IDE`
> Spec:
> <hr>Thu, 06 Mar 2025 12:48:08 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Updated a context menu component to require menu content, ensuring
users always supply the necessary menu items.
- **Chores**
- Removed a duplicate version of the context menu component to
streamline the interface.
- **Bug Fixes**
- Changed the default behavior of the `normalizeName` property in the
`EditableEntityName` component to apply normalization by default.
- Updated the default behavior of the `normalizeName` property in the
`EntityItem` component to normalize names by default.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
/ok-to-test tags="@tag.Anvil"
https://github.com/user-attachments/assets/d2805978-7e58-4d59-9ccf-6774f67b961d
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added a configurable option in key-value controls that lets users
choose whether empty entries are allowed.
- Updated behavior for removing entries now adapts based on this
setting, offering more flexibility when managing list items and ensuring
a more intuitive user experience.
<!-- 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/13692124903>
> Commit: 783b98ca652d7cdd920b880c738b9273a4a7cb63
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13692124903&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Thu, 06 Mar 2025 06:10:39 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Description
Updates the Page List component to use the new ADS components but behind
feature flag
Fixes#39569
## 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/13695609914>
> Commit: 6de5d43abd6480eb7499fed2b3b3a2a25a00a6ec
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13695609914&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 06 Mar 2025 10:53:50 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced an enhanced page management menu offering options to clone,
rename, delete, toggle visibility, set a page as home, and perform
partial export/import.
- Revamped page navigation with a unified list that adapts based on user
permissions and feature settings for a smoother experience.
- Added new components for managing page actions, including `Clone`,
`Delete`, `Rename`, `SetAsHomePage`, `PartialExport`, `PartialImport`,
and `Visibility`.
- Implemented a new `PageEntity` and `PageList` component for improved
page representation and management.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Just UI changes from #39093Fixes#39556
## 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/13673781581>
> Commit: b78e21d50dce1e6af78e40237a9a0bced5b35bc7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13673781581&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IDE`
> Spec:
> <hr>Wed, 05 Mar 2025 10:57:58 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced editable text components now support name normalization with
dynamic ellipsis and improved tooltip handling.
- Entity and widget list views now display names directly with updated
expand/collapse icons and refined selection behavior.
- Context menus reflect conditional interactivity by disabling options
based on permissions and item types.
- New identifiers for list items and context menus improve testing
capabilities.
- **Refactor**
- Consolidated property handling and class name assignments across
components for consistent behavior.
- Streamlined data structures and conditional rendering in entity
explorers and context menus to enhance clarity and maintainability.
- Updated components to use direct property access for improved
performance and readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Move middlewares to a new folder and added an ee specific middleware
`app/client/src/ee/middlewares/PackageMiddleware.ts`.
This will eventually be added to the store but as of now it is detached
since the functionality is incomplete. It will be extended in EE
PR for https://github.com/appsmithorg/appsmith-ee/pull/6324
## 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/13493097420>
> Commit: a0a94db05767a5f3b8e511e6c72252b1f9f22a17
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13493097420&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 24 Feb 2025 08:58:32 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced an enterprise middleware that enhances package-specific
functionality.
- **Refactor**
- Improved internal integration by adjusting module access and
reorganizing route handling.
- Updated import paths and consolidated middleware components to
streamline application structure.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
When clicking on a marker in the Map Widget, the onMarkerClick event was
being triggered twice for a single click, causing duplicate actions and
potentially unexpected behavior in applications.
```js
// In MapWidget/widget/index.tsx
onMarkerClick = (lat?: number, long?: number, title?: string) => {
this.disableDrag(true);
const selectedMarker = {
lat: lat,
long: long,
title: title,
};
console.log("🚀 ~ MapWidget ~ title:", title); // This was logging twice
this.props.updateWidgetMetaProperty("selectedMarker", selectedMarker, {
triggerPropertyName: "onMarkerClick",
dynamicString: this.props.onMarkerClick,
event: {
type: EventType.ON_MARKER_CLICK,
},
});
};
```
## Root Cause
This happens because:
1. The Marker component was adding duplicate event listeners to the
Google Maps marker.
2. Two separate useEffect hooks were both adding "click" event
listeners:
- One during marker initialisation
- Another in a separate useEffect that tracks the onClick prop
```js
// First listener in initialization useEffect
googleMapMarker.addListener("click", () => {
if (onClick) onClick();
});
// Second listener in a separate useEffect
marker.addListener("click", () => {
if (onClick) onClick();
});
```
3. When a marker was clicked, both event listeners fired, causing the
onClick callback to execute twice.
4. This resulted in onMarkerClick being called twice for a single user
interaction.
## Solution
Modify the `Marker.tsx` component to avoid adding duplicate event
listeners:
1. Remove the click event listener from the initialisation useEffect
2. Add proper cleanup for event listeners using clearListeners and
removeListener
3. Store the listener reference to properly remove it in the cleanup
function
4. Apply the same pattern to the dragend event listener
```js
// track on onclick - with proper cleanup
useEffect(() => {
if (!marker) return;
// Clear existing click listeners before adding a new one
google.maps.event.clearListeners(marker, "click");
// Add the new click listener
const clickListener = marker.addListener("click", () => {
if (onClick) onClick();
});
// Return cleanup function
return () => {
google.maps.event.removeListener(clickListener);
};
}, [marker, onClick]);
```
## Why this works
1. Properly cleans up existing listeners before adding new ones
2. Ensures only one click handler is active at any time
3. Prevents event handler duplication during component re-renders
## Testing
Added a Cypress test that verifies the marker click event triggers
exactly once per click:
1. Creates a map widget with a marker
2. Uses a JS Object to track click count
3. Verifies the click count increments by exactly 1 for each click
4. Ensures no duplicate events are triggered
Fixes#39514
## Automation
/ok-to-test tags="@tag.Widget, @tag.Sanity, @tag.Maps, @tag.Binding"
### 🔍 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/13673511245>
> Commit: 3c025ebd9dd85a3c409bc1582e13e324d8dbb2cd
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13673511245&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget, @tag.Sanity, @tag.Maps, @tag.Binding`
> Spec:
> <hr>Wed, 05 Mar 2025 11:49:24 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Enhanced the behavior of map markers so they respond more reliably to
user interactions like clicking and dragging, addressing issues that
could affect overall stability.
- **Tests**
- Added comprehensive tests to ensure marker functionality remains
consistent and dependable during use.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
/ok-to-test tags="@tag.Anvil"
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Enhanced error messaging in the query selection process to provide
clearer feedback when a required query is missing.
<!-- 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/13673807830>
> Commit: ab6df8677a09a75cf64f379399246f724b48af75
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13673807830&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Wed, 05 Mar 2025 10:50:17 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Description
Dropdown for default branch was getting hidden due to the limited length
of the git settings modal. This PR adds a min-height to the modal
container and reduces the height of the dropdown option menu
Fixes https://github.com/appsmithorg/appsmith/issues/39499
## 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/13654514775>
> Commit: b9e0d6e77643052654deb777182373e409623bf3
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13654514775&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Tue, 04 Mar 2025 14:10:56 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Style**
- Improved the dropdown menu appearance by capping its height to ensure
a neat and consistent display.
- Updated settings interface panels with a fixed minimum height,
providing a uniform and reliable layout across views.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Infinite Scroll Improvements for TableWidgetV2
This PR enhances the infinite scroll functionality in `TableWidgetV2`
with several key improvements:
---
### 🚀 Major Changes
#### 1️⃣ Improved Loading State Management
- Added a `shouldShowSkeleton()` function to determine when to display
loading skeletons.
- Loading skeletons now only show when:
- Loading without infinite scroll enabled.
- Loading with infinite scroll but no data loaded yet.
- Added a dedicated loading indicator for infinite scroll that appears
at the bottom while fetching more data.
#### 2️⃣ Enhanced Infinite Scroll Implementation
- Completely refactored `useInfiniteVirtualization` hook to properly
cache and manage loaded rows.
- Added row caching to maintain previously loaded pages when new data
arrives.
- Improved detection of end-of-data conditions to prevent unnecessary
load attempts.
- Fixed issues with item count calculations and loading state
management.
#### 3️⃣ Better Virtualization Support
- Fixed issues with virtual list rendering by properly passing
`itemCount`.
- Added support for `totalRecordsCount` to optimize infinite scroll
behavior.
- Improved table wrapper class name management with a dedicated
function.
---
### 🧪 Testing
This PR includes **comprehensive test coverage** for the infinite scroll
functionality, with **12 detailed test cases** covering:
- ✅ Page loading and caching behavior.
- ✅ End-of-data detection.
- ✅ Partial page handling.
- ✅ Loading state management.
Fixes#39083
## Automation
/ok-to-test tags="@tag.Binding, @tag.Sanity, @tag.Table, @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/13651510022>
> Commit: 3bbfda7143ee29eff70e59d234d6e89c74d8bb88
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13651510022&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Binding, @tag.Sanity, @tag.Table, @tag.Widget`
> Spec:
> <hr>Tue, 04 Mar 2025 11:47:11 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Introduced support for displaying the total number of records,
improving context for pagination and data navigation.
- Added a loading indicator that displays conditionally based on the
loading state.
- **Refactor**
- Refined loading state visuals so that the skeleton indicator appears
only when appropriate.
- Enhanced infinite scrolling and virtualization behavior for smoother
and more reliable data rendering.
- Strengthened row indexing to improve overall robustness.
- Improved the structure and readability of the `Table` component's
rendering logic.
- Updated test suite for dynamic row generation and various loading
scenarios, enhancing flexibility and comprehensiveness.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
[EE PR for the
same](https://github.com/appsmithorg/appsmith-ee/pull/6416).
Fixes #`Issue Number`
_or_
Fixes `Issue URL`
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags=""
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a Datasource Info component to enhance plugin action
capabilities.
- **Refactor**
- Updated the debugger interface by renaming a tab for improved clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Fixes#39334
## 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/13634502624>
> Commit: 49e0851939d41c3b3795306c152a4a2ee98390b9
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13634502624&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 03 Mar 2025 16:22:12 UTC
<!-- 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 several new icon components and a multi-select thumbnail to
expand the available UI iconography.
- **Refactor**
- Redesigned many icons with updated dimensions, simplified SVG
structures, and refined fill styling for a more consistent look.
- **Style**
- Standardized icon sizing (now uniformly 15 units) and color schemes
for improved visual coherence across the application.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
CE part of EE PR
https://github.com/appsmithorg/appsmith-ee/pull/6405
## 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/13633044178>
> Commit: bff40e51cdcdaf5ce11ca6e93b2fb7c3ffb91b07
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13633044178&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 03 Mar 2025 14:59:44 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Adjusted the creation process so the loading indicator reliably
appears while an item is being created and disappears once completed,
ensuring users receive clear and timely visual feedback.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Adds release tab to be used in git ops modal
- Release Tab contains LatestCommitInfo, ReleaseVersionRadioGroup and
ReleaseNotesInput components
Fixes https://github.com/appsmithorg/appsmith/issues/38808
Fixes https://github.com/appsmithorg/appsmith/issues/38809
## Automation
/ok-to-test tags="@tag.Module,@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/13618810570>
> Commit: e7ee3853fa50a1dde5c572f924cf86cf3b81126b
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13618810570&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Module,@tag.Git`
> Spec:
> <hr>Sun, 02 Mar 2025 20:57:07 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new release management interface featuring a modal that
allows users to view the latest commit details, input release notes, and
select the release version.
- Enabled automatic version suggestion based on the current version and
selected release type.
- Updated UI messaging to ensure consistent release process
notifications.
- Added dedicated components for displaying the latest commit
information, inputting release notes, and selecting release versions.
- Implemented a custom hook for fetching the latest commit details.
- **Bug Fixes**
- Enhanced error handling and loading states for fetching the latest
commit.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Splits the AddWidget widget to include UI modules list
[Figma](https://www.figma.com/design/Z0QsSdGOydURn6WIMQ3rHM/Appsmith-Reusability?node-id=8513-74506&t=HKor4HzUlfKtvFbm-0)
EE PR - https://github.com/appsmithorg/appsmith-ee/pull/6343
## 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/13541143766>
> Commit: 1ce3172fb27f3b50e36146e20007e58fdbdb8f61
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13541143766&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 26 Feb 2025 11:15:30 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new tabbed interface in the widget addition area that
allows users to easily switch between selecting Widgets and Modules.
- Launched an improved widget listing view to streamline the selection
process.
- **Refactor**
- Enhanced the sidebar display logic for a more reliable and smoother
presentation of content.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Issue with pull redirection - When a git repository has changes in
remote, the user is able to pull the changes from remote. But once the
changes are pulled, the application is not redirecting properly.
The issue was caused after merging modularisation related fixes to
release
Fixes https://github.com/appsmithorg/appsmith/issues/39460
## 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/13567103097>
> Commit: 064f918fa7a52cf5f3b08f7fa64402563a472ac1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13567103097&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Thu, 27 Feb 2025 14:02:58 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced Git integration to include more focused artifact information
in pull request responses.
- **Refactor**
- Streamlined the processing of pull request success data to improve
efficiency and precision in handling Git artifacts.
<!-- 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, 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.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/13566572652>
> Commit: 1180f9d53f1b91b4e6121247e6176411e738f7d8
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13566572652&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Thu, 27 Feb 2025 13:04:59 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Streamlined function configuration by removing one option from the
selection menu. Users will now see only “Query” and “JavaScript
function” choices, resulting in a more focused and straightforward
configuration experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
With this PR, we want to publish WDS as a npm package. To do that, we
are now adding a rollup setup to compile and build the package.
One thing to note:
Rollup needed `7.24.0` version of browserlist and we had to update
browserlist version in resolutions in root package.json. Now since we
updated browserlist, certain code that was written with old format (
code was coming from blueprint's hotkeys component ) started failing and
we had to refactor. It included the code around hotkeys component. It
was deprecatdd by blueprint and we were still using. We have now
refactored those part of code to use the `useHotKeys` hook.
/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/13538917574>
> Commit: 9b0b51791e4a95574c9729245ba09994ab371b71
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13538917574&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 26 Feb 2025 09:12:45 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Description
Removing cyclic dependencies due to Sentry route by creating separate
component for it.
Fixes #
## 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/13561152316>
> Commit: 321274cb457af80dc9fdf465ecdcf4f66f00ad92
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13561152316&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 27 Feb 2025 08:46:29 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Streamlined the error tracking integration across the app to enhance
reliability and consistency in route handling.
- Updates have been applied throughout key navigation areas—such as
settings, editors, and authentication—to ensure a smoother and more
resilient user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR removes premimum/soon tags from paragon integrations as soon as
they become available generally
Fixes#39439
_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/13561777558>
> Commit: 6e505376ab5ea29831495222cbdda97ac82abed1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13561777558&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource`
> Spec:
> <hr>Thu, 27 Feb 2025 09:04:46 UTC
<!-- 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 premium integrations display with improved filtering that
now considers active plugin selections for more refined results.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: “sneha122” <“sneha@appsmith.com”>
## Description
Removing the hook for create actions permission as its no longer
required.
Fixes [#39035](https://github.com/appsmithorg/appsmith/issues/39035)
## Automation
/ok-to-test tags="@tag.Datasource, @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/13561142790>
> Commit: 7a64f7b2c2a68c03d8fe91f935b2ba7643626f4e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13561142790&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource, @tag.JS`
> Spec:
> <hr>Thu, 27 Feb 2025 08:40:44 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Updated the logic for evaluating permissions when creating actions
within the Integrated Development Environment.
- Replaced the previous approach with a refined method that combines
feature flag checks and current page permissions for more granular and
consistent user access control.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Adding a style to update the width of App settings
Fixes [#39454](https://github.com/appsmithorg/appsmith/issues/39454)
## 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/13546298402>
> Commit: 284bde21c2de5a52dec66ca9df23d1caaea2613b
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13546298402&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 26 Feb 2025 15:33:13 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Style**
- Adjusted the left-panel layout so that components now stack
vertically, resulting in a clearer, more organized display.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
**Github changes**
- The **anvil-team** was deleted
- **Anvil pod** renamed **AI Agents POD**
- Created two child teams:
[AI Agents BE](https://github.com/orgs/appsmithorg/teams/ai-agents-be)
[AI Agents FE](https://github.com/orgs/appsmithorg/teams/ai-agents-fe)
**PR changes**
- Moved WDS widgets from `src/modules/ui-builder/ui/wds` to
`src/widgets/wds`
- Updated the paths in CODEOWNERS file
- In CODEOWNERS `@appsmithorg/anvil-team` replaced with
`@appsmithorg/ai-agents-pod`.
## 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/13542264374>
> Commit: 9c5265b27751dfe339cbf9882fbc9db580c8b342
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13542264374&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 26 Feb 2025 12:06:53 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Updated internal code ownership assignments to better reflect team
responsibilities.
- **Refactor**
- Standardized and streamlined internal module imports across UI
components and widgets.
- Removed an outdated component export to optimize the code
organization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Moving the util for grouping & sorting entity list to a common folder so
that it can be re-used in other IDEs.
Fixes [#38906](https://github.com/appsmithorg/appsmith/issues/38906)
## 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/13527015959>
> Commit: cab5b52e516cd776835e081025584a7b741a086c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13527015959&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 25 Feb 2025 18:29:03 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Introduced a utility function for grouping and sorting entity items,
improving organization and maintainability.
- Updated selectors to utilize the new grouping and sorting utility,
enhancing code structure.
- **Style**
- Adjusted spacing between list items in both the JavaScript and Query
explorers for a more balanced layout.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Simple typofix
## Automation
/ok-to-test tags=""
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Updated internal naming conventions for error handling to improve
consistency and maintainability without altering the application's
behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#39406
/test Widgets
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Custom widget now adjusts its height dynamically, improving
responsiveness during resizing.
- **Refactor**
- Enhanced and simplified height calculation for both standard and embed
modes for a more consistent display.
- **Chores**
- Updated the AI Bot endpoint to align with the current development
environment.
<!-- 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/13516801371>
> Commit: fa729e70b06e0e7f70fb2bc20afa2d6138bb81b7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13516801371&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget`
> Spec:
> <hr>Tue, 25 Feb 2025 09:41:37 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Description
**Problem**
When using a Table widget's Select column type with dynamic options, the
computed value binding fails to handle empty table states correctly. If
the table has no data (`processedTableData` is empty), the dynamic
options evaluation still attempts to map over the non-existent table
data, resulting in an empty array instead of the expected options.
**Root Cause**
The issue stems from the `getComputedValue` function always using the
table mapping binding prefix:
```typescript
{{${tableName}.processedTableData.map((currentRow, currentIndex) => (
// dynamic options here
))}}
```
This creates an unnecessary dependency on table data even when the
dynamic options don't reference `currentRow` or `currentIndex`, causing
evaluation to fail when the table is empty.
### Problematic Evaluation
When the table is empty, expressions like this in table widget computed
properties:
```typescript
{{[
{ label: "Released", value: "Released" },
{ label: "Not Released", value: "Not Released" }
]}}
```
Would evaluate to an empty array `[]` because it's wrapped in a `.map()`
over empty table data.
**Solution**
Updated the binding logic to account for scenarios where table does not
have data and return the evaluated string directly in an IIFE
1. Updated the binding prefix and suffix
```typescript
static getBindingPrefix = (tableName: string) => {
return `{{(() => { const tableData = ${tableName}.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (`;
};
static getBindingSuffix = (stringToEvaluate: string) => {
return `)) : ${stringToEvaluate} })()}}`;
};
```
2. Refactored `getComputedValue` and `getInputComputedValue` to
implement the new bindings
3. Created a migration and migration test for the DSL change
This ensures that:
- Dynamic options not dependent on table context evaluate correctly even
with empty tables
- The component maintains consistent behaviour across all table states
The solution prevents unnecessary table data dependencies while
preserving the ability to use table-specific values when required.
Fixes#23470
## Automation
/ok-to-test tags="@tag.Table, @tag.Binding, @tag.Select, @tag.Sanity,
@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/13514895959>
> Commit: 0d2e78a0a7be63d4f70fc3499829621bd1761b3d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13514895959&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Table, @tag.Binding, @tag.Select, @tag.Sanity,
@tag.Widget`
> Spec:
> <hr>Tue, 25 Feb 2025 07:52:52 UTC
<!-- 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 test coverage for adding new rows in the `TableV2` widget,
ensuring proper UI behavior when no data exists.
- **Bug Fixes**
- Improved validation of UI elements based on the "Allow adding a row"
property.
- **Refactor**
- Streamlined logic for handling computed values in the
`ComputeTablePropertyControlV2`, improving readability and
functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->