86b84c99ed
20111 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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”> |
||
|
|
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 --> |
||
|
|
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> |
||
|
|
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> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 -->
|
||
|
|
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”> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
ddad013ace
|
chore: re-instate status call for protected branches in git connected apps (#40880) | ||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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
|
||
|
|
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> |
||
|
|
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 --> |
||
|
|
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”>
|
||
|
|
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”> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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”> |
||
|
|
fccba12b4f
|
fix: Don't load _all_ the workspaces into memory (#40810) | ||
|
|
39636498ce
|
fix: Handle burst traffic for fetching feature flags during cron job (#40808) | ||
|
|
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”> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
4f6b1e627b
|
fix: disallows page load to automatic transition in run behaviour for older actions (#40755)
## Description This PR updates run behaviour logic so that it does not transition from page load to automatic for older actions. This allows users to be intentional about their choice to be automatic with older actions. Fixes #40752 _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/15271052226> > Commit: 1aaa57506bd227d3e78eebce2919911a8ec54c43 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15271052226&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Tue, 27 May 2025 09:39: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 - **Tests** - Added a new test to verify that executables with "ON_PAGE_LOAD" run behavior are not incorrectly updated when a specific feature flag is enabled. - **Refactor** - Simplified internal logic for checking run behavior, making the code more concise without changing functionality. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: “sneha122” <“sneha@appsmith.com”> |
||
|
|
429e92727b
|
chore: Enhanced Task Implementation Capabilities of Cursor. (#40774)
## Description
- Introduced task-list.mdc for guidelines on creating and managing task
lists in Markdown format, detailing structure and maintenance practices.
- Added TASKS.md to .gitignore to prevent tracking of project-specific
task files.
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
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Introduced a new guideline document outlining best practices for
creating and maintaining task lists in Markdown files, including
structure, maintenance, and AI usage instructions.
- **Chores**
- Updated the `.gitignore` file to exclude `TASKS.md` from version
control, ensuring project-specific task files are not tracked.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
56d296afc8
|
chore: Add code-split for OPL with UI module instances (#40749)
## Description EE Counterpart PR: https://github.com/appsmithorg/appsmith-ee/pull/7559 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/15253633122> > Commit: dd70a1c673da72ef7e5bdea172b90d7ec338f41a > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15253633122&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 26 May 2025 13:55:15 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** - Enhanced layout update processing by modularizing synthetic widget handling, enabling future UI-specific widget injection and removal. No direct impact on user-facing features. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
678df9c4aa
|
refactor: Remove strong dependency from feature flag enum to (de)serialise tenant object (#40754)
## 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._ /test 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/15253157855> > Commit: edc1653a9ec6e7dc3bd4411c7fdef74856bb3b9e > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15253157855&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Mon, 26 May 2025 12:27: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 - **Refactor** - Updated internal handling of feature migration tracking for improved flexibility. No visible impact to end-users. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
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  |  ## 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 --> |
||
|
|
e5ff4c6f13
|
fix: eliminate concurrency bug in file deletion logic by removing side effects from parallel stream (#40744)
## Description Refactored the `updateEntitiesInRepo` method to avoid mutating a non-thread-safe `HashSet` (`filesInRepo`) inside a parallel stream. The previous implementation added file paths to `filesInRepo` as a side effect within a `.parallelStream()`, which could lead to race conditions and data corruption. The new approach uses a pure mapping operation to build the map and then derives the set of file paths, ensuring thread safety and improving code clarity. 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/15209038828> > Commit: 3e3b28385cb1153c08f7ee7aa66e04cea58f665b > Workflow: `PR Automation test suite` > Tags: `@tag.All` > Spec: `` > <hr>Fri, 23 May 2025 11:19: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 - **Bug Fixes** - Improved error recovery when saving updates to the Git repository, ensuring changes are still applied even if an error occurs during the update process. - **Refactor** - Enhanced the process for detecting and handling updated or deleted files in the Git repository, leading to more reliable synchronization and cleaner repository state. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
1552b1d98c
|
refactor: Update PluginSchemaSolution return type from JsonNode to List<Object> (#40733)
## Description ### Type of Change - API Change - Interface Modification ### Changes This PR updates the return type of getPluginSchema method in the plugin schema solution: - Changed return type from Mono<JsonNode> to Mono<List<Object>> in both the interface and implementation - Updated import statements to reflect the type change - Removed unused Jackson dependency import 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 --> > [!IMPORTANT] > 🟣 🟣 🟣 Your tests are running. > Tests running at: <https://github.com/appsmithorg/appsmith/actions/runs/15203195158> > Commit: bedbd384ebcfef51e1af2d1882ddc46380fa8294 > Workflow: `PR Automation test suite` > Tags: `@tag.Sanity` > Spec: `` > <hr>Fri, 23 May 2025 05:41:48 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Updated the internal structure for retrieving plugin schemas, changing the expected format from a JSON node to a list of objects. This may affect how plugin schema data is processed or displayed in future updates. No visible changes to current user experience. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com> |
||
|
|
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 --> |
||
|
|
91ac9a1b54
|
fix: redirect users not part of organization to signup page (#40735) | ||
|
|
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 --> |
||
|
|
dae6281654
|
feat: updated toast messages for on page load actions (#40726)
## Description This PR: - updates the toast message that we see on add/remove of query binding with widget after the introduction of automatic run behaviour. We have updated the toast messages as per https://miro.com/app/board/uXjVIQ1GcX4=/?moveToWidget=3458764621410290209&cot=14 - Also resolves #40720 **Steps To Reproduce** 1. Create Query1 2. Create Table1 3. Edit Query1 body to be -> SELECT * FROM public."users" LIMIT {{Query2.data.length}}; 4. Attach this query1 to table1 -> We should a toast message saying Query1 will execute automatically on page load Now add Query2 and see the toast message -> It says "Query1, Query2 will execute automatically on page load instead it should just be Query2 in the message Ref: https://github.com/appsmithorg/appsmith/issues/40656#issuecomment-2896912279 Fixes #40720 #40471 _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/15179938858> > Commit: 141e2754cf202ee54d7373a0ef3ed0ee1217c876 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15179938858&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Table` > Spec: > <hr>Thu, 22 May 2025 08:31:09 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 how on-load executables are managed based on a feature flag, dynamically adjusting their run behavior and user messages. - **Tests** - Added new tests to verify correct messaging and behavior updates for executables under different feature flag conditions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: “sneha122” <“sneha@appsmith.com”> |
||
|
|
c733ae0b63
|
chore: Tracking organizationId in analytics for cloud billing (#40719)
## Description 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 sanity ### 🔍 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/15163916169> > Commit: 3695abfed6d9db0af99289e71dbb7447ff68311d > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15163916169&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: @tag.Sanity > Spec: > The following are new failures, please fix them before merging the PR: <ol> > <li>cypress/e2e/Regression/ClientSide/Widgets/TableV2/AddNewRow2_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>Wed, 21 May 2025 14:33: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** - Analytics events and user identification now include organization ID for enhanced tracking and reporting. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
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 --> |