## Description
Fixing partial export spec
Fixes [#39833](https://github.com/appsmithorg/appsmith/issues/39833)
## 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
- [ ] No
## Description
Updating fixtures to replace executeOnLoad with reactiveActions
Fixes [#39833](https://github.com/appsmithorg/appsmith/issues/39833)
## 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
- [ ] No
## Description
Updating the spelling for `runBehaviour`
Fixes #
## 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
- [ ] No
## Description
Fixing remaining 4 failing cypress test cases
Fixes [#39833](https://github.com/appsmithorg/appsmith/issues/39833)
## Automation
/ok-to-test tags="@tag.ImportExport, @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/14760268599>
> Commit: 8d4c84c9701dddd05132ac7446e959bfa5b406bf
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14760268599&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.ImportExport, @tag.JS`
> Spec:
> <hr>Wed, 30 Apr 2025 18:02: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
- **New Features**
- Introduced a new "Run behavior" setting for actions, allowing users to
select between running actions automatically on page load or manually
via a dropdown, replacing the previous on/off switch.
- Enhanced dropdowns with descriptive labels and subtexts for run
behavior options across the UI.
- **Improvements**
- Updated all relevant settings, forms, plugin configurations, and APIs
to use the new "Run behavior" dropdown for APIs, queries, and JS
functions.
- Improved clarity and flexibility in action execution settings with
explicit run behavior modes.
- Synchronized backend and frontend handling of run behavior for
consistent user experience.
- **Bug Fixes**
- Updated tests and internal logic to ensure correct handling,
filtering, and persistence of the new run behavior property.
- **Documentation**
- Updated labels, help texts, and UI controls to reflect the new run
behavior terminology.
- **Chores**
- Refactored and cleaned up code by replacing deprecated properties,
updating method signatures, and consolidating type definitions for
consistency.
- Removed deprecated API endpoints and introduced new endpoints
supporting run behavior settings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Fixing cypress tests that are failing due to the change from
executeOnLoad to runBehavior
Fixes [#39833](https://github.com/appsmithorg/appsmith/issues/39833)
## Automation
/ok-to-test tags="@tag.All"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!WARNING]
> Tests have not run on the HEAD
d9d2419226a0de412d650b04dcde0483d7fedcfb yet
> <hr>Wed, 30 Apr 2025 14:37:22 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 "Run behavior" dropdown for APIs, queries, and JS
functions, allowing users to select between "On page load" and "Manual"
execution modes.
- Enhanced settings UI with descriptive labels and subtexts for run
behavior options.
- **Improvements**
- Replaced the simple "Run on page load" switch with a flexible dropdown
across the platform for better control and clarity.
- Updated terminology and UI across app settings, plugin configurations,
and test suites to reflect the new run behavior model.
- **Bug Fixes**
- Adjusted automated tests and UI interactions to align with the new run
behavior selection, ensuring consistent behavior and reliability.
- **Documentation**
- Updated labels, tooltips, and instructional text to guide users on the
new run behavior options.
- **Refactor**
- Unified internal logic and configuration to support the new run
behavior property, replacing legacy boolean flags.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Updated the 'hidden' property in the TableWidgetV2 configuration to
account for both the INFINITE_SCROLL_ENABLED feature flag and the
serverSidePaginationEnabled prop, ensuring proper visibility control
based on these conditions.
Fixes#40409
_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/14733305658>
> Commit: cba8275ab184bc9c3c8e0a54c54994e3409b9c98
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14733305658&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Table`
> Spec:
> <hr>Tue, 29 Apr 2025 16:01:26 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 visibility logic for the infinite scroll option in table
pagination settings to better reflect feature availability and widget
configuration.
- **Tests**
- Enhanced test coverage by enabling server-side pagination alongside
infinite scroll in table widget scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Updating JSFunctionSettings unit test to fix failure
Fixes [#39833](https://github.com/appsmithorg/appsmith/issues/39833)
## Automation
/ok-to-test tags=""
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!WARNING]
> Tests have not run on the HEAD
d74c7de3a24a5a63d30f1ba013da89e299746fde yet
> <hr>Tue, 29 Apr 2025 16:47: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
- **New Features**
- Introduced a "Run behavior" dropdown for actions, queries, and APIs,
allowing users to select between "On page load" and "Manual" execution
modes.
- Added descriptive subtext to run behavior options for improved
clarity.
- **Enhancements**
- Replaced the previous "Run on page load" switch with a more flexible
run behavior selector across the UI.
- Updated editor and settings panels to reflect the new run behavior
configuration.
- **Bug Fixes**
- Ensured consistent handling and synchronization of run behavior
settings throughout the application.
- **Documentation**
- Updated tooltips and labels to clarify run behavior options.
- **Tests**
- Added and updated tests to cover the new run behavior feature and its
integration.
- **Chores**
- Updated internal configurations and test data to use the new run
behavior property.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
* In addition, added a check on the pre-commit hook to prevent anyone
from updating TinyMCE from 6. 8. 3 again.
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.TextEditor"
### 🔍 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/14735650279>
> Commit: 2fb46c6675b18e735dca766083dd78469722ebb5
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14735650279&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.TextEditor`
> Spec:
> <hr>Tue, 29 Apr 2025 16:12:43 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**
- Updated selectors for rich text editor elements to use the `title`
attribute instead of `aria-label`, improving compatibility with recent
changes.
- **Chores**
- Added a pre-commit check to prevent changes to the TinyMCE dependency
version in `package.json`.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Fixing the page actions spec that was failing after
[#40322](https://github.com/appsmithorg/appsmith/pull/40322) merge
Fixes #
## 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/14587020719>
> Commit: d46229ad5cef61fdfa1eaee3adc38d38faac2b3a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14587020719&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IDE`
> Spec:
> <hr>Tue, 22 Apr 2025 05:28:28 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
- **Tests**
- Updated test assertions to check the "data-subtle" attribute instead
of "data-disabled" when verifying the UI state of hidden pages.
- Added a tag to the test suite for improved categorization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## 🐞 Problem
We've identified several issues with the TableWidgetV2's infinite scroll
functionality:
- **Stale Data After Toggle**
When users enable infinite scroll for the first time, the table's state
and cached data aren't properly reset, potentially leading to incorrect
data display and inconsistent behavior.
- **Height Changes Breaking Existing Data**
When a table's height is increased while infinite scroll is enabled, the
existing cached data becomes invalid due to changing offsets, but the
table wasn't resetting its state accordingly.
- **Empty Initial View**
When loading a table with infinite scroll enabled, rows were not visible
during the initial load until data was fetched, creating a jarring user
experience.
- **Disabled Properties Still Rendering Controls**
Property controls that should be disabled (based on section disabling
conditions) were still being rendered and active, causing unexpected
behavior.
---
## ✅ Solution
### 1. Implement Table Reset on Infinite Scroll Toggle
Added a new method `resetTableForInfiniteScroll()` that properly resets
the table's state when infinite scroll is enabled. This method:
- Clears cached table data
- Resets the "end of data" flag
- Resets all meta properties to their default values
- Sets the page number back to `1` and triggers a page load
```ts
resetTableForInfiniteScroll = () => {
const { infiniteScrollEnabled, pushBatchMetaUpdates } = this.props;
if (infiniteScrollEnabled) {
// reset the cachedRows
pushBatchMetaUpdates("cachedTableData", {});
pushBatchMetaUpdates("endOfData", false);
// reset the meta properties
const metaProperties = Object.keys(TableWidgetV2.getMetaPropertiesMap());
metaProperties.forEach((prop) => {
if (prop !== "pageNo") {
const defaultValue = TableWidgetV2.getMetaPropertiesMap()[prop];
this.props.updateWidgetMetaProperty(prop, defaultValue);
}
});
// reset and reload page
this.updatePageNumber(1, EventType.ON_NEXT_PAGE);
}
};
```
---
### 2. Reset on Height Changes
Added a check in `componentDidUpdate` to detect height changes and reset
the table when needed:
```ts
// Reset widget state when height changes while infinite scroll is enabled
if (
infiniteScrollEnabled &&
prevProps.componentHeight !== componentHeight
) {
this.resetTableForInfiniteScroll();
}
```
---
### 3. Improved Empty State Rendering
Modified the `InfiniteScrollBodyComponent` to show placeholder rows
during initial load by using the maximum of `rows.length` and
`pageSize`:
```ts
const itemCount = useMemo(
() => Math.max(rows.length, pageSize),
[rows.length, pageSize],
);
```
This ensures the table maintains its expected height and appearance even
before data is loaded.
---
### 4. Fixed Property Control Rendering
Fixed the `PropertyControl` component to respect the `isControlDisabled`
flag by conditionally rendering the control:
```ts
{!isControlDisabled &&
PropertyControlFactory.createControl(
config,
{
onPropertyChange: onPropertyChange,
// ...other props
},
// ...other args
)}
```
This prevents disabled controls from being rendered and potentially
causing issues.
---
These improvements significantly enhance the stability and user
experience of **TableWidgetV2**'s infinite scroll functionality.
Fixes#39377
## Automation
/ok-to-test tags="@tag.Table, @tag.Widget, @tag.Binding, @tag.Sanity,
@tag.PropertyPane"
### 🔍 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/14373134089>
> Commit: 2b0715bbbe2e9a254cd287f831329be529a17c3c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14373134089&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Table, @tag.Widget, @tag.Binding, @tag.Sanity,
@tag.PropertyPane`
> Spec:
> <hr>Thu, 10 Apr 2025 07:15:53 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**
- Property panels now display controls only when enabled, enhancing
clarity.
- Table widgets offer smoother infinite scrolling with automatic resets
on state or size changes.
- Columns dynamically adjust for optimal display when infinite scrolling
is active.
- **Bug Fixes**
- Improved handling of item counts and loading states in infinite
scrolling.
- **Refactor**
- Improved performance through optimized item computations and
streamlined scrolling logic.
- Removed redundant loading button logic for a cleaner user experience.
- **Tests**
- Expanded test scenarios to verify improved content wrapping and rich
HTML rendering in table cells, with a focus on internal logic and
behavior.
- Enhanced clarity and robustness of infinite scroll tests by verifying
loading through scrolling actions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
## Description
Adhering to user recommendation:
https://github.com/appsmithorg/appsmith/issues/20230#issuecomment-2785940800
Updated the label to clarify the meaning of config.
Fixes #`Issue Number`
_or_
Fixes `Issue URL`
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags="@tag.Widget"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/14375355147>
> Commit: 7b0f939203b3d3efa7c0795bf7855bd553ecf430
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14375355147&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget`
> Spec:
> <hr>Thu, 10 Apr 2025 09:18: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**
- Updated the Table widget’s configuration label from “Same options in
new row” to “Use top row values in new rows” to provide clearer guidance
on how select options work when adding rows.
- Enhanced test descriptions to reflect the updated terminology,
ensuring clarity in functionality related to select options when adding
new rows.
- **Bug Fixes**
- Adjusted test logic to ensure correct visibility of new row select
options based on the updated configuration setting.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Blocking disconnection of the only connected auth method in admin
settings to avoid locking out the user.
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.Settings, @tag.Authentication, @tag.SignIn"
### 🔍 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/14326343041>
> Commit: 1c158e140b141597640afd57ca0c3c72c74df194
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14326343041&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Settings, @tag.Authentication, @tag.SignIn`
> Spec:
> <hr>Tue, 08 Apr 2025 06:31: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
- **Bug Fixes**
- Updated Google login handling to ensure the system now accurately
verifies when Google OAuth is enabled, improving the reliability of
authentication.
- Enhanced the categorization of test cases related to Form Login and
Google authentication, ensuring more precise test execution.
- **Refactor**
- Streamlined login settings management in the admin interface by
removing redundant state management, ensuring consistent and up-to-date
behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Updating admin settings logic to fix issues on EE
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.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/14315577260>
> Commit: 1b0c2823290e6af5849b096d640ac856964a0d4c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14315577260&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Settings`
> Spec:
> <hr>Mon, 07 Apr 2025 17:54:10 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**
- Admin Settings now displays Profile and Organisation sections whenever
available, independent of user privileges.
- Updated category filtering ensures non-superusers see only the most
relevant options.
- Introduced a new locator for the sub-text link in Admin Settings to
improve test coverage.
- **Style**
- Enhanced link presentation in the Admin Settings page for clearer
navigation.
- **Bug Fixes**
- Simplified test logic for Admin settings, improving the reliability of
test cases.
- Ensured consistent boolean handling for user superuser status across
various components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Updating admin settings page as per new designs:
https://www.figma.com/design/XouAwUQJKF2lf57bQvNM1e/Cloud-Billing-(-Phase-1-)?node-id=15907-10916&m=dev
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.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/14302998753>
> Commit: 259bdc292d08fd3f6cc4ffb2fce833b71c123d2e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14302998753&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Settings`
> Spec:
> <hr>Mon, 07 Apr 2025 07:33: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 an updated profile page for managing account details and
profile images.
- Expanded and restructured the Admin Settings with clear sections like
Instance Settings, Configuration, User Management, Branding, and
Profile.
- Added new icons that enhance the visual experience.
- Implemented a new styled component for conditional rendering of links
in settings.
- Added user settings for session management and Git configuration.
- Enhanced test cases for Admin Settings to ensure proper navigation and
functionality.
- Introduced a new configuration for instance settings, allowing for
detailed management options.
- Added a new configuration for profile settings, enhancing user
management capabilities.
- Introduced a new configuration for email settings, reflecting
organizational needs.
- **Bug Fixes**
- Revised the save button text to “Save Changes” and refined success
notifications.
- **Refactor**
- Streamlined routing and configuration for a more intuitive and
consistent Admin Settings experience.
- Updated category management logic in the LeftPane component to focus
on user management and organizational categories.
- Modified the filtering logic in admin settings helpers for improved
clarity and functionality.
- Enhanced the overall structure of test cases for better organization
and clarity.
- **Style**
- Updated header and layout styling for improved visual consistency.
- Enhanced the visual presentation of the SettingsSubHeader component.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Update tests post
17ac31267b
/ok-to-test tags="@tag.Anvil"
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/14301296428>
> Commit: 6f3ec15f89b30b141747c7d9d8df85e5529b5ad5
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14301296428&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Mon, 07 Apr 2025 05:34:01 UTC
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Style**
- Refined the rounding on interface elements to deliver a more balanced
and modern visual appearance, resulting in smoother and more consistent
component styling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Removing email verification setting for Multi organization flow
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.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/14249110861>
> Commit: 0d9eaeb7b000123871fada897c346729f3751757
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14249110861&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Settings`
> Spec:
> <hr>Thu, 03 Apr 2025 17:52: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
- **Chores**
- Removed an outdated configuration flag from the default settings.
- **New Features**
- Enhanced multi-organization support for admin settings, with certain
configurations (e.g., email verification) now conditionally hidden.
- Updated the presentation of notification and warning messages,
switching from link-based displays to more prominent callout styles for
improved clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
# ✨ Optimized Infinite Scrolling for TableWidgetV2
## 📌 Problem
The **infinite scrolling** feature in **TableWidgetV2** did not load the
correct number of pages (2) on init, and the table rows length was more
than the data fetched
## ✅ Solution
This PR optimizes **infinite scrolling** by:
- 📥 **Automatically loading the next page of data** when the initial
rows are **≤ 1 page**
- 📊 **Simplifying row count management** by using the actual **rows
length** instead of relying on `totalRecordsCount` which does not tell
actual rows loaded into the table
---
### 🚀 How to Test
1. Enable **Infinite Scroll** in **TableWidgetV2**.
2. Ensure that additional pages (page 2) loads **automatically** when
the initial rows are ≤ 1 page.
3. Verify that **pagination behavior remains consistent** with expected
results.
Fixes #`Issue Number`
_or_
Fixes `Issue URL`
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags="@tag.Widget, @tag.Table, @tag.Binding, @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/14241762644>
> Commit: 8bf69c9dc7cddee2ef272750797ab2c6cd854028
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14241762644&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget, @tag.Table, @tag.Binding, @tag.Sanity`
> Spec:
> <hr>Thu, 03 Apr 2025 12:53: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
## Summary by CodeRabbit
- **New Features**
- Introduced a new `useInfiniteScroll` hook to enhance infinite
scrolling functionality in the table widget.
- **Refactor**
- Simplified pagination logic by directly utilizing the length of the
rows array, improving performance and clarity.
- **Bug Fixes**
- Adjusted test data and assertions in the Cypress test suite to better
reflect the expected behavior of the table widget under varying content
conditions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
## Description
In the case of programmatically changing the checkbox state, the
onCheckboxChange event was not being triggered. I have added logic to
handle this issue.
Fixes #`Issue Number`
_or_
Fixes https://github.com/appsmithorg/appsmith-ee/issues/6823
> [!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.Checkbox"
### 🔍 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/14169747454>
> Commit: 81c1da076cf7d5abbbae65c0c4cf6d5906fc1d3b
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14169747454&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Checkbox`
> Spec:
> <hr>Mon, 31 Mar 2025 11:11:12 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 checkbox widget to reflect programmatic state changes
with corresponding UI updates and notifications.
- **Tests**
- Added a new automated test case to validate that programmatic changes
to the checkbox state trigger the appropriate alerts and update the UI
accordingly.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Updates the specs with new doc structure in custom widget.
Fixes #`Issue Number`
_or_
Fixes `Issue URL`
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags="@tag.Widget"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/14126379520>
> Commit: c043c29f610f3f8f5520759ef71a49f772cfdc68
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14126379520&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget`
> Spec:
> <hr>Fri, 28 Mar 2025 11:26:17 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 text display within the custom widget to showcase the
current tip index.
- **Refactor**
- Enhanced the custom widget’s layout and styling, resulting in a
cleaner interface and more consistent appearance for a smoother user
experience.
- Updated import statements for React and ReactDOM to improve
consistency and clarity in the code.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
The feature flag was incorrectly named, and that flag key cannot be
changed directly in Launch. To address this, I will update the flag name
in the code itself instead of creating an additional flag.
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/14122296394>
> Commit: d298c9616047cc928361b6729d1bb256e328536f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14122296394&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Table`
> Spec:
> <hr>Fri, 28 Mar 2025 05:36:33 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
- **Chores**
- Updated the feature flag for infinite scroll behavior on release
tables to enhance clarity and consistency in naming.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR fixes, form login cypress failure EnableFormLogin_spec.js
Fixes#39947
## Automation
/ok-to-test tags="@tag.Settings"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!WARNING]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/14100890417>
> Commit: d744aa771c096a9cbc3edb0c51c4b83f20df49aa
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14100890417&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.Settings
> Spec:
> It seems like **no tests ran** 😔. We are not able to recognize it,
please check <a
href="https://github.com/appsmithorg/appsmith/actions/runs/14100890417"
target="_blank">workflow here</a>.
> <hr>Thu, 27 Mar 2025 07:38:35 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
- **Tests**
- Improved the efficiency of authentication form tests by eliminating
unnecessary waiting periods after updating login and signup settings.
- The first test case has been updated with a new tag for better
organization.
- These changes streamline the testing process, resulting in faster
feedback during development cycles. While the user interface remains
unchanged, this improvement supports robust performance and quality
assurance.
<!-- 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._
/test 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/14058953075>
> Commit: 80445acc542f201c01a40a09323097a946959e50
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14058953075&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Settings`
> Spec:
> <hr>Tue, 25 Mar 2025 12:19: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
- **New Features**
- Organizations now control form login and signup behavior with updated,
clearer configuration flags.
- **Refactor**
- Renamed settings to reflect an enabled state for form login and a
disabled state for signup.
- Removed deprecated restart functionality and reorganized utility
classes for improved maintainability.
- **Chores/Tests**
- Updated tests and environment examples to align with the new
configuration settings and ensure consistent behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
/ok-to-test tags="@tag.Fork"
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/14026980171>
> Commit: 08aa8ea9364fa72c6cc6a53fc2edc05e375d0989
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14026980171&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Fork`
> Spec:
> <hr>Mon, 24 Mar 2025 04:27:51 UTC
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Tests**
- Disabled automated tests that validate application forking workflows.
*(No visible changes to application functionality.)*
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: “NandanAnantharamu” <“nandan@thinkify.io”>
/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/14027023498>
> Commit: b534037d9908fb042b3e4e66d27fff7cb0831030
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14027023498&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 24 Mar 2025 04:47:57 UTC
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Tests**
- Temporarily disabled internal tests related to branch deletion to
reflect an identified issue. These adjustments ensure our quality checks
remain aligned with current conditions without impacting your
experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: “NandanAnantharamu” <“nandan@thinkify.io”>
## Description
This PR adds support for variable height rows in the Table Widget when
using infinite scroll. The implementation dynamically adjusts row
heights based on content, particularly for wrapped text and HTML
content.
## Key Features
1. **Dynamic Row Height Calculation**: Rows automatically resize based
on content length when cell wrapping is enabled or HTML content is
present
2. **Smooth Infinite Scrolling**: Maintains smooth scrolling performance
while supporting variable height rows
3. **Responsive Layout**: Rows adjust in real-time when table data
changes or when cell wrapping is toggled
## Implementation Details
The implementation replaces the fixed-size virtual list with a
variable-size virtual list that can handle rows of different heights:
1. Created a new `BaseVirtualList` component that uses
`VariableSizeList` from react-window
2. Added row height measurement logic in the `Row` component to
calculate optimal heights
3. Implemented a context-based system to store and update row heights
4. Created a utility hook `useColumnVariableHeight` to track columns
that need variable height handling
## Testing
Added comprehensive Cypress tests that verify:
1. Fixed height behavior when cell wrapping is disabled
2. Increased row heights when cell wrapping is enabled
3. Dynamic height updates when content changes
4. Proper handling of HTML content that have extended heights
5. Reverting to fixed height when wrapping is disabled
Fixes#39089
## Automation
/ok-to-test tags="@tag.Widget, @tag.Sanity, @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/13946877628>
> Commit: 9f50f22adcb8a8ab9c2aa566c7a0f21e49d1beee
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13946877628&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget, @tag.Sanity, @tag.Binding`
> Spec:
> <hr>Wed, 19 Mar 2025 14:39:17 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 table widget to automatically adjust row heights based on
varying content lengths, wrapping settings, and HTML content for a
smoother user experience.
- Improved performance with optimized virtualization of table rows,
ensuring efficient rendering and smooth infinite scrolling.
- **Tests**
- Added a comprehensive test suite validating the table’s behavior under
fixed, dynamic, and updated content conditions, ensuring consistent row
height adjustments during user interactions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
## Description
Updates the error message assertion in DS_Bug26941_Spec.ts
## Automation
/ok-to-test tags="@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/13963497727>
> Commit: 143ec48d157ff1e05479106b31bf9093361eeb6f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13963497727&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource, @tag.Sanity`
> Spec:
> <hr>Thu, 20 Mar 2025 07:49:21 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
- **Tests**
- Enhanced automated test routines to improve the monitoring and
verification of API error scenarios for increased reliability.
- Added additional logging and assertions to capture detailed API
response information during error handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
/ok-to-test tags="@tag.AIAgents"
Context for this PR -
https://theappsmith.slack.com/archives/C06CG2HNUKB/p1742291871620149
There are no cypress tests for AIAgent on CE repo. Not sure about the
root cause, but because of this cypress is running the tests that are
marked as skip. So just adding a dummy spec so that cypress don't act
weird.
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13963612254>
> Commit: 3a79f55e25f3ec59b0394f95569db1b99dfeccf7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13963612254&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.AIAgents`
> Spec:
> <hr>Thu, 20 Mar 2025 07:13:18 UTC
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Tests**
- Introduced a new automated end-to-end test suite for dummy assertions
to enhance regression testing.
<!-- 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.Widget, @tag.AIAgents, @tag.Anvil, @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/13895932231>
> Commit: ba0059c39b060ba93114cf0214bc64b135273340
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13895932231&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget, @tag.AIAgents, @tag.Anvil, @tag.Sanity`
> Spec:
> <hr>Mon, 17 Mar 2025 11:09: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
- **Tests**
- Refined the automated testing flow to ensure more controlled handling
of application request processes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
/ok-to-test tags="@tag.Anvil"
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13892555180>
> Commit: ff664767ae7d5871a766bf417a2e9755ad0fac53
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13892555180&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Mon, 17 Mar 2025 06:19:10 UTC
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Tests**
- Enhanced the automation for creating new applications during testing.
Under certain test scenarios, the system now alters the payload to
simulate different application configurations, improving test
reliability and consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Removing the feature flag for using Entity Item component from ADS
templates in the Entity Explorer in App Editor.
Fixes [#39067](https://github.com/appsmithorg/appsmith/issues/39067)
## 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/13804174182>
> Commit: 8a4a2007c8e1411a9baa388cf841e5e489cb6778
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13804174182&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 12 Mar 2025 06:32:35 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**
- Improved entity renaming: input fields now automatically clear
previous text for smoother editing.
- Enhanced page navigation: active selections are now verified more
consistently, ensuring clearer context.
- New feature flag added for enhanced entity item visibility.
- Added new methods for improved entity selection and verification in
tests.
- Introduced `parentId` properties in widget definitions to enhance
hierarchical structure.
- Updated selectors for widget names and collapsible elements in tests
for improved targeting.
- **Bug Fixes**
- Resolved issues with inconsistent element detection and state feedback
for a more stable interface.
- **Refactor**
- Updated widget hierarchy and locator logic for improved layout
rendering and overall UI consistency.
- Modified locator strategies to enhance element targeting across
various components.
- Simplified method signatures for better clarity and maintainability.
- Enhanced test selectors to improve reliability and maintainability.
- Removed obsolete commands and streamlined interaction methods in
tests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Hetu Nandu <hetunandu@gmail.com>
Co-authored-by: Hetu Nandu <hetu@appsmith.com>
## 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
RCA: Found that vessel table is present. Just added drop query for make
sure spec is running smoothly.
Fixes #
https://app.zenhub.com/workspaces/qa-63316faf86bb2e170ed2e46b/issues/gh/appsmithorg/appsmith/39647
## Automation
/ok-to-test tags="@tag.Datasource"
### 🔍 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/13761525907>
> Commit: 128cf5f471a1b577d22df46ffff8c1f7c564d015
> Workflow: `PR Automation test suite`
> Tags: `@tag.Datasource`
> Spec: ``
> <hr>Mon, 10 Mar 2025 09:44:13 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**
- Modified the database setup process to ensure any previous table
instances are cleared before creation, preventing potential conflicts.
- **Tests**
- Enhanced the reliability of automated tests by establishing a
consistent and error-free environment for database operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Added tag to exclude from map widget spec from airgap
Fixes #`Issue Number`
_or_
Fixes `Issue URL`
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags="@tag.Sanity"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13759569874>
> Commit: 7bd6cac649ac715267c5149f15f6f85bddbc0ff2
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13759569874&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 10 Mar 2025 08:38:39 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
- **Tests**
- Enhanced test suite configuration by adding an environment-specific
tag to allow selective exclusion of certain tests, improving flexibility
in managing test execution across different deployment contexts.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Signed-off-by: Laveena Enid <laveena@appsmith.com>
## 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 -->
/ok-to-test tags="@tag.Anvil"
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13720487258>
> Commit: 1e7dc782974a780a7eb39dcaa3618c14853d5e13
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13720487258&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Fri, 07 Mar 2025 12:40:56 UTC
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Improved the modularity of our widget selection system, enhancing its
integration and maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
/ok-to-test tags="@tag.Anvil"
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced an AI Agents integration tag, broadening the available
options for future enhancements.
- Added new public methods for retrieving widget, datasource, and action
states, improving testability and state management.
- **Tests**
- The text input component now supports a new testing identifier
attribute, greatly improving targeting in automated tests.
- Enhanced testing commands provide more reliable state tracking and
feature flag management, contributing to a more stable application
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/13719108635>
> Commit: d7fc099930a658b3d68cc5ef063661df02765801
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13719108635&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Fri, 07 Mar 2025 11:14:32 UTC
<!-- end of auto-generated comment: Cypress test results -->
## 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
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 -->
## Description
Add the @tag.excludeForAirgap
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.Hubspot"
### 🔍 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/13669120033>
> Commit: ca53324880d5cc85b0fc1412e3ff7fc1d9e8f7a2
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13669120033&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Hubspot`
> Spec:
> <hr>Wed, 05 Mar 2025 05:44: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
Signed-off-by: Laveena Enid <laveena@appsmith.com>
## 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
This PR introduces cypress tests to ensure the functionality of the
Hubspot datasource integration.
Fixes #`Issue Number`
_or_
Fixes `Issue URL`
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags="@tag.Sanity"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13516494494>
> Commit: c0dbcc5ae19a0471e72c9ca3bc4eb47c80cd08b4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13516494494&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 25 Feb 2025 08:50:28 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 HubSpot integration in the application with an improved
configuration form supporting Bearer token authentication.
- **Tests**
- Added comprehensive end-to-end tests covering HubSpot datasource
setup, query execution, widget data binding, deletion, and error
handling scenarios.
- **Chores**
- Updated test specifications to include the new HubSpot tests and
introduced a dedicated tag for easier test grouping.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Signed-off-by: Laveena Enid <laveena@appsmith.com>
## 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 -->