b2bab20c2d
10563 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b2bab20c2d
|
chore: remove redundant klona used by the reactive action flow (#41089)
## Description Removed redundant klona used by the reactive action flow. > > _Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR._ Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/16114695042> > Commit: ac67b382f16ad4d8223caed946a8122d761e6739 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16114695042&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 07 Jul 2025 11:54: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 * **Refactor** * Simplified evaluation logic by removing redundant parameters related to previous evaluation tree snapshots across evaluation and trigger handling processes. * Streamlined method signatures and internal calls for improved maintainability. * **Tests** * Updated test cases to align with refactored function signatures, removing unnecessary arguments without affecting test coverage or outcomes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
c7342fbc01
|
feat: add form login enablement command and enhance Redis URL handling (#41078)
Fixes: #41069 - Introduced a new command to enable form login via the CLI. - Added utility functions to parse and retrieve Redis URL from environment variables and configuration files, improving error handling and robustness. This update enhances the application's command-line interface and improves the management of Redis configurations. ## 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 b3f0ca4351bbe51062b611d744f641eaf20ea64d yet > <hr>Mon, 07 Jul 2025 11:35: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 ## Summary by CodeRabbit * **New Features** * Added a new CLI command to enable form login for an organization. * **Improvements** * Enhanced environment and Redis URL handling with validation and error logging for improved reliability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> First:  Second:  Third:  Fourth:  |
||
|
|
2af8ef31f4
|
feat: add unit tests for multiOrgDomains (#41076)
## Description Add unit tests for multiOrgDomains ## 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/16044975912> > Commit: 9f865d9f5267d1cf5d15fe7bad1d6fb3a9c2a635 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16044975912&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Thu, 03 Jul 2025 08:48:25 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Tests** * Added comprehensive unit tests for multi-organization domain utilities, including domain validation, recent domain tracking, retrieval, and clearing of stored domains. * Ensured robust handling of edge cases, malformed data, and cookie management behaviors. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
e7a73e0f50
|
chore: UI module instance generation placeholder on page load and change (#41082)
## Description This PR adds a placeholder saga to be called in page change or page load operation of app to generate UI module instance. This is extended in EE PR for https://github.com/appsmithorg/appsmith-ee/pull/7928 ## 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/16070475917> > Commit: 5fcbf3bf5d9be4ad503e5460a4743061acfd908c > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16070475917&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Fri, 04 Jul 2025 11:03:51 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Improved handling of UI module instances when switching pages in both edit and view modes, ensuring a smoother user experience during page transitions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
96981d870b
|
test: adds cypress spec to test onpage unload functionality (#41084)
## Description Adds spec file and fixture file for on page unload functionality Fixes #41000 _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, @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/16070917983> > Commit: 9435c88d922a2c1344cc5feb955ce3eb5f8620f5 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16070917983&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.JS, @tag.Sanity` > Spec: > <hr>Fri, 04 Jul 2025 10:45:13 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Tests** * Added a comprehensive end-to-end test suite to verify on-page unload behavior across different application modes and navigation methods. * Included scenarios to ensure unload handlers trigger correctly and do not fire redundantly. * Confirmed execution of multiple unload handlers in preview mode. * **Chores** * Introduced a new application fixture for testing on-page unload actions with multiple pages, widgets, and JavaScript actions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
f9e1a5d4e4
|
chore: fix redirect url bug on datasource create on signup (#41083) | ||
|
|
ec9d6f756e
|
feat: enhance navigation state handling in PageEntity and saga (#41081)
## Description <ins>Problem</ins> Navigation state was not included when dispatching the navigateToAnotherPage action, causing the invokedBy property to be unset and leading to flakiness in the cypress spec: `app/client/cypress/e2e/Regression/ClientSide/IDE/Canvas_Context_Selected_Widgets_spec.js` <ins>Root cause</ins> The PageEntity component did not pass navigation state, and the NavigateActionSaga’s pushToHistory function did not effectively handle navigation with state, leading to incomplete navigation data. <ins>Solution</ins> This PR handles updating the PageEntity component to include navigation state when dispatching the navigateToAnotherPage action, ensuring the invokedBy property is set to NavigationMethod.EntityExplorer. It also refactors the pushToHistory function in the NavigateActionSaga to better support navigation with state, preserving backward compatibility. The NavigateToAnotherPagePayload type is updated to make state and query optional for greater flexibility. Fixes a regression introduced here: https://github.com/appsmithorg/appsmith/pull/41074 _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/16065286850> > Commit: 548dd7e404761c1f7bfcc71ad285843c83caf8b6 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16065286850&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Fri, 04 Jul 2025 05:06:13 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Improved navigation behavior to include additional context about the source of navigation within the app. * **Bug Fixes** * Enhanced compatibility for navigation actions, ensuring consistent handling of various navigation payload types. * **Documentation** * Added detailed comments to clarify supported navigation patterns and their handling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
3421f8bfd1
|
feat: implements onPageUnload functionality for the edit app mode page selector (#41074)
## Description <ins>Problem</ins> onPageUnload functionality was not consistently triggered during all types of page navigation in edit mode, leading to potential missed cleanup or actions when navigating between pages via different UI elements or programmatic flows. <ins>Root cause</ins> Navigation logic was fragmented across multiple components and methods (button clicks, navigation tabs, page navigator), and direct history manipulation bypassed centralized handling, preventing reliable invocation of onPageUnload actions. <ins>Solution</ins> This PR handles the integration of onPageUnload functionality with all page navigation flows in edit mode by centralizing navigation logic through the navigateToAnotherPage action, enhancing type safety, and ensuring onPageUnload actions are filtered and executed based on the current page context. Fixes #40998 _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, @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/16042398132> > Commit: 8ea04e6bb1312d9f468ed3d74ccc080ed6e9bac9 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16042398132&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.JS, @tag.Sanity` > Spec: > <hr>Thu, 03 Jul 2025 06:44: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** * Enhanced page unload actions to only trigger for the current page, improving accuracy and reliability. * **Bug Fixes** * Improved navigation consistency by updating the page switching mechanism to use a unified action. * **Tests** * Added tests to ensure correct filtering of JavaScript actions executed on page unload. * **Refactor** * Streamlined selector logic for better maintainability and performance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
b4d5685d21
|
feat: integrates on page unload behavior with backend for deployed mode of the app (#41036)
## Description **TLDR:** Adds support for executing page unload actions during navigation in deployed mode, refactors related components, and improves action handling. <ins>Problem</ins> Page unload actions were not triggered during navigation in deployed mode, leading to incomplete workflows especially for cleanup. <ins>Root cause</ins> The application lacked integration for executing unload actions on page transitions, and related components did not properly handle navigation or action execution. <ins>Solution</ins> This PR handles the integration of page unload action execution during navigation in deployed mode. It introduces selectors for unload actions, refactors the MenuItem component for better navigation handling, and improves the PluginActionSaga for executing plugin actions. Unused parameters and functions are removed for clarity and maintainability. Fixes #40997 _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/16021075820> > Commit: f09e3c44d379488e43aec6ab27228d7675f79415 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16021075820&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Wed, 02 Jul 2025 10:21:00 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 support for actions that execute automatically when navigating away from a page. * Introduced new navigation logic and hooks for consistent page transitions within the app. * Added new menu and dropdown components for improved navigation UI. * **Bug Fixes** * Updated navigation item styling and active state detection for improved accuracy. * **Tests** * Added comprehensive tests for navigation sagas and page unload actions. * Added unit tests for navigation menu components. * **Chores** * Refactored and centralized navigation logic for maintainability. * Improved type safety and selector usage in navigation and action execution. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
481988daf1
|
chore: Disable anonymous user tracking when feature flag turned on (#40936)
## 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 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/15996654359> > Commit: ba524fe2f769b6f8d2c72e0332560dd5e0c0465e > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15996654359&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Tue, 01 Jul 2025 11:08:01 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced a feature flag to control event tracking for anonymous users. * Added the ability to block analytics event tracking for anonymous users when the feature flag is enabled. * **Bug Fixes** * Improved logic to ensure analytics events are not sent for anonymous users if the feature flag is active. * **Chores** * Updated analytics initialization to respect the new tracking preference for anonymous users. * Enhanced tracking initialization flow to conditionally enable or disable analytics based on user status and feature flag. * Added tests to verify analytics initialization respects user tracking preferences. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: jacquesikot <jacquesikot@gmail.com> |
||
|
|
f379f16bdd
|
feat: exclude app.appsmith.com from recent domains tracking (#41059)
## Summary Adds filtering to exclude domains starting with "app." from the recent domains tracking functionality. ## Changes - Updated `isValidAppsmithDomain()` function to exclude domains that start with "app." - This prevents domains like `app.appsmith.com` from being tracked and stored in recent domains ## 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/15966291652> > Commit: b7f9bfa93b84592c5d2526410270799f5c44a9cd > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15966291652&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Mon, 30 Jun 2025 07:53:35 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved domain validation to exclude domains starting with "app." from being recognized as valid Appsmith domains. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
c17dc3aabc
|
fix: Updating the util to fix client build failure on EE (#41058)
## Description Updating the util to fix client build failure on EE Fixes # ## 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/15942976322> > Commit: 84b5b89eeb560056d4d7d74a49281a19aa61073b > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15942976322&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Sat, 28 Jun 2025 15:23:49 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 internal logic for identifying action entity types and dependency paths, enhancing the accuracy of dependency misuse detection. No visible changes to the user interface or workflows. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
40efc3bd84
|
chore(deps): bump pbkdf2 from 3.1.2 to 3.1.3 in /app/client (#41026)
Bumps [pbkdf2](https://github.com/crypto-browserify/pbkdf2) from 3.1.2 to 3.1.3. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/browserify/pbkdf2/blob/master/CHANGELOG.md">pbkdf2's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/browserify/pbkdf2/compare/v3.1.2...v3.1.3">v3.1.3</a> - 2025-06-20</h2> <h3>Commits</h3> <ul> <li>Only apps should have lockfiles <a href=" |
||
|
|
791476290f
|
fix: Updating the function definition for checking reactive cyclic dependencies (#41049)
## Description Updating the function definition for checking reactive cyclic dependencies to throw an error in all such scenarios and block multiple execute API calls. Fixes [#41048](https://github.com/appsmithorg/appsmith/issues/41048) ## 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/15919295485> > Commit: 05c9f6481e464dc802b2b556a0eba48c66cc3030 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15919295485&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Fri, 27 Jun 2025 07:06: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 logic for detecting reactive dependency misuse, resulting in clearer and more efficient checks. * Updated type handling to support partial entities in action detection. * **New Features** * Enhanced detection of conflicting trigger and data paths within dependencies, providing immediate feedback when misuse is found. * Introduced a feature flag to control reactive dependency misuse detection. * **Tests** * Added comprehensive tests to validate detection of reactive dependency misuse in various direct and transitive dependency scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
bb96d0f616
|
chore: Updating the description for run behaviour options of a JS object function (#41053)
## Description Updating the description for run behaviour options of a JS object function Fixes [#41047](https://github.com/appsmithorg/appsmith/issues/41047) ## 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/15904358858> > Commit: 643f72c44ba967a46e6d3d65c0e992816797c62d > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15904358858&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.JS` > Spec: > <hr>Thu, 26 Jun 2025 15:09: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 * **New Features** * Updated run behavior options for JS functions with clearer, more specific descriptions on how and when they execute. * **Style** * Improved clarity of descriptions for JS function run behaviors to enhance user understanding. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
5232b3f89e
|
chore: cache theme value properties, since it is a frequent property (#41031)
## Description Added caching of theme property value since it is a frequent expression, it constitutes 20% of all binding expressions for a large customer app. Expecting a 400ms reduction in LCP for a large customer app. Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/15880337835> > Commit: 11fab20fe285aa1b3b59c164179902628d35d97d > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15880337835&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Wed, 25 Jun 2025 17:45:37 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** - Improved performance when evaluating theme-related properties by introducing caching for repeated values. - **Chores** - Added a utility to identify specific theme-related unevaluated values. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
2e6ede2419
|
refactor: extract RecentDomainsSection into reusable component (#41020)
### Description Refactored the recent domains section from being an inline constant in `SignUp.tsx` into a dedicated, reusable React component. This improves code organization, maintainability, and testability. ### Changes Made - **Created new component**: `RecentDomainsSection.tsx` - Encapsulates all logic for rendering recent organization domains - Handles conditional rendering internally (returns null when no domains) - Includes proper TypeScript types and imports - **Updated SignUp component**: - Removed inline `recentDomainsSection` constant definition - Added import for new `RecentDomainsSection` component - Replaced usage with JSX component - **Improved avatar logic**: - Changed from alphabetical cycling (`String.fromCharCode(65 + (index % 26))`) to using the actual organization name's first letter (`orgName.charAt(0).toUpperCase()`) - This provides more meaningful and recognizable avatars for users ## Automation /ok-to-test tags="@tag.Sanity, @tag.Authentication" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/15838492574> > Commit: f4c799f7fd76851b404ddddd441728d9bd6445ca > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15838492574&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity, @tag.Authentication` > Spec: > <hr>Tue, 24 Jun 2025 01:35:51 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a dedicated section to display recently accessed domains during user sign-up, allowing quick access to previously used domains. - **Refactor** - Modularized the recent domains display by moving its logic and UI into a separate component for improved maintainability and clarity. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6fa8196325
|
fix: Updating the logic for page load action checks to fix reactivity for new bindings (#41028)
## Description Updating the logic for page load action checks to fix reactivity for new bindings Fixes [#41027](https://github.com/appsmithorg/appsmith/issues/41027) ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/15846753581> > Commit: 04caf3892aad8a731267e93c21224f7f9c7c147d > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15846753581&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Tue, 24 Jun 2025 10:39:57 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Simplified the management of on-load action execution status from tracking multiple actions to a single boolean flag, streamlining related logic and state handling. - **Bug Fixes** - Improved reliability by updating the execution status only after all on-load actions have completed, reducing potential inconsistencies. - **Performance** - Enhanced performance by removing unnecessary mapping and array operations in selectors and sagas. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
f47332a129
|
fix: Removing a part of code as its not updating the API params dependency correctly in Evaluations (#41019)
## Description Removing a part of code as its not updating the API params dependency correctly in Evaluations Fixes [#41021](https://github.com/appsmithorg/appsmith/issues/41021) ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/15827212934> > Commit: 0c78c53a95dbdf37c0e157e0cb15fdce9aa6674c > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15827212934&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 23 Jun 2025 16:31:24 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Updated the behavior of the API configuration form to streamline how path and query parameters are handled during autofill. The form now updates the visible path field without triggering additional background updates. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7c00b6a229
|
test: fix Regression/ClientSide/ActionExecution/FrameworkFunctions_NavigateToFunctions_spec.ts (#41015)
## Description <ins>Problem</ins> After creating a widget, the page URL was updated. If the widget was subsequently removed, navigating back from an external site (e.g., google.com) caused the app to fail in locating the widget, resulting in out page selector being unable to open. <ins>Root cause</ins> 1. Redundant URL assignment persisted after widget deletion, leading to navigation errors and an inconsistent application state. 2. Additionally, on the fourth spec when we were adding a new action on the button click, it already had a on click action defined which was pointing to navigate to google. com and the new navigator we were adding was getting up and down on top of that. So basically sometimes it was preferring first navigation and sometimes it was preferring second navigation. <ins>Solution</ins> 1. This PR handles the removal of unnecessary URL assignment in the navigation test, simplifying the test case and improving code clarity and maintainability. 2. In this PR, we remove the first navigation by applying the onClick property in a JS mode. Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.JS" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/15840445845> > Commit: a42d60a18efca0b824fbd11127ce2b7f23c043cb > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15840445845&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.JS` > Spec: > <hr>Tue, 24 Jun 2025 04:12:33 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Tests** - Updated a navigation test case to remove an unnecessary URL assignment step. - Modified navigation verification to use a direct JavaScript expression for improved accuracy. - Cleaned up formatting by removing a trailing blank line between test cases. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
325b62be28
|
feat: Adding core logic for Reactive Actions in Post evaluations flow (#40963)
## Description Adding core logic for Reactive Actions in Post evaluations flow which enables queries in Appsmith to automatically re-run when their dependent variables change, making apps more dynamic, responsive, and easier to build. Fixes [#39835](https://github.com/appsmithorg/appsmith/issues/39835) [#40814](https://github.com/appsmithorg/appsmith/issues/40814) [#40989](https://github.com/appsmithorg/appsmith/issues/40989) ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/15824074133> > Commit: d9d222536c5d4bf81430b120cfc382f593e36a13 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15824074133&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 23 Jun 2025 13:35:17 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Support for reactive queries that execute automatically after evaluation when dependencies change. - Tracking and status indicators for on-load actions showing execution status per action. - Included action run behavior in analytics and logging for enhanced action execution insights. - Added a saga to handle execution of reactive queries with debounced processing. - **Bug Fixes** - Improved detection of table data changes using deep equality checks to avoid missed updates. - Prevented unnecessary execution when no batch actions are present. - **Refactor** - Enhanced handling of reactive paths and dynamic triggers for actions and JS functions. - Improved dependency management with validation to detect and prevent reactive dependency misuse. - Consolidated evaluation substitution types into a centralized constants file. - Refined evaluation logic to skip certain data paths and track reactive actions precisely. - Centralized imports of evaluation substitution types for consistency. - **Tests** - Updated tests to include new properties like run behavior and dynamic trigger paths for actions and JS functions. - Adjusted test expectations to align with updated dependency tracking and evaluation logic. - **Chores** - Added utility functions for dependency and entity type checks. - Improved type definitions and reorganized imports for clarity and maintainability. - Added new selectors to expose on-load action execution status. - Introduced new interfaces and placeholder saga utilities for JS module instance handling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: “sneha122” <“sneha@appsmith.com”> |
||
|
|
14ab9e7ba9
|
feat: enable fetching organizations based on cloud billing status (#41016)
## Description Fix failing fetch organizations endpoint when cloud billing is not enabled. ## Automation /ok-to-test tags="@tag.Sanity, @tag.Settings" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/15819205361> > Commit: 690015bcb5bc09131c68dfa3e7a360b683824e7e > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15819205361&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity, @tag.Settings` > Spec: > <hr>Mon, 23 Jun 2025 09:03:07 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved application behavior by only fetching organizations when cloud billing is enabled, preventing unnecessary data loading. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
475939ffb2
|
feat: add onPageUnload option in UI behind feature flag. (#41008)
## Description <ins>Problem</ins> The action configuration UI lacked support for running actions specifically on page unload, limiting automation and flexibility for users. <ins>Root cause</ins> There was no ON_PAGE_UNLOAD option in the ActionRunBehaviour enum or related UI, and feature flag handling for this behavior was missing. <ins>Solution</ins> This PR handles the addition of the ON_PAGE_UNLOAD run behavior to the ActionRunBehaviour enum, updates UI and settings to support it, leverages feature flags for dynamic option availability, and adds tests to ensure robust behavior. Fixes #40995 _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.JS" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/15774903938> > Commit: fe0b50052e7e8a0d1f74f75016657ca78ea25c7d > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15774903938&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.JS` > Spec: > <hr>Fri, 20 Jun 2025 09:27:32 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new "On page unload" run behavior option for actions and JS functions, allowing actions to be triggered when a page is unloaded. - Added a feature flag to enable or disable the "On page unload" run behavior. - **Enhancements** - Run behavior options in the editor now dynamically update based on feature flag settings, ensuring only valid options are shown. - **Tests** - Added comprehensive unit tests for utility functions handling run behavior options and defaults. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
1b69f150e2
|
fix: upgrade tinymce to latest MIT licensed version (#41003)
## Description Fixes https://github.com/appsmithorg/appsmith/security/dependabot/348 https://github.com/appsmithorg/appsmith/security/dependabot/347 https://github.com/appsmithorg/appsmith/security/dependabot/290 ## Automation /ok-to-test tags="@tag.Widget, @tag.TextEditor, @tag.Binding" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/15773718244> > Commit: a11b75ec4343ae8720ed5e066d7fecbb42e05fb3 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15773718244&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Widget, @tag.TextEditor, @tag.Binding` > Spec: > <hr>Fri, 20 Jun 2025 09:01:44 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced the Rich Text Editor to automatically convert unsafe embedded content to safe formats. - **Chores** - Updated the TinyMCE editor to version 6.8.5. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
64c2b9ab29
|
chore: Added tag to exclude Airtable_Basic_Spec.ts from airgapped runs (#41005)
## Description > [!TIP] > _Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team)._ > > _Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR._ Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.Airtable" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/15773945412> > Commit: 12cefda7fc78991cd287017ed3d88ebb39851455 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15773945412&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Airtable` > Spec: > <hr>Fri, 20 Jun 2025 08:12:59 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Tests** - Updated test metadata by adding a new tag to the Airtable datasource test suite. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: Laveena Enid <laveena@appsmith.com> |
||
|
|
a801a19581
|
feat: Implement empty meta widget generation for handling empty data scenarios (#40886)
## Description <ins>Problem</ins> Errors appeared in the console when the List widget in edit mode received an empty array as data. <ins>Root cause</ins> In edit mode, the List widget uses template widgets to create meta widgets. When the list becomes empty, meta widgets are not generated, but template widgets with `currentItem` bindings remain. Since `currentItem` requires meta widgets for evaluation, this results in errors. <ins>Solution</ins> This PR handles the generation of empty meta widgets when the List widget receives empty data, ensuring `currentItem` bindings don’t break. It introduces a `generateEmptyMetaWidgets` method in `MetaWidgetGenerator`, enhances the List widget to track and respond to empty data states, and resets the meta widget cache when transitioning between empty and non-empty states. Fixes #`Issue Number` _or_ Fixes https://github.com/appsmithorg/appsmith/issues/31925 > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.List" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/15756809644> > Commit: 58818e09dd83faaa92ee0dad53aab93dcf5f55a5 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15756809644&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.List` > Spec: > <hr>Thu, 19 Jun 2025 12:11:58 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved handling of empty list data on the first page, ensuring widgets display correctly when no data is present. - Enhanced consistency in detecting and rendering empty lists across the List Widget. - **New Features** - Added a utility function to accurately identify fully empty lists, enabling more predictable widget behavior. - Introduced an option to handle empty list cases by injecting placeholder data for consistent widget generation. - **Tests** - Added a test to verify the display of "No data to display" message when the list is empty and confirm no errors occur. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
f2b76c5577
|
chore: add workflows setting for agents CE (#40988)
/ok-to-test tags="@tag.Sanity"
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added a "Trigger Settings" sidebar button and editor pane for AI Agent
apps.
- Introduced a "Run History" tab in the debugger and a corresponding
trigger in the bottom bar for AI Agent apps.
- New SVG icon ("lightning-line") added for sidebar and UI elements.
- Support for importing agent templates and associating workflows with
applications.
- **Enhancements**
- Sidebar and bottom bar now adapt to AI Agent app context.
- Layout and header updated to accommodate the new "Trigger Settings"
editor state.
- **Bug Fixes**
- No bug fixes included in this release.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/15753160141>
> Commit: d0e477ce71479ac091957566c5bba05e0f215e60
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15753160141&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 19 Jun 2025 09:22:45 UTC
<!-- end of auto-generated comment: Cypress test results -->
|
||
|
|
bb1c055126
|
feat: add multi-organization dropdown for organization navigation (#40967) | ||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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”> |
||
|
|
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 --> |
||
|
|
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> |
||
|
|
8ba0961958
|
fix: update assertion method in DebuggerHelper to use GetNAssertElementText (#40937) | ||
|
|
0b1dbc440d
|
chore: refactor ai plugin to agent (#40945) | ||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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) | ||
|
|
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 --> |
||
|
|
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 --> |