Commit Graph

10548 Commits

Author SHA1 Message Date
Vemparala Surya Vamsi
5232b3f89e
chore: cache theme value properties, since it is a frequent property (#41031)
## Description
Added caching of theme property value since it is a frequent expression,
it constitutes 20% of all binding expressions for a large customer app.
Expecting a 400ms reduction in LCP for a large customer 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.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/15880337835>
> Commit: 11fab20fe285aa1b3b59c164179902628d35d97d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15880337835&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 25 Jun 2025 17:45:37 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**
- Improved performance when evaluating theme-related properties by
introducing caching for repeated values.

- **Chores**
- Added a utility to identify specific theme-related unevaluated values.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-26 11:03:13 +05:30
Jacques Ikot
2e6ede2419
refactor: extract RecentDomainsSection into reusable component (#41020)
### Description

Refactored the recent domains section from being an inline constant in
`SignUp.tsx` into a dedicated, reusable React component. This improves
code organization, maintainability, and testability.

### Changes Made

- **Created new component**: `RecentDomainsSection.tsx`
  - Encapsulates all logic for rendering recent organization domains
- Handles conditional rendering internally (returns null when no
domains)
  - Includes proper TypeScript types and imports

- **Updated SignUp component**:
  - Removed inline `recentDomainsSection` constant definition
  - Added import for new `RecentDomainsSection` component
  - Replaced usage with JSX component

- **Improved avatar logic**:
- Changed from alphabetical cycling (`String.fromCharCode(65 + (index %
26))`) to using the actual organization name's first letter
(`orgName.charAt(0).toUpperCase()`)
  - This provides more meaningful and recognizable avatars for users

## Automation

/ok-to-test tags="@tag.Sanity, @tag.Authentication"

### 🔍 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/15838492574>
> Commit: f4c799f7fd76851b404ddddd441728d9bd6445ca
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15838492574&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Authentication`
> Spec:
> <hr>Tue, 24 Jun 2025 01:35: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**
- Introduced a dedicated section to display recently accessed domains
during user sign-up, allowing quick access to previously used domains.

- **Refactor**
- Modularized the recent domains display by moving its logic and UI into
a separate component for improved maintainability and clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-24 10:04:57 -07:00
Ankita Kinger
6fa8196325
fix: Updating the logic for page load action checks to fix reactivity for new bindings (#41028)
## Description

Updating the logic for page load action checks to fix reactivity for new
bindings

Fixes [#41027](https://github.com/appsmithorg/appsmith/issues/41027)

## 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/15846753581>
> Commit: 04caf3892aad8a731267e93c21224f7f9c7c147d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15846753581&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 24 Jun 2025 10:39:57 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**
- Simplified the management of on-load action execution status from
tracking multiple actions to a single boolean flag, streamlining related
logic and state handling.
- **Bug Fixes**
- Improved reliability by updating the execution status only after all
on-load actions have completed, reducing potential inconsistencies.
- **Performance**
- Enhanced performance by removing unnecessary mapping and array
operations in selectors and sagas.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-24 16:51:02 +05:30
Ankita Kinger
f47332a129
fix: Removing a part of code as its not updating the API params dependency correctly in Evaluations (#41019)
## Description

Removing a part of code as its not updating the API params dependency
correctly in Evaluations

Fixes [#41021](https://github.com/appsmithorg/appsmith/issues/41021)

## 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/15827212934>
> Commit: 0c78c53a95dbdf37c0e157e0cb15fdce9aa6674c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15827212934&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 23 Jun 2025 16:31:24 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 behavior of the API configuration form to streamline how
path and query parameters are handled during autofill. The form now
updates the visible path field without triggering additional background
updates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-24 13:54:49 +05:30
Rahul Barwal
7c00b6a229
test: fix Regression/ClientSide/ActionExecution/FrameworkFunctions_NavigateToFunctions_spec.ts (#41015)
## Description
<ins>Problem</ins>

After creating a widget, the page URL was updated. If the widget was
subsequently removed, navigating back from an external site (e.g.,
google.com) caused the app to fail in locating the widget, resulting in
out page selector being unable to open.

<ins>Root cause</ins>

1. Redundant URL assignment persisted after widget deletion, leading to
navigation errors and an inconsistent application state.
2. Additionally, on the fourth spec when we were adding a new action on
the button click, it already had a on click action defined which was
pointing to navigate to google. com and the new navigator we were adding
was getting up and down on top of that. So basically sometimes it was
preferring first navigation and sometimes it was preferring second
navigation.

<ins>Solution</ins>

1. This PR handles the removal of unnecessary URL assignment in the
navigation test, simplifying the test case and improving code clarity
and maintainability.
2. In this PR, we remove the first navigation by applying the onClick
property in a JS mode.

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.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/15840445845>
> Commit: a42d60a18efca0b824fbd11127ce2b7f23c043cb
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15840445845&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.JS`
> Spec:
> <hr>Tue, 24 Jun 2025 04:12: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

- **Tests**
- Updated a navigation test case to remove an unnecessary URL assignment
step.
- Modified navigation verification to use a direct JavaScript expression
for improved accuracy.
- Cleaned up formatting by removing a trailing blank line between test
cases.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-24 10:57:35 +05:30
Ankita Kinger
325b62be28
feat: Adding core logic for Reactive Actions in Post evaluations flow (#40963)
## Description

Adding core logic for Reactive Actions in Post evaluations flow which
enables queries in Appsmith to automatically re-run when their dependent
variables change, making apps more dynamic, responsive, and easier to
build.

Fixes [#39835](https://github.com/appsmithorg/appsmith/issues/39835)
[#40814](https://github.com/appsmithorg/appsmith/issues/40814)
[#40989](https://github.com/appsmithorg/appsmith/issues/40989)

## 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/15824074133>
> Commit: d9d222536c5d4bf81430b120cfc382f593e36a13
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15824074133&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 23 Jun 2025 13:35: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**
- Support for reactive queries that execute automatically after
evaluation when dependencies change.
- Tracking and status indicators for on-load actions showing execution
status per action.
- Included action run behavior in analytics and logging for enhanced
action execution insights.
- Added a saga to handle execution of reactive queries with debounced
processing.
- **Bug Fixes**
- Improved detection of table data changes using deep equality checks to
avoid missed updates.
  - Prevented unnecessary execution when no batch actions are present.
- **Refactor**
- Enhanced handling of reactive paths and dynamic triggers for actions
and JS functions.
- Improved dependency management with validation to detect and prevent
reactive dependency misuse.
- Consolidated evaluation substitution types into a centralized
constants file.
- Refined evaluation logic to skip certain data paths and track reactive
actions precisely.
- Centralized imports of evaluation substitution types for consistency.
- **Tests**
- Updated tests to include new properties like run behavior and dynamic
trigger paths for actions and JS functions.
- Adjusted test expectations to align with updated dependency tracking
and evaluation logic.
- **Chores**
  - Added utility functions for dependency and entity type checks.
- Improved type definitions and reorganized imports for clarity and
maintainability.
  - Added new selectors to expose on-load action execution status.
- Introduced new interfaces and placeholder saga utilities for JS module
instance handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2025-06-23 20:00:42 +05:30
Jacques Ikot
14ab9e7ba9
feat: enable fetching organizations based on cloud billing status (#41016)
## Description
Fix failing fetch organizations endpoint when cloud billing is not
enabled.

## Automation

/ok-to-test tags="@tag.Sanity, @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/15819205361>
> Commit: 690015bcb5bc09131c68dfa3e7a360b683824e7e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15819205361&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Settings`
> Spec:
> <hr>Mon, 23 Jun 2025 09:03:07 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Improved application behavior by only fetching organizations when
cloud billing is enabled, preventing unnecessary data loading.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-23 02:06:07 -07:00
Rahul Barwal
475939ffb2
feat: add onPageUnload option in UI behind feature flag. (#41008)
## Description
<ins>Problem</ins>

The action configuration UI lacked support for running actions
specifically on page unload, limiting automation and flexibility for
users.

<ins>Root cause</ins>

There was no ON_PAGE_UNLOAD option in the ActionRunBehaviour enum or
related UI, and feature flag handling for this behavior was missing.

<ins>Solution</ins>

This PR handles the addition of the ON_PAGE_UNLOAD run behavior to the
ActionRunBehaviour enum, updates UI and settings to support it,
leverages feature flags for dynamic option availability, and adds tests
to ensure robust behavior.

Fixes #40995
_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.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/15774903938>
> Commit: fe0b50052e7e8a0d1f74f75016657ca78ea25c7d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15774903938&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.JS`
> Spec:
> <hr>Fri, 20 Jun 2025 09:27: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 a new "On page unload" run behavior option for actions and
JS functions, allowing actions to be triggered when a page is unloaded.
- Added a feature flag to enable or disable the "On page unload" run
behavior.
- **Enhancements**
- Run behavior options in the editor now dynamically update based on
feature flag settings, ensuring only valid options are shown.
- **Tests**
- Added comprehensive unit tests for utility functions handling run
behavior options and defaults.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-23 14:16:21 +05:30
Abhinav Jha
1b69f150e2
fix: upgrade tinymce to latest MIT licensed version (#41003)
## Description
Fixes
https://github.com/appsmithorg/appsmith/security/dependabot/348
https://github.com/appsmithorg/appsmith/security/dependabot/347
https://github.com/appsmithorg/appsmith/security/dependabot/290

## Automation

/ok-to-test tags="@tag.Widget, @tag.TextEditor, @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/15773718244>
> Commit: a11b75ec4343ae8720ed5e066d7fecbb42e05fb3
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15773718244&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget, @tag.TextEditor, @tag.Binding`
> Spec:
> <hr>Fri, 20 Jun 2025 09:01:44 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced the Rich Text Editor to automatically convert unsafe embedded
content to safe formats.
- **Chores**
  - Updated the TinyMCE editor to version 6.8.5.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-20 16:02:25 +05:30
Laveena Enid
64c2b9ab29
chore: Added tag to exclude Airtable_Basic_Spec.ts from airgapped runs (#41005)
## 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.Airtable"

### 🔍 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/15773945412>
> Commit: 12cefda7fc78991cd287017ed3d88ebb39851455
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15773945412&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Airtable`
> Spec:
> <hr>Fri, 20 Jun 2025 08:12: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

- **Tests**
- Updated test metadata by adding a new tag to the Airtable datasource
test suite.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Laveena Enid <laveena@appsmith.com>
2025-06-20 13:46:30 +05:30
Rahul Barwal
a801a19581
feat: Implement empty meta widget generation for handling empty data scenarios (#40886)
## Description
<ins>Problem</ins>

Errors appeared in the console when the List widget in edit mode
received an empty array as data.

<ins>Root cause</ins>

In edit mode, the List widget uses template widgets to create meta
widgets. When the list becomes empty, meta widgets are not generated,
but template widgets with `currentItem` bindings remain. Since
`currentItem` requires meta widgets for evaluation, this results in
errors.

<ins>Solution</ins>

This PR handles the generation of empty meta widgets when the List
widget receives empty data, ensuring `currentItem` bindings don’t break.
It introduces a `generateEmptyMetaWidgets` method in
`MetaWidgetGenerator`, enhances the List widget to track and respond to
empty data states, and resets the meta widget cache when transitioning
between empty and non-empty states.

Fixes #`Issue Number`  
_or_  
Fixes https://github.com/appsmithorg/appsmith/issues/31925
> [!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.List"

### 🔍 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/15756809644>
> Commit: 58818e09dd83faaa92ee0dad53aab93dcf5f55a5
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15756809644&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.List`
> Spec:
> <hr>Thu, 19 Jun 2025 12:11:58 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Improved handling of empty list data on the first page, ensuring
widgets display correctly when no data is present.
- Enhanced consistency in detecting and rendering empty lists across the
List Widget.

- **New Features**
- Added a utility function to accurately identify fully empty lists,
enabling more predictable widget behavior.
- Introduced an option to handle empty list cases by injecting
placeholder data for consistent widget generation.

- **Tests**
- Added a test to verify the display of "No data to display" message
when the list is empty and confirm no errors occur.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-20 09:39:51 +05:30
Pawan Kumar
f2b76c5577
chore: add workflows setting for agents CE (#40988)
/ok-to-test tags="@tag.Sanity"

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Added a "Trigger Settings" sidebar button and editor pane for AI Agent
apps.
- Introduced a "Run History" tab in the debugger and a corresponding
trigger in the bottom bar for AI Agent apps.
  - New SVG icon ("lightning-line") added for sidebar and UI elements.
- Support for importing agent templates and associating workflows with
applications.

- **Enhancements**
  - Sidebar and bottom bar now adapt to AI Agent app context.
- Layout and header updated to accommodate the new "Trigger Settings"
editor state.

- **Bug Fixes**
  - No bug fixes included in this release.

<!-- 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/15753160141>
> Commit: d0e477ce71479ac091957566c5bba05e0f215e60
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15753160141&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 19 Jun 2025 09:22:45 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2025-06-19 18:44:22 +05:30
Jacques Ikot
bb1c055126
feat: add multi-organization dropdown for organization navigation (#40967) 2025-06-19 10:23:50 +01:00
Jacques Ikot
ad36f76920
feat: improve recent domains section spacing and text truncation (#40970)
### 📝 Summary
This PR improves the visual design and user experience of the recent
domains section on the signup page with better spacing, text truncation,
and simplified domain validation to account for dev and app subdomains.

### 🎨 Changes Made

#### **SignUp Component (`app/client/src/pages/UserAuth/SignUp.tsx`)**
- **Reduced top margin**: Changed from `mt-12` to `mt-8` for better
visual balance
- **Improved spacing**: Added conditional bottom margin logic - removed
margin from the last domain item to prevent extra spacing
- **Enhanced text display**: Added `max-w-[180px] line-clamp-1` classes
to organization names and domain text to:
  - Limit maximum width to 180px
  - Truncate long text to single line with ellipsis
  - Prevent layout breaking with long domain names

#### **Domain Validation (`app/client/src/utils/multiOrgDomains.ts`)**
- **Simplified validation**: Removed redundant regex check
`(/^[a-z0-9-]+\.appsmith\.com$/i.test(domain))` from
`isValidAppsmithDomain` function to account for dev and app subdomains
- **Cleaner logic**: Validation now relies on the existing prefix checks
and `.appsmith.com` suffix validation

/ok-to-test tags="@tag.Sanity, @tag.Authentication"

### 🔍 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/15727210490>
> Commit: 5f976b05a7f02396afb05b2740cb2564253ca74e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15727210490&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Authentication`
> Spec:
> <hr>Thu, 19 Jun 2025 00:18:50 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Style**
- Improved spacing and layout in the recent domains section for a
cleaner appearance.
- Organization name and domain text now truncate with ellipsis if too
long, ensuring single-line display.

- **Bug Fixes**
- Updated domain validation to be less restrictive, allowing a wider
range of subdomain formats.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-18 17:25:30 -07:00
Abhinav Jha
6459e5f7b1
fix: Suppress webpack-dev-server ResizeObserver loop development runtime error (#40968)
## Description
Suppresses ResizeObserver runtime error until the usage of the
ResizeObserver API is investigated.


We can prioritize this lower for now because of the following reasons:
1. The error has existed for quite some time without issues to our
users.
2. The notifications are not lost, just delayed by the browser.
3. The error only surfaced when `webpack-dev-server` was upgraded.
4. This error is shown only during development.


## 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/15723923513>
> Commit: 590db966896005b8969052148fbf387253a9febe
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15723923513&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 18 Jun 2025 05:43:31 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

- **Bug Fixes**
- Suppressed display of specific runtime errors related to
"ResizeObserver loop completed with undelivered notifications" in the
development error overlay, reducing unnecessary error popups during
development.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-18 11:16:53 +05:30
Vemparala Surya Vamsi
2dfe9d21ac
chore: decouple formControl registry from the main chunk (#40939)
## Description
We are decoupling formControl registry code from the main chunk and
lazily loading as close as possible to the relevant React component.
This was earlier being tied to the root unnecessarily.


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/15701692090>
> Commit: cbd1a7fb92a99e09bc4ac3e282c512a1553bcf38
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15701692090&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 17 Jun 2025 09:15:40 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**
- Improved form control loading with dynamic registration, ensuring
controls are only rendered after they are fully loaded.

- **Bug Fixes**
- Prevented form controls from rendering before registration is
complete, reducing potential display issues.

- **Refactor**
- Enhanced flexibility for certain form rendering functions to allow
them to return nothing when appropriate.
- Centralized and formalized widget-related type definitions for
improved consistency and maintainability.
- Streamlined import paths for widget-related types across multiple
components and sagas.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-17 17:20:23 +05:30
sneha122
b7510d1bea
fix: JSobject test fixed after generate crud issue fixes (#40954)
## Description
This PR fixes
client/cypress/e2e/Regression/ClientSide/JSObject/JSObject_Tests_spec.ts.
This test started failing after fixing [generate crud issue with
dynamicBindingPathList](https://github.com/appsmithorg/appsmith/pull/40792).
With this fix, dynamicBindingPathList started appearing for generated
queries as well and so it started breaking one of the test cases which
was asserting the evaluated popup's value.

The test was asserting that value in evaluated value popup should be
equal to the query itself earlier, but after the right fix for generate
crud, it won't be equal, rather bindings will be replaced by
placeholders. This PR fixes the test by adding correct assertion for
evaluated value.


Fixes #40857
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Datasource"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/15699603166>
> Commit: a7041c31f14d619ba235bc31446377facf4f1124
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15699603166&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource`
> Spec:
> <hr>Tue, 17 Jun 2025 06:32:51 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**
- Reactivated and updated a test case for verifying query generation and
editing, including improved selection and validation steps for
datasource entities and queries.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2025-06-17 12:42:54 +05:30
Abhinav Jha
0939456291
fix: Upgrade packages 2 (#40947)
## Description
- Upgrades undici, prismjs, formidable packages

Fixes the following issues:
https://github.com/appsmithorg/appsmith/security/dependabot/390
https://github.com/appsmithorg/appsmith/security/dependabot/410
https://github.com/appsmithorg/appsmith/security/dependabot/409


## 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/15682766049>
> Commit: 824eae293177e780416b69a08cdeca52117f9681
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15682766049&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 16 Jun 2025 14:15:01 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 package resolutions to ensure compatibility and
stability with select dependencies. No user-facing changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-17 12:06:33 +05:30
Laveena Enid
ad100b05f2
chore: Remove Airtable tests from being excluded from CI runs (#40932)
## 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.Airtable"

### 🔍 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/15680047685>
> Commit: 514391a403034c9afefca0a69e82951d268c859d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15680047685&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Airtable`
> Spec:
> <hr>Mon, 16 Jun 2025 12:13: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

- **Tests**
- Updated test configurations to include the Airtable basic datasource
sanity test in standard test runs, while excluding it from hosted
environment test runs.
- Added new tags to the Airtable basic datasource sanity test for
improved test categorization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Laveena Enid <laveena@appsmith.com>
2025-06-17 10:00:06 +05:30
Rahul Barwal
8ba0961958
fix: update assertion method in DebuggerHelper to use GetNAssertElementText (#40937) 2025-06-16 19:52:14 +05:30
Pawan Kumar
0b1dbc440d
chore: refactor ai plugin to agent (#40945) 2025-06-16 18:38:49 +05:30
Jacques Ikot
a93521b87f
feat: add multi-org domain tracking (#40938)
# 🏢 Multi-Org Domain Tracking System

## 🎯 Problem Statement

Users with access to multiple Appsmith organizations often forget the
exact domain names of their different workspaces (e.g.,
`company1.appsmith.com`, `team2.appsmith.com`). This creates friction
during login as users need to remember or guess the specific subdomain
for each organization they belong to.

##  Solution Overview

This PR implements a lightweight domain tracking system that remembers
the organization domains users have successfully accessed in the last 30
days. When users visit `login.appsmith.com` or signup pages, they can
see and quickly navigate to their recently visited organizations.

## 🏗️ Technical Approach

### Why Cookies Over localStorage?

We chose **cookies with `.appsmith.com` domain** over localStorage for
the following critical reasons:

| Feature | Cookies | localStorage | Winner |
|---------|---------|--------------|--------|
| Cross-subdomain access |  `.appsmith.com` |  Origin-specific | 🍪
Cookies |
| Built-in expiration |  30-day TTL |  Manual cleanup | 🍪 Cookies |
| Storage requirements |  Small domains only |  Large capacity | 🤝
Both adequate |
| Browser support |  Universal |  Universal | 🤝 Both good |

### 🛠️ Implementation Details

#### Core Utility (`utils/multiOrgDomains.ts`)

```typescript
// Key configuration:
const COOKIE_NAME = "appsmith_recent_domains";
const EXPIRY_DAYS = 30;
const MAX_DOMAINS = 10;

interface DomainEntry {
  domain: string;      // e.g., "company.appsmith.com"
  timestamp: number;   // Unix timestamp
}
```

#### 📊 Domain Tracking Logic

- ** When**: Automatically triggered when users successfully reach
`/applications` page
- **📝 What**: Current domain (e.g., `company.appsmith.com`) + timestamp
- **🔍 Filtering**: Only tracks multi-org domains (excludes
`login.appsmith.com`)
- **🔄 Deduplication**: Prevents duplicate entries, moves existing
domains to top

## Automation

/ok-to-test tags="@tag.Authentication, @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/15676451597>
> Commit: 935ccef2d320e5c7641b1bd31c39d69068259914
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15676451597&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Authentication, @tag.Sanity`
> Spec:
> <hr>Mon, 16 Jun 2025 09:43:36 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 tracking and display of recently visited organization
domains for users, allowing quick access to previously signed-in
organizations.
- Added a section in the sign-up page to show recent domains with
organization names and direct login options.
- **Enhancements**
  - Improved messaging related to user sign-in and account status.
- Enabled multi-organization domain tracking on the applications page
for better domain management.
- **Chores**
  - Updated internal messaging constants for consistency and future use.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-16 04:00:42 -07:00
Abhinav Jha
7eadf893df
fix: Upgrade packages (#40935)
## Description
- Upgrades packages reported by Dependabot:
- `nanoid`
- `brace-expansion`
- `webpack-dev-server`
- `path-to-regexp`
- `vite`
- `http-proxy-middleware`


Fixes the following issues
- https://github.com/appsmithorg/appsmith/security/dependabot/416
- https://github.com/appsmithorg/appsmith/security/dependabot/406
- https://github.com/appsmithorg/appsmith/security/dependabot/408
- https://github.com/appsmithorg/appsmith/security/dependabot/332
- https://github.com/appsmithorg/appsmith/security/dependabot/361
- https://github.com/appsmithorg/appsmith/security/dependabot/415
- https://github.com/appsmithorg/appsmith/security/dependabot/414
- https://github.com/appsmithorg/appsmith/security/dependabot/413
- https://github.com/appsmithorg/appsmith/security/dependabot/418

## 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/15630439422>
> Commit: 2b6f4a45af4410f079b96c4c06606f33af5e7b99
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15630439422&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 13 Jun 2025 10:49:32 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**
- Improved development server configuration for enhanced compatibility
and middleware management.

- **Bug Fixes**
- Updated unique key generation to ensure consistency and reliability
across the application.

- **Chores**
- Upgraded and adjusted dependencies for better stability and security.
  - Refined package resolution to address version conflicts.

- **Style**
- Standardized string formatting and code styling in development
scripts.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-16 12:12:55 +05:30
sneha122
126f557605
chore: flaky tests fixed (#40931)
## Description
This PR fixes flakiness of
client/cypress/e2e/Regression/ClientSide/BugTests/ApiBugs_Spec.ts


Fixes #40584   
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Datasource"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/15602807166>
> Commit: cfbf48094bd3632eda682fc853b83e3c152fb0ed
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15602807166&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource`
> Spec:
> <hr>Thu, 12 Jun 2025 07:49: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**
  - Updated the order of certain test cases in the suite.
- Enhanced a test case to include cleanup of created API actions after
validation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2025-06-12 14:49:00 +05:30
Jacques Ikot
eca0daa1bb
fix: enable form login spec improvement (#40693)
## Description

- Convert entire test case to typescript
- Abstract repetitive code to functions
- Remove all waits and use UI assertions
- Better comments

## 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/15601034361>
> Commit: 90c06c0accff37d8aaf61279df48ec8291010c4f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15601034361&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 12 Jun 2025 04:26: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**
- Replaced existing Cypress tests with a new suite verifying toggling of
form login, signup, and GitHub authentication, including UI validations
and server restart handling.
- **New Features**
- Enhanced admin settings automation with navigation and controls for
authentication options, including GitHub OAuth configuration and form
login/signup toggles.
- **Chores**
	- Added a new locator for the login form to support UI testing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-11 23:01:13 -07:00
Laveena Enid
f8acc2a839
chore: add tag for Airtable (#40870)
Signed-off-by: Laveena Enid <laveena@appsmith.com>## Description

Added tag for Airtable and also mentioned it in the tech spec
> [!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.Airtable"

### 🔍 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/15553955557>
> Commit: 6443b1168fb5b8a64d2ed27cf9eb03123e67db49
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15553955557&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.Airtable
> Spec: 
> The following are new failures, please fix them before merging the PR:
<ol>
> <li>cypress/e2e/Regression/ServerSide/GenerateCRUD/MySQL2_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>Wed, 11 Jun 2025 07:35:24 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**
- Simplified test suite tagging by consolidating multiple tags into a
single "@tag.Airtable" tag.
- Added "@tag.Airtable" to the available tag list for test
categorization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Laveena Enid <laveena@appsmith.com>
2025-06-12 11:10:24 +05:30
Nilesh Sarupriya
5d5f7ae665
fix: enhance null handling in action parameter evaluation and rendering (#40910)
## Description
This update improves the handling of null values in action parameter
evaluation and rendering processes. Specifically, it ensures that null
values are treated appropriately, preventing unnecessary stringification
and Blob creation. This change enhances the robustness of the action
execution flow and prevents potential errors related to null values.

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/15555494788>
> Commit: b869dfa397737ef46a940ed82d0f7b92d1518bc4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15555494788&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 10 Jun 2025 10:21:02 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 handling of null and empty parameter values during action
execution, ensuring that nulls are preserved and not incorrectly
converted to strings or empty values.
- Enhanced template rendering to better preserve original formatting
when bindings are missing.
- **New Features**
- Added new logic to sanitize null parameter values before action
execution for more consistent processing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2025-06-11 09:53:36 -05:00
Ankita Kinger
f54592e5e5
fix: Reverting the change to add debounce to onValueChange for input widgets (#40922)
## Description

Reverting the change to add debounce to `onValueChange` for input
widgets. (Reverting PR:
[#40849](https://github.com/appsmithorg/appsmith/pull/40849))

Fixes [#40912](https://github.com/appsmithorg/appsmith/issues/40912)

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/15583889634>
> Commit: 49e570bcdd2d90fab8844bc8d42190d3fd6d396d
> Workflow: `PR Automation test suite`
> Tags: `@tag.All`
> Spec: ``
> <hr>Wed, 11 Jun 2025 11:41:27 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Improved input widgets and related components to update values
instantly without delay, removing internal state management and
debounced input handling. All text and value changes are now immediately
reflected in the UI and underlying data.
- **Chores**
- Updated automated tests to use immediate typing actions, removing
artificial delays previously used for input events.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-11 12:48:54 +00:00
Vemparala Surya Vamsi
99db0a1fae
fix: code editor changes (#40239)
## Description
We've encountered a bug in the REST API plugin where rapidly changing
the URL input causes the save status to get stuck in the loading state.
This happens because the evaluation is debounced, and by the time it's
ready to run, the inputs may have changed in a way that prevents the
evaluation from being triggered. However, we still initiate a saga that
tracks the terminal state and controls the loading status. Since the
evaluation never actually occurs, the terminal state is never reached,
causing the loading status to remain stuck.

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.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/15493848736>
> Commit: f993e21dd7a3bc0414d5c2cb35e96f3831b625bc
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15493848736&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.JS`
> Spec:
> <hr>Fri, 06 Jun 2025 16:05: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

## Summary by CodeRabbit

- **Refactor**
- Streamlined change handling in the code editor for more consistent
updates using a standardized debounce timer.
- **Bug Fixes**
- Improved auto-save reliability by adding a delay before save status
checks to prevent premature assertions.
- **New Features**
- Introduced a configurable save delay constant to unify save operation
timing across the editor.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2025-06-09 11:21:27 +05:30
Ankita Kinger
fde8d013aa
chore: Adding debounce to onValueChange for input widgets (#40849)
## Description

Adding debounce to `onValueChange` for input widgets to fix multiple
Execute API calls happening in reactive queries flow.

Fixes [#40813](https://github.com/appsmithorg/appsmith/issues/40813)

## 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/15486342735>
> Commit: 6943ba5d0df915256cf29831df53e9ff9880d617
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15486342735&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 06 Jun 2025 09:40: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**
- Input widgets now update their displayed values instantly while saving
changes in the background with a short delay, improving typing
responsiveness.
- Input changes are grouped and saved after a brief pause, reducing
unnecessary updates and enhancing performance.
- **Bug Fixes**
- Input fields now stay in sync with external updates and clear any
pending background updates when needed, preventing outdated or duplicate
changes.
- **Chores**
- Improved cleanup of background processes when input widgets are
removed, ensuring smoother operation.
- **Tests**
- Added typing delays in input simulation during Cypress tests to better
mimic real user input timing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-06 15:51:36 +05:30
Hetu Nandu
9c855e36a9
chore: reduce mixpanel recording sessions (#40881)
## Description
We are reducing the amount of sessions that get recorded on Mixpanel


https://docs.mixpanel.com/docs/session-replay/implement-session-replay/session-replay-web#sampling

/test Sanity

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Reduced the percentage of session recordings captured for analytics
from 100% to 50%.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/15484615083>
> Commit: 5b875fb848e58cad2f2b55f1f40cf2e54ec3a5b4
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`
> Spec: ``
> <hr>Fri, 06 Jun 2025 06:51:16 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2025-06-06 08:49:26 +00:00
Diljit
ddad013ace
chore: re-instate status call for protected branches in git connected apps (#40880) 2025-06-06 13:53:37 +05:30
Vemparala Surya Vamsi
e6cebfd3cc
chore: decoupled property pane registration (#40851)
## Description
Decoupled property registration code and lazily initialise it in the
property pane component.


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/15461239247>
> Commit: 9c70387f49a2f6dd53dbcd824a31b458aa4d0e2c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15461239247&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 05 Jun 2025 08:50:15 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**
- Improved loading behavior in the property pane to ensure all controls
are fully ready before display, resulting in a smoother user experience.

- **Bug Fixes**
- Prevented the property pane from rendering incomplete or missing
controls during loading.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-05 16:25:49 +05:30
Diljit
5b35731d46
chore: git: skip auto-commit and status calls for protected branches (#40729)
## Description
On protected branches, we neither allow auto-commits nor expose the
results of the git status API. As a result, these two API calls are
redundant. Skipping them can reduce load times by approximately 30
seconds on protected branches.

Furthermore, since auto-commits are disabled for protected branches,
there's a high chance that the branch contains an outdated version of
the DSL. This often results in uncommitted changes in the file system
for those branches. Such uncommitted changes can slow down subsequent
checkouts to other branches, as Git needs to re-index these files before
performing a reset. These delays are even more pronounced when using an
EFS.

This PR removes the auto-commit and status API calls for protected
branches.

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.Git"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/15459263185>
> Commit: 2b04a0edf89088795192d6fb1a068bf868ae924f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15459263185&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Thu, 05 Jun 2025 07:51: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**
- Added the ability to explicitly reset Git status for artifacts,
providing clearer feedback when working with protected branches.

- **Bug Fixes**
- Improved handling of protected branches by preventing unnecessary
status checks and auto-commit operations, ensuring protected branches
are not modified unintentionally.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-05 14:56:08 +05:30
Jacques Ikot
3d7a99e922
fix: handle undefined user object in LandingScreen for non-existent cloud billing domains (#40855)
## Problem

With the introduction of cloud billing and multi-organization support,
users can now access Appsmith through organization-specific subdomains
(e.g., `testorg.appsmith.com`). However, when users attempt to access
non-existent domains (e.g., `domaindoesnotexist.appsmith.com`), the
system fails to return a user object, causing the application to get
stuck in an infinite loading state.

## 🔍 Root Cause

The issue was in the `LandingScreen` component's conditional logic:

```tsx
// Previous implementation 
if (props.user && window.location.pathname === BASE_URL) {
  if (props.user.email === ANONYMOUS_USERNAME) {
    return <Redirect to={AUTH_LOGIN_URL} />;
  } else {
    return <Redirect to={APPLICATIONS_URL} />;
  }
}
```

**The problem:** When accessing a non-existent domain, `props.user` is
`null`/`undefined`, causing the condition `props.user &&
window.location.pathname === BASE_URL` to evaluate to `false`. This
prevented the redirect logic from executing, leaving users on a
perpetual loading screen instead of being properly redirected to the
login page.

##  Solution

Updated the conditional logic to handle cases where the user object is
undefined:

```tsx
// Fixed implementation 
if (window.location.pathname === BASE_URL) {
  if (!props.user || props.user.email === ANONYMOUS_USERNAME) {
    return <Redirect to={AUTH_LOGIN_URL} />;
  } else {
    return <Redirect to={APPLICATIONS_URL} />;
  }
}
```

### Key changes:
1. **Removed the `props.user &&` guard condition** - Now the redirect
logic always executes when on the base URL
2. **Added explicit null/undefined check** - The condition `!props.user
|| props.user.email === ANONYMOUS_USERNAME` properly handles both
scenarios:
   - When no user object exists (non-existent domains)
   - When the user is anonymous

## 📊 Impact

| Scenario | Before | After |
|----------|---------|-------|
| Valid org domain + authenticated user |  Redirects to applications |
 Redirects to applications |
| Valid org domain + anonymous user |  Redirects to login |  Redirects
to login |
| **Non-existent org domain** |  **Infinite loading screen** | 
**Redirects to login** |
| Direct access to login URL |  Works as expected |  Works as expected
|

## 🧪 Testing Scenarios

This fix addresses the following scenarios in the cloud billing
multi-org environment:

- [x] Valid organization domain with authenticated user → Redirects to
applications
- [x] Valid organization domain with anonymous user → Redirects to login
- [x] **Non-existent organization domain → Redirects to login (instead
of infinite loading)**
- [x] Direct access to login URL → Works as expected

## Automation

/ok-to-test tags="@tag.Authentication, @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/15438685266>
> Commit: afee6b1b89b3bf2c65290a1cef9355e72c1ab14e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15438685266&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Authentication, @tag.Sanity`
> Spec:
> <hr>Wed, 04 Jun 2025 10:09:08 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Improved user redirection on the landing screen to ensure users are
correctly routed based on their authentication status.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-04 06:02:30 -07:00
sneha122
69d6ffd682
chore: skipped asserting evaluated value with generated query body (#40854)
## 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=""

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Tests have not run on the HEAD
e467ca42e83258bc29f2f4c54ef64b69be7e53a1 yet
> <hr>Wed, 04 Jun 2025 06:27:38 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**
- Temporarily disabled the "Verify Queries" test case in the client-side
regression test suite.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2025-06-04 11:58:17 +05:30
Pawan Kumar
ce58874cb4
chore: fix resetting of Dropdown control of UQI (#40775)
Before the options of dropdown control could load up, the dropdown
control was hitting `onChange` which was resetting the options for that
control.
This PR adds a check to look for selectionOptions before resetting the
options.

/ok-to-test tags="@tag.Sanity"

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **Bug Fixes**
- Improved the behavior of multi-select dropdowns to ensure selected
values are only re-synced when valid options are present, preventing
unnecessary updates.
<!-- 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/15319483195>
> Commit: caa978dc326fe017c06c7ceafe64f6f1890814fe
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15319483195&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 29 May 2025 09:01:42 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2025-06-03 13:10:17 +05:30
Rahul Barwal
0c96ea330f
fix: Incorrect display of values in table computed value (#40664)
## Description
<ins>Problem</ins>

When editing the Computed Value field of a column in the Table widget, a
closing round bracket `)` is automatically removed from specific
expressions upon losing focus, leading to broken expressions and
incorrect widget behavior.

<ins>Root cause</ins>

Incorrect handling of double curly braces and nested parentheses in the
`computedValue` parsing logic.

<ins>Solution</ins>

This PR handles the correction of expression parsing in
`ComputeTablePropertyControlV2` by updating the extraction logic to
support nested parentheses correctly. It also includes a test to ensure
this functionality works as expected.

Fixes #40265
_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/15061326484>
> Commit: 156df279926fc8e39f194d46e868d46c62a1b2bf
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15061326484&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Table`
> Spec:
> <hr>Fri, 16 May 2025 06:11: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

- **Bug Fixes**
- Improved handling of malformed expressions in table computed value
inputs, resulting in more consistent error output.
- Enhanced default computed value behavior to provide a fallback when
table data is empty, preventing errors.
- **Tests**
- Updated and expanded test cases for computed value extraction,
including new input variations and revised expectations for malformed
expressions.
- **Chores**
- Added a migration step to update older computed values for correct
display in widgets.
  - Incremented DSL version to include latest migration updates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-02 14:56:28 +05:30
Jacques Ikot
3bcc8b0858
fix: add missing displayName and slug to organization reducer (#40779)
## Description
Fixes a bug where the organization's `displayName` and `slug` fields
were not being properly stored in the Redux state when fetching the
current organization configuration.

## Changes
- Added `displayName` and `slug` fields to the
`FETCH_CURRENT_ORGANIZATION_CONFIG_SUCCESS` reducer handler
- These fields were already defined in the `OrganizationReduxState`
interface but were missing from the actual state update

## 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/15286413781>
> Commit: cca1886b0d8dd24a9193dab5a0a5a7a3c004cda2
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15286413781&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 27 May 2025 22:31: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

- **New Features**
- Organization details now display additional information, including
display name and slug, when viewing organization configuration.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-28 04:59:32 -07:00
Pawan Kumar
cb8b9b52db
chore: Add post message on login page for chrome extension (#40773)
/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/15267673737>
> Commit: bbd6ff6824697e9bc00e66d98f7f5a9b358fe267
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15267673737&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 27 May 2025 06:40:02 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2025-05-27 16:31:41 +05:30
Jacques Ikot
ed940a6413
fix: improve full name input styling to match radio buttons (#40727)
### Summary
This PR updates the styling of the user full name input field on the
onboarding screen to match the styling of the radio button groups,
creating a more consistent and polished UI.

### Problem
The full name input field in the onboarding form had inconsistent
styling compared to the radio button groups, which created a visually
disjointed user experience.

### Solution
- Created a styled version of `FormTextField` that matches the styling
of radio buttons
- Added proper spacing with a dedicated `InputSection` component
- Removed unnecessary vertical spacing elements
- Ensured consistent typography, sizing, and spacing across form
elements

### Changes
- Added `StyledFormTextField` with custom CSS to match radio button
styling:
  - Same font size and weight for labels
  - Consistent height, padding, and border-radius
  - Full width input field
- Created `InputSection` for consistent vertical spacing
- Replaced original `FormTextField` with the styled version
- Removed redundant `Space` components

### Screenshots
![Before](
<img width="1449" alt="Screenshot 2025-05-22 at 6 50 04 AM"
src="https://github.com/user-attachments/assets/54384e0d-4874-4550-8415-54b15a8e9b13"
/>
) | ![After](
<img width="1452" alt="Screenshot 2025-05-22 at 6 39 38 AM"
src="https://github.com/user-attachments/assets/01b8fd1e-0c47-4d8f-abe7-4f47a31366b6"
/>
)

## Automation

/ok-to-test tags="@tag.Sanity, @tag.Authentication"

### 🔍 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/15205128744>
> Commit: 6e26d5ad7afef489697362b9202d7fd3be5b63a0
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15205128744&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Authentication`
> Spec:
> <hr>Fri, 23 May 2025 08:33:29 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added a required full name field to the non-super user profiling form,
displayed when cloud billing is enabled.
- **Style**
- Improved input field appearance and adjusted vertical spacing for a
cleaner form layout.
- **Refactor**
- Streamlined form styling by introducing new styled components and
localizing spacing definitions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-26 01:02:18 -07:00
Ashit Rath
4a41324356
chore: Module editor Remove page tab from navigate to action selector (#40743)
## Description
<img width="658" alt="Screenshot 2025-05-23 at 11 32 51 AM"
src="https://github.com/user-attachments/assets/bdbd051d-7135-41b1-8789-921547a91802"
/>

Fixes https://github.com/appsmithorg/appsmith/issues/40741

## 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/15203473904>
> Commit: 76b7112333792f4612b5ef6e4524552c99fe88a8
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15203473904&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 23 May 2025 07:28:05 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 "Navigate To" section to adjust available tabs and
default selection based on the IDE type, offering a tailored experience
for UIPackage IDE users.

- **Improvements**
- Improved loading state handling by considering additional action
sources, resulting in more accurate widget loading indicators.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-23 14:41:27 +05:30
Jacques Ikot
91ac9a1b54
fix: redirect users not part of organization to signup page (#40735) 2025-05-22 15:42:27 +01:00
Ashit Rath
ef820cd9a6
chore: Update list and form widget to work with UI modules (#40711)
## Description

### Purpose
This PR enhances the List Widget's template handling system to better
support meta widgets, especially when used within UI modules. It ensures
proper widget name handling and template identification across different
contexts.

### Key Changes
1. Added `isTemplate` property to widget static and DSL structure props
to identify template widgets
2. Introduced `getTemplateMetaWidgets` selector to identify and manage
template meta widgets
3. Enhanced the List Widget to properly handle template meta widgets by:
   - Preserving original widget names for template meta widgets
- Preventing template meta widgets from being treated as regular meta
widgets
   - Improving widget name handling in form submissions
4. Added proper type definitions and documentation for template meta
widget functionality

### Technical Impact
- Better support for List Widget templates in UI modules
- Improved widget name handling for meta widgets
- Better separation between template and regular meta widgets


PR for https://github.com/appsmithorg/appsmith-ee/pull/7567

## 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/15153885090>
> Commit: d838448c2b1e880f55b5b99476e3a19a2153b21f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15153885090&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 21 May 2025 06:15: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

- **New Features**
- Improved handling of template widgets, allowing original widget names
to be preserved and used where applicable.
- Enhanced filtering and processing of template meta widgets in List and
Form widgets for more accurate data mapping and rendering.
- Added support for identifying and managing template widgets across the
app's widget structure.

- **Bug Fixes**
- Prevented template widgets from being incorrectly rendered or included
in meta widget generation.

- **Refactor**
- Updated internal widget processing to consistently manage and cache
flattened child canvas widgets, improving reliability and
maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-22 18:02:47 +05:30
Rahul Barwal
d64361e225
fix: Refactor validation logic in TableWidgetV2 to improve clarity and correctness (#40679)
## Description
<ins>Problem</ins>

The table widget skipped validations for number columns when users typed
quickly and pressed Enter, accepting invalid values despite min/max
constraints.

<ins>Root cause</ins>

The validation logic had an early exit if the value was empty and the
column wasn't required. This incorrectly allowed empty values even when
min/max constraints were set. Due to async evaluations and timing
differences, a quick backspace followed by a new input and Enter led to
premature validation success.

<ins>Solution</ins>

This PR handles a refactor of the validation logic in `TableWidgetV2` to
improve clarity and correctness.
- Consolidates checks for required fields and regex validations.  
- Ensures column type validations accurately reflect constraints like
min/max.
- Prevents premature validation passes caused by async evaluation race
conditions.

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/15160290045>
> Commit: b3022119656954765a79b1e03c5af2a4338a89c4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15160290045&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Table`
> Spec:
> <hr>Wed, 21 May 2025 11:35:27 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Enhanced validation for editable table cells to better enforce
required fields and regex patterns.
- Improved handling of empty values in required and non-required cells
for more accurate validation feedback.
- **Tests**
- Refactored and reorganized validation test suites for improved clarity
and maintainability without changing validation behavior.
- Updated end-to-end tests to improve timing and synchronization by
removing fixed waits and relying on automatic retries.
- Adjusted inline editing validation tests to reflect updated error
visibility expectations during editing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-21 18:45:24 +05:30
Jacques Ikot
a13e09f33f
fix: add type checking for Mixpanel session recording methods (#40717) 2025-05-21 12:31:59 +01:00
Diljit
f0b01827f9
fix: logout user if the session has expired between page switches (#40718)
## Description
If a user's session times out and the user navigates to a new page in an
application the user was not navigated to the login page. This change
makes sure that the user profile is updated in the redux store on page
change and the page response is validated using the response
interceptors.

This bug was introduced in [this
PR](https://github.com/appsmithorg/appsmith/pull/36096).

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/15155628540>
> Commit: a3349cda620d3af78d2604f9edea151f6f15408e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15155628540&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 21 May 2025 08:31:39 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 error handling when loading published page resources,
ensuring better management of API errors and user profile updates.
- **Refactor**
- Updated internal handling of API response error codes for consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-21 16:32:19 +05:30
Ankita Kinger
e2515ab705
feat: Handling the case when reactive actions feature flag is turned off and the run behaviour is Automatic (#40709)
## Description

Handling the case when reactive actions feature flag is turned off and
the run behaviour is Automatic. We are updating the run behaviour in UI
alone (not DB) to show page load instead in this case.

Fixes [#40703](https://github.com/appsmithorg/appsmith/issues/40703)

## 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/15144630350>
> Commit: ae4b5b6dafdb6ddc729828f46987afc68a634643
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15144630350&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 20 May 2025 19:22:57 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 dropdown and function settings to respect feature flags,
ensuring certain options are shown or hidden based on feature
availability.

- **Bug Fixes**
- Improved handling of run behavior selection when specific feature
flags are disabled, automatically adjusting selections to maintain
consistent user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-21 13:57:24 +05:30
Rahul Barwal
4159380ed5
fix: email validation in input widget v2 (#40708)
## Description
<ins>Problem</ins>

Inbuilt email validation was not functioning correctly for all valid
email formats (e.g. `rahul+3@appsmith.com`), leading to incorrect
validation failures in the Input widget.

<ins>Root cause</ins>

Outdated or overly restrictive email validation regex in
`InputWidgetV2`.

<ins>Solution</ins>

This PR handles updating the email validation regex in `InputWidgetV2`
to support modern and valid email formats.
It also refactors and enhances the validation test suite to improve
coverage across input types (NUMBER, TEXT, EMAIL, PASSWORD) and
validation scenarios (required, custom, and regex), improving accuracy,
readability, and maintainability.


Fixes #`Issue Number`  
_or_  
Fixes https://github.com/appsmithorg/appsmith-ee/issues/7550
> [!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.Input"

### 🔍 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/15133467577>
> Commit: 35d061427857620e3c3a4a2b6e5a7d1b532652aa
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15133467577&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Input`
> Spec:
> <hr>Tue, 20 May 2025 09:29:25 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 email validation to support a wider range of valid email
formats.

- **Tests**
- Expanded and reorganized input validation tests to cover more input
types and edge cases, ensuring more robust validation across NUMBER,
TEXT, EMAIL, and PASSWORD fields.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-20 15:41:27 +05:30
Ankita Kinger
8c84ac3dc5
chore: Updating the dropdown width for the run behavior settings of JS object (#40691)
## Description

Updating the dropdown width for the run behavior settings of JS object

Fixes [#40657](https://github.com/appsmithorg/appsmith/issues/40657)

## Automation

/ok-to-test tags="@tag.JS, @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/15113084468>
> Commit: 8b29ef23202e1ae2c1c0c05012ee2f94ec6a85d2
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15113084468&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.JS, @tag.IDE`
> Spec:
> <hr>Mon, 19 May 2025 13:26:04 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added an option to control whether the dropdown menu width matches the
select input width, or to set a custom width for dropdown menus.

- **Style**
  - Improved popover content width handling for more consistent display.
- Adjusted minimum width of select input in function settings for a more
compact appearance.
- Dropdown menus in function settings now have a fixed width for better
usability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-19 19:33:27 +05:30