## 🐞 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 -->
# ✨ 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
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
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 -->
## 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
**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 -->
### Problem
Tooltips in the application were overflowing out of the viewport,
causing them to be partially or completely hidden.
### Why This is Happening
The preventOverflow modifier was disabled, and the flip modifier was not
enabled in the Tooltip component, leading to improper positioning of
tooltips.
### Solution
- Enabled the preventOverflow modifier and set its boundary to the
viewport.
- Enabled the flip modifier to ensure better positioning of tooltips.
- Added a CSS assertion in the Input widget tests to verify that the
tooltip icon has an overflow property set to "hidden".
### Why This is the Best Solution
Enabling these modifiers ensures that tooltips adjust dynamically to
remain fully on-screen, improving the user experience by making tooltips
consistently visible. The additional test assertion helps maintain the
integrity of the tooltip icon's CSS properties.
Fixes#34445
## 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/13305105052>
> Commit: 1f20716e5ad8bc3fff67da40e43a245ca8a0890f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13305105052&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 13 Feb 2025 11: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
## Summary by CodeRabbit
- **New Features**
- Enhanced tooltip behavior improves positioning and visibility by
ensuring tooltips adjust dynamically to remain fully on-screen.
- **Tests**
- Added assertions to validate tooltip appearance and behavior in the
InputV2 widget tests.
<!-- 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
/test all
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> 🔴🔴🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13391658708>
> Commit: d30db4487d93622533aec846a17fecea12e0205e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13391658708&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.All
> Spec:
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/ActionExecution/FrameworkFunctions_LocalStoreValueFunctions_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/SetProperty/WidgetPropertySetters2_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Widgets/TableV2/table_data_change_spec.ts</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.
> <hr>Tue, 18 Feb 2025 14:35: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 organization-level configuration management, impacting
admin settings, login, and branding displays.
- Enhanced handling of permissions and feature flags now centered on
organizations.
- **Refactor**
- Updated user-facing terminology across the application from “tenant”
to “organization” (e.g., in dashboards, profile settings, error pages,
and admin panels).
- Refactored multiple components and services to utilize
organization-based logic instead of tenant-based logic.
- **Chore**
- Deployed comprehensive migration scripts to seamlessly transition all
settings and cached data to the new organization model.
These updates improve consistency and clarity in how configurations and
permissions are managed and presented.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
When a List widget has a selected item and is hidden then unhidden
(unmounted/mounted), an infinite render loop occurs in the following
flow:
```typescript
// Triggered in componentDidUpdate
if (this.shouldUpdateSelectedItemAndView() && isString(this.props.selectedItemKey)) {
this.updateSelectedItemAndPageOnResetOrMount();
}
```
### Root Cause
This happens because:
1. `updateSelectedItemAndPageOnResetOrMount` calls `updatePageNumber`.
2. `updatePageNumber` uses `calculatePageNumberFromRowIndex`, which
depends on `this.pageSize`.
3. Each page number calculation triggers a meta property update through
`onPageChange`.
4. This meta update causes a rerender, repeating the cycle.
#### Problematic Calculation
`this.pageSize` is calculated dynamically based on widget dimensions:
```typescript
calculatePageNumberFromRowIndex = (index: number) => {
return Math.ceil((index + 1) / this.pageSize); // Using unstable this.pageSize
};
```
This creates instability during mount/unmount cycles as:
- Widget dimensions may not be fully stabilized.
- Each meta property update triggers recalculation.
- No break in the update-rerender cycle.
### Solution
Use `this.props.pageSize` instead of `this.pageSize` in page
calculations:
```typescript
calculatePageNumberFromRowIndex = (index: number) => {
return Math.ceil((index + 1) / this.props.pageSize); // Using stable props value
};
```
### Why This Works
- `this.props.pageSize` represents the last stable value set through the
meta property system.
- It's protected by the existing `pageSizeUpdated` flag mechanism.
- Breaking the dependency on dynamically calculated dimensions prevents
the infinite loop.
Fixes#37683
## Automation
/ok-to-test tags="@tag.Widget, @tag.Binding, @tag.List, @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/13366216706>
> Commit: 74028ec9f52aa25daf0d72c7cdf3c4fa9701e86e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13366216706&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget, @tag.Binding, @tag.List, @tag.Sanity`
> Spec:
> <hr>Mon, 17 Feb 2025 10:23:19 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**
- Improved the list widget’s pagination by updating how page numbers are
calculated, ensuring accurate reflection of the current page size
settings.
- **Tests**
- Enhanced test coverage for the list widget's visibility, adding new
tests to validate user interactions and ensuring the widget behaves as
expected when items are selected.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Updates the folder structure and file breakup according to the new IDE
folder structure
Fixes#39048Fixes#39049Fixes#39051
## 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/13352717132>
> Commit: 54cd1a3b4679ae8bd0687ddb063692a26be1d7b9
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13352717132&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Sun, 16 Feb 2025 08:44:30 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
## 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.AppUrl"
### 🔍 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/13363538162>
> Commit: 0701248cbd6cd53a9777f00933cc56fb45abcfcf
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13363538162&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.AppUrl`
> Spec:
> <hr>Mon, 17 Feb 2025 05:49:10 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
## Summary by CodeRabbit
- **Tests**
- Streamlined redirection tests by removing an unnecessary sign out
step.
- Enhanced URL validation with improved logging to ensure correct
encoding.
- Refined the testing process to robustly verify that redirection
parameters are accurately passed.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Adds various discovery points for State Inspector
Fixes#38934
## 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/13329714726>
> Commit: e9dc2398262b8cd2bbb69b45bd7089e9fd029e56
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13329714726&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 14 Feb 2025 15:47: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**
- Introduced an “Inspect State” option across various parts of the
interface, enabling users to directly review state details for widgets,
actions, and collections via context menus, toolbars, and property pane
actions.
- Added a new `InspectStateHeaderButton` and `InspectStateMenuItem` for
enhanced state inspection capabilities.
- **Style**
- Refined layout and typography in popups and menus for a cleaner, more
consistent user experience.
- **Bug Fixes**
- Enhanced type safety in property pane actions by enforcing stricter
type checks.
- **Chores**
- Updated imports and refactored related logic to streamline the
configuration handling for the debugger interface.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
This PR fixes the flakiness of
`cypress/e2e/Regression/ClientSide/Debugger/JSObjects_navigation_spec.ts`
by making the following improvements:
1. Adding an assertion to verify the deletion of a JS Object in the
second test case.
2. Switching to full-screen mode before creating a JS Object in the
third test case.
Fixes https://github.com/appsmithorg/appsmith/issues/39267
## Automation
/ok-to-test tags="@tag.JS, @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/13325804763>
> Commit: 1e5af6110108e9694317e6943e487cc03c2edb34
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13325804763&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.JS, @tag.Sanity`
> Spec:
> <hr>Fri, 14 Feb 2025 09:51:57 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 deletion confirmation checks to ensure users see successful
deletion notifications.
- Improved test stability by enforcing the correct screen mode before
creating new objects.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
It has been a month since we have turned on the flag for table HTML
column type and we have not seen any issues.
This PR removes all the feature flags related code from the codebase.
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/13195811365>
> Commit: 7a0f810c1f6a271adad082fc5c8b630b427aea34
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13195811365&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Table`
> Spec:
> <hr>Fri, 07 Feb 2025 09:20: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
- **New Features**
- The HTML column type now appears as a consistently available option
when configuring table widgets.
- **Refactor**
- The table widget’s architecture has been streamlined for improved
modularity and state management, enhancing overall cell rendering.
- **Chore**
- Legacy conditional toggling for the HTML column type has been removed
to simplify configuration and standardize behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Replacing entity tab bar and components with ADS templates.
Fixes#37647Fixes#37775
## 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/13172995565>
> Commit: f3db2d920ded4aec290af6bc48278a59a04b8db8
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13172995565&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 06 Feb 2025 07:56: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
## Summary by CodeRabbit
- **New Features**
- Enhanced tab interaction: The add button now supports dynamic
visibility and a loading indicator when new tabs are being created.
- Improved editing: Tab labels now feature refined controls for entering
and exiting edit mode, offering a more flexible user experience.
- New `EntityTabsHeader` component added to enhance tab management.
- Updated tab structure to utilize `DismissibleTab` for improved
functionality.
- Introduced new props for `DismissibleTabBar` to allow for additional
styling and control over add button visibility.
- New properties added to `DismissibleTab` for greater interactivity and
customization.
- Additional properties introduced to `EditableDismissibleTab` for
enhanced editing capabilities.
- **Refactor**
- Streamlined the tab interface by replacing legacy components with
modern, responsive alternatives, simplifying the overall design and
interaction.
- Enhanced event handling and state management for better performance
and user experience.
- Updated import paths and component structures for clarity and
maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

Few known bugs:
1. --The placeholder value is cleared when the user is searching. This
is happening cause we are using hack to put search into dropdown and it
is conflicting with native behavior of rc-select--
[](https://github.com/user-attachments/assets/4d40607f-c9c9-4060-9086-cc9d8dc49553)
/ok-to-test tags="@tag.All"
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a grouped dropdown with checkboxes for multi-select, making
option organization more intuitive.
- **Enhancements**
- Upgraded dropdown search with auto-focus and dynamic filtering.
- Improved tag display with responsive limits and an updated "info"
style.
- Added configuration options to control the number of visible tags.
- **Documentation**
- Expanded examples to showcase the new grouped and checkbox-enhanced
dropdown features.
- **Style**
- Refined styling and animations for dropdown states, ensuring a fluid
and consistent user experience.
- **Bug Fixes**
- Adjusted selectors in tests to improve interaction with dropdowns,
enhancing test reliability.
<!-- 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/13173050535>
> Commit: 33634093ddb9b6d699d8f9c50297c4245bea21fb
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13173050535&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 06 Feb 2025 07:34:34 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Description
Added new cases
Fixes #
https://app.zenhub.com/workspaces/qa-63316faf86bb2e170ed2e46b/issues/gh/appsmithorg/appsmith/39027
## Automation
/ok-to-test tags="@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/13152773763>
> Commit: 6a16e3a46842f21333e01c1943d1fc74217924d3
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13152773763&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.SignIn`
> Spec:
> <hr>Wed, 05 Feb 2025 09:48:35 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 authentication: Users can now log in using either a username
or an email address.
- Improved sign-up flow for a smoother and more accessible account
creation experience.
- **Tests**
- Expanded automation ensuring robust and consistent sign-in and sign-up
processes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Verify toast before disapper.
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.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/13129952231>
> Commit: e0a07d11d559eff3a2d6e4e2bf62a98caf096c19
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13129952231&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Binding`
> Spec:
> <hr>Tue, 04 Feb 2025 08:41:43 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 error notification handling for Google reCAPTCHA failures to
ensure users receive consistent and reliable feedback.
- Improved the process for validating that error messages display
correctly and clear as expected during failure scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Updated the test case code with import app.
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.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/13116038995>
> Commit: 486ff22d496697ddc93302fbc4b11ce84542a031
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13116038995&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Binding`
> Spec:
> <hr>Mon, 03 Feb 2025 16:12:35 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**
- Upgraded page load functionality now triggers API actions seamlessly
upon page refresh, ensuring input fields display accurate, up-to-date
information.
- Enhanced application configuration supports dynamic widget behavior
for a more responsive and intuitive experience.
- Overall, these improvements boost reliability and streamline
interactions, delivering a more consistent user interface.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…38650)"
This reverts commit e1b3b0df00.
## Description
> [!TIP]
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._
Fixes #`Issue Number`
_or_
Fixes `Issue URL`
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags="@tag.All"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/13106069580>
> Commit: 7f7dcd2f14650de40864e2d80f02a1528d7562bc
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13106069580&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 03 Feb 2025 05:27:48 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 Updates**
- Enhanced focus visibility across multiple design system components.
- Updated focus styles to use `outline` with `!important` flag.
- Improved focus ring and outline handling for better accessibility.
- **Design System Refinements**
- Modified focus handling in buttons, inputs, links, and other
interactive elements.
- Standardized focus state styling across components.
- Introduced more consistent visual feedback for keyboard navigation.
- **CSS Improvements**
- Removed outline-disabling styles from global CSS.
- Added more precise focus indication mechanisms.
- Adjusted padding and outline properties for various components.
- Simplified styling and structure of the `PropertyPaneSearchInput`
component.
- Introduced new focus styles for the select component to enhance visual
distinction.
- Enhanced the focus state for the `ColorPickerComponent` and
`IconSelectControl` components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
New cypress test case for admin setting
Fixes #
https://app.zenhub.com/workspaces/stability-pod-6690c4814e31602e25cab7fd/issues/gh/appsmithorg/appsmith/38459
## Automation
/ok-to-test tags="@tag.Email"
### 🔍 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/13051349222>
> Commit: bf21450dc53423e7a001ae0591681c8b8b488b66
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13051349222&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Email`
> Spec:
> <hr>Thu, 30 Jan 2025 11:51:05 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**
- Added comprehensive Cypress end-to-end tests for email settings
functionality.
- Implemented tests for:
- Adding new admin users
- SMTP configuration
- Password reset email verification
- Workspace invitation emails
- **Locators**
- Added new locators for SMTP settings and email-related UI elements.
- Introduced password recovery link locator.
- **Improvements**
- Enhanced email verification method in test support utilities.
- Updated request header handling for more dynamic configuration.
- Introduced a new method to wait for specific emails based on subject
and recipient.
- Expanded tagging functionality to include a new email-related tag.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
There were cases where mockdb is corrupt and we do see cypress failure.
As it is not controlled by any of the team member to remain unchnaged,
skipping test cases related to it.
Fixes #
https://app.zenhub.com/workspaces/qa-63316faf86bb2e170ed2e46b/issues/gh/appsmithorg/appsmith/38889
## 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/13028133245>
> Commit: 20e983d4a90d11115b90680facb14d61e8812c96
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13028133245&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 29 Jan 2025 12:03:43 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**
- Skipped multiple test suites and individual test cases across various
test specification files.
- Temporarily disabled tests related to datasources, widget validation,
mobile responsiveness, and CRUD operations.
- Modifications made to prevent specific tests from running during test
execution.
<!-- 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.AppUrl"
### 🔍 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/13024884327>
> Commit: fafc24c72c7353410d21e483e945047f1a3b0814
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13024884327&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.AppUrl`
> Spec:
> <hr>Wed, 29 Jan 2025 05:18:48 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**
- Updated test suite for Slug URLs with a new tag `@tag.AppUrl`
- Improved URL handling and test code readability in application URL
tests
<!-- 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.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/13009862238>
> Commit: c73af4585039b060cacedd276980a370e6cb91bc
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13009862238&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IDE`
> Spec:
> <hr>Tue, 28 Jan 2025 12:27:20 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 query in the collapsible bottom bar test to order results by
email instead of username.
- Enhanced the cleanup process reliability by updating datasource
retrieval method in the test case.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->