Commit Graph

20025 Commits

Author SHA1 Message Date
Jacques Ikot
bb1c055126
feat: add multi-organization dropdown for organization navigation (#40967) 2025-06-19 10:23:50 +01:00
Abhijeet
24ec7954a2
feat: Add instanceId to distributed lock keys for multi-instance isolation (#40966) 2025-06-19 12:20:59 +05:30
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
Diljit
93f4a85b6b
chore: revert in-memory git status (CE) (#40971)
## Description
This reverts commit dea1c030da.

There are duplicate entries for the same js object in the DB for git
connected application. In these cases the map generated from the DB git
resource map fails as the map doesn't allow duplicate entries.

@manish will fix the root cause of the duplicate entries of JS object
and then restore this PR. [Relevant thread
](https://theappsmith.slack.com/archives/C04HERDNZPA/p1750063381844219)

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/15732621899>
> Commit: e2585053fc35703705fac2e276f0e025a811a1fa
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15732621899&attempt=3"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 18 Jun 2025 13:53:23 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**
- Removed certain Git status computation features and related methods
from the application.
  - Internal instrumentation and observation logic have been eliminated.
  - Adjusted method visibility for improved encapsulation.

- **Chores**
- Updated internal interfaces and constructors to reflect the removal of
deprecated methods and parameters.
  - Cleaned up unused imports and code references.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-18 21:00:05 +05:30
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
sneha122
b8af0d3020
chore: removed unnecessary injected services (#40965)
## Description
ApplicationService and AnalyticService are not being used in
OnLoadExecutablesUtilImpl.java and LayoutActionServiceCEImpl.java, this
PR removes those dependencies.


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

- **Refactor**
- Removed unused backend dependencies to streamline internal services.
No changes to user-facing features or functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2025-06-17 19:25:31 +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
685e9553b3
chore: analytic events added for reactive behaviour change (#40917)
## Description
This PR adds / updates following analytic events for reactivity run
behaviour changes either by system or by user:

Metric | Event Name | Type
-- | -- | --
Run behavior change tracking | action_RUN_BEHAVIOUR_CHANGED | New Event
Run behavior context on action execution | execute_ACTION_TRIGGERED ->
runBehavior (property) | New Property in existing events


<!-- notionvc: ce53e230-1711-4c71-8aa6-9430412e7cbb -->


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, @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/15700973404>
> Commit: b347ce21ed946053950a22ecca084874debe254f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15700973404&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Widget`
> Spec:
> <hr>Tue, 17 Jun 2025 07:46: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

- **New Features**
- Added analytics tracking for changes in the run behavior of actions
and executables, capturing detailed information about each change.
- **Enhancements**
- Analytics events now include the run behavior configuration when
actions are executed.
- **Chores**
- Updated internal constants to support new analytics event types and
fields.
- Integrated new dependencies to support analytics reporting for run
behavior changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2025-06-17 16:41:11 +05:30
Manish Kumar
db721b568f
chore: bypass module validation while branch creation (#40944)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #https://github.com/appsmithorg/appsmith/issues/40893

> [!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/15678924795>
> Commit: 52cba42bf39358e1ad868a4161d713813e3c29fc
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15678924795&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Mon, 16 Jun 2025 11:50: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

- **Bug Fixes**
- Improved the discard changes process to better handle validation and
publishing, ensuring more reliable behavior when reverting to previous
versions in certain scenarios.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-17 14:38:08 +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
Diljit
dea1c030da
chore: in memory git status (#40891)
## 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.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/15607977360>
> Commit: b50460f31752b3db4a31f035b19b1ea712c7fbde
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15607977360&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Thu, 12 Jun 2025 11:13:06 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 detailed Git status computation showing added, modified,
and removed files.
  - Added branch tracking status retrieval for repositories.

- **Improvements**
- Enhanced integration of Git status and branch tracking features across
interfaces and services.
- Improved status reporting by enriching Git status with branch tracking
details.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-13 12:16:18 +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
Manish Kumar
e71a817bf5
chore: Moving autocommit to new git implementation (#40915)
## Description

EE counterpart https://github.com/appsmithorg/appsmith-ee/pull/7722

Fixes #`Issue Number`  
> [!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/15576703208>
> Commit: 64f2e0339ecb066ddf5537e58c0de09794098cf0
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15576703208&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Wed, 11 Jun 2025 06:13:06 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **Refactor**
- Streamlined Git operations to consistently use a new file system-based
handler, replacing previous executor-based implementations across the
application and tests.
- Updated method and constructor signatures to reflect new dependencies
and abstractions for artifact handling and repository management.
- Improved metadata handling and resource mapping for Git-related
workflows.

- **Tests**
- Updated test suites and helpers to align with the new Git handler and
artifact helper resolver, ensuring continued reliability and coverage.

- **Documentation**
  - Corrected minor spelling errors in documentation comments.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-11 14:29:54 +05:30
Nilansh Bansal
befe9ffd64
fix: improve null safety in action execution analytics data collection (#40905)
## Description
Fix NPE in ActionExecutionSolutionCEImpl by replacing `Map.of()` with
explicit HashMap entries. This change improves error resilience by
adding null checks with default values for all map entries and makes the
code more maintainable by separating each property assignment into
individual operations.


Fixes #40904 

## 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/15552352827>
> Commit: 48335f468fb5104ff911f277d121817202ea7545
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15552352827&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 10 Jun 2025 07:43:44 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **Refactor**
- Improved handling of missing or null information in analytics event
data to ensure more consistent and reliable reporting. No changes to
user-facing features or workflows.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-10 13:15:11 +05:30
Diljit
a88ec80bb1
chore: check for npe when fetching the lastDeployedAt (#40907)
## 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  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/15552147609>
> Commit: 5866f171b4cd5030ffef11d7c8cbed92d649d8c0
> Workflow: `PR Automation test suite`
> Tags: `@tag.All`
> Spec: ``
> <hr>Tue, 10 Jun 2025 06:24:21 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2025-06-10 07:30:31 +00:00
Manish Kumar
b6fc1de100
chore: Modifying git fetch remote method signature (#40896)
## Description
- Modified the git fetch remote method signature. Changed it from String
to BranchTrackingStatus, which tells about the numbers of commit local
is ahead and behind of remote
 
 - This will have an EE counterpart as well


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/15539521248>
> Commit: 0793974c3dc6daf18c1496a1c026be546454aa2c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15539521248&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Mon, 09 Jun 2025 19:23:06 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**
- Remote fetch operations now provide detailed branch tracking status,
showing how many commits your local branch is ahead or behind the remote
branch.

- **API Changes**
- Endpoints and methods that previously returned a simple fetch result
now return comprehensive branch tracking information.
- Method signatures have been updated to reflect these changes for
improved clarity and consistency.

- **Bug Fixes**
- Improved error handling to ensure file locks are properly released
during remote fetch failures, preventing potential deadlocks.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-10 12:47:24 +05:30
subratadeypappu
f4e0551c4a
chore: Call context independent method to update layout (#40906)
## Description
EE Counterpart PR: https://github.com/appsmithorg/appsmith-ee/pull/7772

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/15551742515>
> Commit: 47168c15d2eddabc4c48a73ca9d9ebc02ed262b4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15551742515&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 10 Jun 2025 06:39:55 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

- **Refactor**
- Improved the logic for updating layouts to use a more flexible
context-based approach instead of relying solely on page IDs. No visible
changes to end-user functionality.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-10 12:43:54 +06:00
Abhijeet
2d890df892
fix: Update security context via reactive context repository instead of directly updating session attributes (#40892)
## Description
This PR fixes the security context persistence mechanism in the email
verification flow. Previously, the code was directly manipulating the
session attributes to store the security context, which is not the
recommended approach in Spring WebFlux applications. We've updated the
implementation to use the proper ServerSecurityContextRepository for
persisting the security context.

### Changes
Existing implementation:
```
session.getAttributes().put(DEFAULT_SPRING_SECURITY_CONTEXT_ATTR_NAME, securityContext);
```
Drawbacks:
- Bypassed Spring Security's security context management
- Didn't properly integrate with reactive patterns
- Could lead to session consistency issues
- Wasn't compatible with different security context storage strategies

Updated implementation:
```
ServerSecurityContextRepository contextRepository = new WebSessionServerSecurityContextRepository();
return contextRepository.save(exchange, securityContext)
    .then(repository.save(user));
```

Advantages: 
- Proper integration with Spring Security's reactive architecture
- Thread-safe security context persistence
- Better session management
- Future compatibility with different session storage mechanisms

Ref thread:
https://theappsmith.slack.com/archives/C02K2MZERSL/p1749434009167839

/test Authentication,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/15532462184>
> Commit: 42445874aafe300c6791cb45388eb0d778e56fba
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15532462184&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Authentication, @tag.Email`
> Spec:
> <hr>Mon, 09 Jun 2025 10:49:28 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **Bug Fixes**
- Improved email verification process for a more reliable and consistent
user authentication experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-09 16:20:45 +05:30
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
Trisha Anand
8f35929b19
fix: Use non blocking SCAN command instead of blocking keys for redis… (#40878)
… pattern match

## 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/15468149296>
> Commit: f7391b7e5d00964ba4c3354b89ee55d9d80af430
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15468149296&attempt=2&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/Git/GitSync/GitSyncedApps_spec.js</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>Thu, 05 Jun 2025 16:17: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

- **Refactor**
- Improved the way session data is retrieved from Redis for better
performance and scalability. No visible changes to user experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-06 12:33:03 +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
Goutham Pratapa
9ae1eb997f
chore: update appsmith chart version in Helm test snapshots to 3.6.3 (#40873)
Updated the chart version from 3.6.2 to 3.6.3 in the Helm test snapshots
to reflect the latest changes and ensure consistency across deployments.

## 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  -->
> [!CAUTION]  
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.

<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2025-06-05 11:51:28 +05:30
Wyatt Walter
4c7a019adf
fix: support nss wrapper in Helm chart (#40673)
## Description

Requires: https://github.com/appsmithorg/appsmith/pull/40642

Adds an environment variable activating nss_wrapper when the
`securityPolicy.runAsUser` value is set so the UID can be set
dynamically. This avoids the `I have no name!` in the prompt when doing
a `kubectl exec` with that value set.

I am also introducing
[helm-unittest](https://github.com/helm-unittest/helm-unittest) for
ensuring that changes to our defaults are made explicit.

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

## 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
d30d87ffc66c107f980a3b27464e97db0910dcbe yet
> <hr>Mon, 19 May 2025 18:59: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 automated unit testing for Helm charts, including snapshot and
security context tests.
- Introduced documentation for running and understanding Helm chart unit
tests.
- Added a GitHub Actions workflow to run Helm chart unit tests on pull
requests and manually.
- **Bug Fixes**
- Ensured the LD_PRELOAD environment variable is set when a specific
security context is configured in deployments.
- **Documentation**
- Updated Helm chart README to reference new testing documentation and
improve clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Goutham Pratapa <goutham@appsmith.com>
2025-06-04 20:54:46 +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
sneha122
a98198ddb8
fix: generate crud queries to have dynamicBindingPathList (#40833)
## Description
Generate CRUD issue fixed where dynamicBindingPathList was not getting
added for newly generated actions.

### Steps To Reproduce (#40812) Needs to be tested on
https://ee-7616.dp.appsmith.com/ as this has reactivity changes

- Create a CRUD page using the mock postgres db
- Click on table widget generated, go to the property pane and remove
onPageChange event
- Now in the table, change the page, data should be refreshed
automatically.

### Steps To Reproduce (#39660)

- Create a CRUD page using the mock postgres db
- Change any widget name using the entity explorer rename option or the
property pane rename option
- Note that this changed name is not reflected in any of the queries
that uses this widget property


Fixes #40812 
_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/15414265041>
> Commit: f638e96ae94f282e68ef58d4ddd83a221091842b
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15414265041&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource`
> Spec:
> <hr>Tue, 03 Jun 2025 11:01:55 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**
- Ensured that dynamic binding paths are preserved when cloning actions
from template applications, improving consistency in cloned actions.
- **Tests**
- Added a test to verify dynamic binding paths are correctly handled
when creating pages with PostgreSQL datasources.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2025-06-03 16:33:51 +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
Nilansh Bansal
c5cc619721
feat: handled error condition from cs (#40821)
## Description
This PR improves error handling when fetching plugins from CS. 
- Distinguish between legitimate "no plugins found" cases (not an error)
and actual cloud service errors
- Return Mono.empty() with log info when no plugins are found (normal
case)
- Propagate errors with Mono.error() when cloud services returns actual
errors
- Preserve proper error details in exception messages

Fixes #40820 
Corresponding EE PR:
https://github.com/appsmithorg/appsmith-ee/pull/7696


## 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/15393377154>
> Commit: 8a2c61f27a7069d2f4babed0ccc47ac8e43459e7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15393377154&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 02 Jun 2025 14:01: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


## Summary by CodeRabbit

- **Bug Fixes**
- Improved error handling when fetching plugins from cloud services.
Users will now receive clearer error notifications if there is an issue,
rather than silently seeing an empty plugin list.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-03 11:58:46 +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
subratadeypappu
afc9e4e9b4
fix: widgets getting disappeared when page name contains parentheses (#40818)
## Description
EE Counterpart: https://github.com/appsmithorg/appsmith-ee/pull/7681

Steps to reproduce this issue demonstread here:
https://jam.dev/c/eced3a5a-d958-4f85-bdb9-19064e08d781

Fixes #40817  
> [!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/15379020387>
> Commit: c96be344be501c7d0beab4a119ecae302520d6d1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15379020387&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Sun, 01 Jun 2025 21:06:25 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

- **Refactor**
- Improved internal handling of widget file path replacements for
enhanced reliability. No changes to user-facing functionality.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-02 10:03:27 +05:30
sneha122
785dfdd55a
fix: generate crud run behaviour updates (#40792)
## Description
This PR ensures reactivity aspects are enabled for generate page from
data flow as well. With these changes whenever we generate a page from
data, we need to check the reactivity feature flag:
if it's enabled, generated actions which are bound to widgets become
automatic.
If it's disabled, generated actions which are bound to widgets become
page load.


**Steps to test**
1. On the DP, sign up with any @integration-appsmith.com email domain
and generate page from data, check the select query for its run
behaviour -> It should be automatic
2. On the DP, sign up with any other email and generate page from data,
check the select query for its run behaviour -> It should be page load


Fixes #40789
_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/15342086197>
> Commit: e07e20226a64406a281eb1ad6cf1277bd46186ae
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15342086197&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Fri, 30 May 2025 08:37:41 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- The run behavior of certain actions (SelectQuery, FindQuery,
ListFiles) when creating CRUD pages from database tables now adapts
based on a feature flag. If enabled, actions run automatically; if not,
they run on page load as before.

- **Tests**
- Added new tests to verify correct action run behavior for both enabled
and disabled feature flag scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2025-05-30 16:12:46 +05:30
Shrikant Sharat Kandula
fccba12b4f
fix: Don't load _all_ the workspaces into memory (#40810) 2025-05-30 15:12:50 +05:30
Abhijeet
39636498ce
fix: Handle burst traffic for fetching feature flags during cron job (#40808) 2025-05-30 07:28:44 +00:00
sneha122
0377b37bbc
fix: explicit automatic actions to be included in layout on load actions as well (#40778)
## Description

This PR fixes an issue in reactivity where if we have configured any
action to be automatic explicitly (By changing from settings in action
editor), then this action was not getting included in the
layoutOnLoadActions (This matrix informs frontend on what actions it
needs to execute on page load). Since we want all automatic actions to
be on page load as well, whatever actions user configure explicitly to
be automatic, should be included in page load as well. This PR fixes
that.

**Steps to test:**
1. Create an app with 2 queries -> Query1 and Query2
2. Go to Query1 -> settings and change run behaviour to be automatic.
3. Bind this query Query1 to Table1 widget
4. Reload the page and see if the table is getting populated or not

Fixes #40781   
_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/15318982252>
> Commit: 0eca6f90a21ab10faaf7794a98567ccce4bef541
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15318982252&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 29 May 2025 08:24: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


## Summary by CodeRabbit

- **Bug Fixes**
- Improved detection of actions set to run automatically on page load,
ensuring both "ON_PAGE_LOAD" and "AUTOMATIC" run behaviors are now
recognized. This enhances reliability for users who configure actions to
execute when a page loads.
- Refined the logic for identifying user-configured executables that
should not run on page load, now accurately recognizing only those set
to "MANUAL" run behavior.

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

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2025-05-29 15:01:06 +05:30
Wyatt Walter
2d21717059
fix: allow running as non-root (#40642)
## Description

Allows the Appsmith container to run as a non-root user, specified at
runtime through either docker-compose or Kubernetes pod security
context. I didn't specify the user in the `Dockerfile` because
environments like OpenShift choose a user at runtime, so it can't be
known at build time.

This needs to be followed by an update to docs and changes in the Helm
chart to finish it off, but that has a separate release cycle and this
needs to go ahead of that.

Ideally we would run as non-root by default, but since there's data
persisted on the filesystem automatically transitioning the default is
impossible without a lot of pain. This moves us in that direction and
enables it in the future if we go down that path.

Required to fix https://github.com/appsmithorg/appsmith/issues/38787

## 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
50ba745c5bb7709c60ce5194437f921f1a95c980 yet
> <hr>Thu, 15 May 2025 15:56: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

- **New Features**
- Added support for user identity emulation when running as a non-root
user, improving compatibility in certain deployment environments.
- Prevented embedded database initialization when running as a non-root
user to ensure proper operation.

- **Chores**
- Installed additional system packages to the base image for enhanced
functionality.
- Optimized image size by consolidating and improving cleanup steps
during the build process.
- Updated base image and refined installation commands for improved
build consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-28 22:19:48 +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