ef79d5f847
8339 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
7711058ce3
|
chore: navigate to applications page with workspace context on click of All Apps icon or logo (#41298)
## Description Made changes to ensure that workspace id is also added to the /applications url when clicking on All Apps icon or logo from editor page. Fixes #`41296` ## 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/18468233571> > Commit: 73d0192dfaf32c350335a2fb6d57d2ad81c65413 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=18468233571&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 13 Oct 2025 15:26: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** * Navigation to Applications is now workspace-aware: the Back to Apps button (App Viewer) and the Appsmith link (Editor) route to the Applications page scoped to the selected workspace when present. * Ctrl/Cmd-click opens the workspace-scoped Applications page in a new tab. * Navigation updates dynamically when the current workspace changes. * Behavior for anonymous users remains unchanged. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
77005b5798
|
fix: tab navigation not working in Fixed Layout due to event listener timing issue (#41256)
## Problem Tab navigation between input widgets was not working in Fixed Layout applications. Users reported that pressing the Tab key would not move focus to the next input widget in the expected order (top-to-bottom, left-to-right), instead following the browser's default DOM-based tab order. This issues was raised by an Enterprise user [here](https://theappsmith.slack.com/archives/C0341RERY4R/p1758112042665109) ## Root Cause The issue was caused by a **timing problem** in the `useWidgetFocus` hook: 1. The `useEffect` hook was running immediately when the component mounted 2. However, the canvas element ref (`ref.current`) was set later via the React ref callback 3. This caused the event listeners for Tab navigation to never be attached, as `ref.current` was `null` when `useEffect` ran 4. Without the custom Tab event listeners, the browser fell back to its default tab navigation behavior ## Solution Refactored the `useWidgetFocus` hook to attach event listeners **immediately when the ref is set**, rather than waiting for a `useEffect` that runs too early: ### Before (Broken): ```typescript useEffect(() => { if (!ref.current) return; // ❌ Always true - ref not set yet const handleKeyDown = (event: KeyboardEvent) => { if (event.key === "Tab") handleTab(event); }; ref.current.addEventListener("keydown", handleKeyDown); }, []); // ❌ Runs before ref is set ``` ### After (Fixed): ```typescript const setRef = useCallback((node: HTMLElement | null) => { if (node === null) return; if (ref.current === node) return; ref.current = node; attachEventListeners(node); // ✅ Attach immediately when ref is set }, [attachEventListeners]); ``` ## Why This Solution Works 1. **Correct Timing**: Event listeners are now attached immediately when React calls the ref callback with the DOM element 2. **No Race Conditions**: Eliminates the timing issue between `useEffect` and ref assignment 3. **Maintains Functionality**: Preserves all existing tab navigation logic (position-based sorting, modal focus trapping, etc.) 4. **Clean Architecture**: Separates event listener attachment logic into a reusable callback ## Testing - ✅ Tab navigation now works correctly in Fixed Layout applications - ✅ Maintains proper top-to-bottom, left-to-right tab order - ✅ Modal focus trapping continues to work - ✅ Auto Layout behavior unchanged (tab navigation disabled as intended) - ✅ No regressions in existing functionality ## Files Changed - `app/client/src/utils/hooks/useWidgetFocus/useWidgetFocus.tsx` - Fixed event listener timing - `app/client/src/utils/hooks/useWidgetFocus/handleTab.ts` - Cleaned up (no functional changes) - `app/client/src/utils/hooks/useWidgetFocus/tabbable.ts` - Cleaned up (no functional changes) ## Automation /ok-to-test tags="@tag.Widget" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/18034264649> > Commit: ab9af8404302eb19c243dea583160bc9e74f33aa > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=18034264649&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Widget` > Spec: > <hr>Fri, 26 Sep 2025 11:09:55 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 reliability of focusing widgets on click. * More consistent Tab key navigation across widgets. * Prevents unintended focus behavior in non–auto-layout mode. * **Refactor** * Streamlined event listener management for focus and keyboard interactions, improving stability and reducing potential memory leaks. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
b79b160d2f
|
fix: updates the logic to not interfere with DSL when infinitescroll is enabled (#41217)
## Description TLDR: Refines TableWidgetV2 cell editability logic to disable editing when infinite scroll is enabled. <ins>Problem</ins> When people toggled infinite scroll of ON and then moved it back to ON, we were forcibly enabling editing for all columns which was wrong product behavior. <ins>Root cause</ins> The utilities were putting the additables to true in DSL. And editability logic missed a check for the infinite scroll setting, causing cells to remain editable even when infinite scroll was active. <ins>Solution</ins> This PR handles the integration of infinite scroll support into TableWidgetV2 by updating header and cell components to respect the infiniteScrollEnabled prop. Editability is now disabled when infinite scroll is active, ensuring consistent and predictable user experience. Fixes #`Issue Number` _or_ Fixes https://github.com/appsmithorg/appsmith-ee/issues/8144 > [!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/17998257804> > Commit: 4d0ff9c41d97c55a94a3d261b962faef492f453a > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=17998257804&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Table` > Spec: > <hr>Thu, 25 Sep 2025 06:15:12 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Laveena Enid <laveena@appsmith.com> Co-authored-by: Aparna Ramachandran <101863839+btsgh@users.noreply.github.com> Co-authored-by: Abhijeet <41686026+abhvsn@users.noreply.github.com> Co-authored-by: yatinappsmith <84702014+yatinappsmith@users.noreply.github.com> Co-authored-by: Nidhi <nidhi@appsmith.com> Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com> Co-authored-by: “sneha122” <“sneha@appsmith.com”> Co-authored-by: Nidhi <nidhi.nair93@gmail.com> Co-authored-by: Ankita Kinger <ankita@appsmith.com> Co-authored-by: Rudraprasad Das <rudra@appsmith.com> Co-authored-by: Trisha Anand <trisha@appsmith.com> Co-authored-by: Trisha Anand <trisha1990@gmail.com> Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com> Co-authored-by: Hetu Nandu <hetu@appsmith.com> Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com> Co-authored-by: Albin <albin@appsmith.com> Co-authored-by: Manish Kumar <107841575+sondermanish@users.noreply.github.com> Co-authored-by: Pawan Kumar <pawan@appsmith.com> Co-authored-by: Apeksha Bhosale <7846888+ApekshaBhosale@users.noreply.github.com> Co-authored-by: Diljit <diljit@appsmith.com> Co-authored-by: jacquesikot <jacquesikot@gmail.com> Co-authored-by: Goutham Pratapa <goutham@appsmith.com> Co-authored-by: Wyatt Walter <wyattwalter@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Laveena Enid <109572422+laveena-en@users.noreply.github.com> Co-authored-by: Abhinav Jha <abhinav@appsmith.com> |
||
|
|
e742df0bfa
|
feat: add account suspension error message for rate limiting (#41254)
## Description This PR adds a new error message constant `AUTH_ACCOUNT_SUSPENDED_FOR_RATE_LIMIT` to handle cases where user accounts are suspended due to rate limiting violations. ## Changes - Added `AUTH_ACCOUNT_SUSPENDED_FOR_RATE_LIMIT` message constant in `messages.ts` - Added the new error message to the approved error messages list in `approvedErrorMessages.ts` - The message informs users that their account is suspended for 24 hours and suggests resetting their password to continue ## Message Content > "Your account is suspended for 24 hours. Please reset your password to continue" This provides clear guidance to users on both the suspension duration and the action they can take to resolve it. ## 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/17939195425> > Commit: 5b1a651df3483315ebea7f4096eb22e485a9a9d7 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=17939195425&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity, @tag.Authentication` > Spec: > <hr>Tue, 23 Sep 2025 08:25:35 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a clear authentication message when an account is temporarily suspended due to rate limiting (24-hour lockout). This message is now displayed as a standard, user-visible error, helping users understand why sign-in is blocked and when they can retry. This improves feedback after too many attempts or excessive requests, reducing confusion and support inquiries. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
e1cb5d9306
|
fix: Adding responseMeta in query object even when the query fails (#41216)
## Description Adding responseMeta in query object even when the query fails so the header request id can be used by the user, if needed. Fixes [#8024](https://github.com/appsmithorg/appsmith-ee/issues/8024) EE PR for tests: https://github.com/appsmithorg/appsmith-ee/pull/8149 ## 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/17625800361> > Commit: c3a972f13beeaef82774a8bddb28c89cf1f783f6 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=17625800361&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Thu, 11 Sep 2025 06:23:42 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 messages and details when plugin actions or triggers fail, providing clearer context to diagnose issues. * Surfaces underlying response data on errors (when available), enabling more informative failure feedback in the UI. * Ensures action state is updated consistently after failures (clears loading and populates data/meta when present), preventing stale or misleading states. * Standardized error handling across related flows without changing successful execution behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
ae2f286a13
|
feat: update environment switch tooltip from business to enterprise plan (#41168)
## Summary Updates the tooltip text for disabled environment switching to reference "enterprise plan" instead of "business plan" to align with current product terminology. ## Changes - Added new `ENTERPRISE_EDITION_TEXT` constant in `ce/constants/messages.ts` - Updated `SwitchEnvironment` component to use the new enterprise text constant - Maintains backward compatibility by keeping the original `BUSINESS_EDITION_TEXT` constant ## Files Changed - `app/client/src/ce/constants/messages.ts` - Added new enterprise text constant - `app/client/src/ce/components/SwitchEnvironment/index.tsx` - Updated tooltip to use enterprise terminology ## Testing - [ ] Verify tooltip displays "enterprise plan" text when environment switching is disabled - [ ] Confirm tooltip link functionality remains unchanged ## Impact This is a minor UI text update with no functional changes. Users will now see consistent "enterprise plan" messaging in the environment switch tooltip. ## 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/16900241210> > Commit: a462cb0c2ddcd29b19e7adadf3de8fd5f5868e9f > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16900241210&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Tue, 12 Aug 2025 06:34: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 * **Style** * Updated tooltip messaging to display "enterprise plan" instead of "business edition" in relevant user interface areas (environment switcher and data-filter tooltips). This changes only the displayed plan name in upgrade/locked-feature tooltips across the app. No changes to feature availability or workflows. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
72c47ee27c
|
fix: Removing a line of code to fix extra space issue on Page with Fixed height container (#41178)
## Description Removing a line of code to fix extra space issue on Page with Fixed height container once switched from a Page with Auto height container. Also, manually tested out all issues from [#19082](https://github.com/appsmithorg/appsmith/pull/19082) to confirm nothing else breaks from the time these lines were added in the code. Fixes [#41180](https://github.com/appsmithorg/appsmith/issues/41180) ## 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/17043252133> > Commit: c8bde1226eed929dec92b1421a6167977486af97 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=17043252133&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 18 Aug 2025 17:04:42 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 main container auto-height calculation to eliminate unintended extra spacing, resulting in more accurate, content-driven sizing. * **Chores** * Added diagnostic logging around main container size computation in view mode to aid troubleshooting (no functional impact). <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
5d38e47508
|
chore: optimised isChildPropertyPath to not use a regex and added more logging around calculateSubTreeSortOrder (#41162)
## Description Reduced the cumulative contribution of isChildPropertyPath by approximately 98%. During page load, it originally took around 100 ms for a customer app on a Mac machine and is now down to 2 ms. As a result, calculateSubTreeSortOrder has improved by 70% on the same setup. Optimised sorting and removed redundant lookups in addNodes, which led to marginal gains. This optimisation specifically targets a customer scenario where addNodes and addDependantsOfNestedPropertyPaths are heavily stressed, contributing to an overall latency of about 7 seconds. Added additional logging to investigate the issue further. 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/16714192460> > Commit: d6633bb07190c897a9a9d9563e606c4dd220fa55 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16714192460&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 04 Aug 2025 05:57:55 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 new function to improve detection of child property paths supporting both dot and bracket notation. * **Refactor** * Optimized internal logic for managing dependency sets and improved node addition efficiency. * Updated sorting method to accept arrays for better consistency. * **Style** * Enhanced code readability and maintainability with more concise patterns. * **Chores** * Introduced performance timing and logging for key operations to aid in monitoring and diagnostics. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
d0b88994aa
|
fix: Skip JSObject eval where the path is the function (#41157)
## Description JSObjects and JSModuleInstance function paths were earlier skipped eval when present in the eval order. In the [reactive actions](https://github.com/appsmithorg/appsmith/pull/40963) PR this check was removed and due to that JSModuleInstances function were overriden in `evalContextCache` with it's uneval value. Due to which during any eval where the JSModuleInstance function is present as a binding, fails to evaluate This PR reverts the check Fixes https://github.com/appsmithorg/appsmith/issues/41146 ## 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/16665740260> > Commit: 9a10adbc79bf5c2f2258b6dc4e013e4d66ac441d > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16665740260&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Fri, 01 Aug 2025 05:00:23 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved evaluation process to prevent unintended evaluation of action properties within JSObjects, resulting in more stable and predictable behavior for users. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
621b979524
|
fix: Updating the logo in the app editor to use favicon instead (#41147)
## Description Updating the logo in the app editor to use favicon instead Fixes [#41134](https://github.com/appsmithorg/appsmith/issues/41134) ## 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/16591754385> > Commit: 29ca67869963e9dbb9d684eeeb6713d865c6dd7f > Workflow: `PR Automation test suite` > Tags: `@tag.Sanity` > Spec: `` > <hr>Tue, 29 Jul 2025 09:11: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 * **New Features** * Updated the logo in the Appsmith link to display the organization's favicon if available and different from the default, otherwise defaults to the standard logo. * **Bug Fixes** * Increased the maximum allowed favicon size in branding settings from 32x32 to 48x48 pixels, with updated validation and messaging. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
38ae03bf17
|
fix: Updating logic for reactive actions to fix cyclic dependency issue with App templates and Generate page flow of a DB (#41144)
## Description Updating logic for reactive actions to fix cyclic dependency issue with App templates and Generate page flow of a DB. Currently, both flows were leading to cyclic dependency errors which shouldn't show up. App template used - Order Fulfilment Tracker DB used - Mock DB Movies Fixes [#41125](https://github.com/appsmithorg/appsmith/issues/41125) [41113](https://github.com/appsmithorg/appsmith/issues/41113) EE PR for tests: https://github.com/appsmithorg/appsmith-ee/pull/8029 ## 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/16590882275> > Commit: 907935727e70fac4dc1a8efe70cd8a3cd5da262b > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16590882275&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Tue, 29 Jul 2025 09:46:35 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit * **Refactor** * Improved dependency detection logic for actions and JS actions, refining how data paths are identified and handled. * Unified data path detection by using a shared utility function across the application. * Enhanced filtering of entities during dependency calculations for greater accuracy. * **Bug Fixes** * Corrected detection of reactive dependency misuse to reduce false positives for certain entity types. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
9930224212
|
fix: Updating the check for matching app libraries path (#41139)
## Description Updating the check for matching app libraries path to fix the redirection to JS Libraries section when page has a custom path. Fixes [#41138](https://github.com/appsmithorg/appsmith/issues/41138) ## 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/16566848024> > Commit: 55233a42b73de66a5def0e1287ca2513d632e60a > Workflow: `PR Automation test suite` > Tags: `@tag.Sanity` > Spec: `` > <hr>Mon, 28 Jul 2025 10:40: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 path recognition for application libraries and packages, supporting both standard and custom builder paths. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
8ce52fe39e
|
fix: Updating the logo in App editor to use branding logo instead (#41135)
## Description Updating the logo in App editor to use branding logo instead. Fixes [#41134](https://github.com/appsmithorg/appsmith/issues/41134) ## Automation /ok-to-test tags="@tag.Sanity" ### 🔍 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 |
||
|
|
b4efa72684
|
feat: implement upgrade button within editor header (#41124)
## Summary This PR adds an upgrade button to the IDE header, allowing users to access upgrade options directly from the editor interface. ## Changes Made - Added `ShowUpgradeMenuItem` import from `ee/utils/licenseHelpers` - Integrated `<ShowUpgradeMenuItem />` component into the IDE header right section - Positioned the upgrade menu item before the help bar for better visibility ## Automation /ok-to-test tags="@tag.Sanity, @tag.IDE" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/16440833655> > Commit: e5fcc5f11bfb9770481e72855b46f085ee0271e3 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16440833655&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity, @tag.IDE` > Spec: > <hr>Tue, 22 Jul 2025 10:38:16 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added an upgrade menu item to the IDE header for easier access to upgrade options. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
e8ce322877
|
feat: remove release_paid_features_tagging feature flag (#41123)
## Summary This PR removes the `release_paid_features_tagging` feature flag and enables premium tagging for paid datasource features by default. ## Changes Made ### Files Modified - `app/client/src/ce/entities/FeatureFlag.ts` - Removed feature flag definition - `app/client/src/pages/Editor/DataSidePane/DataSidePane.tsx` - Removed feature flag usage ### Detailed Changes 1. **Removed feature flag definition**: - Removed `release_paid_features_tagging` from `FEATURE_FLAG` object - Removed corresponding default value from `DEFAULT_FEATURE_FLAG_VALUE` 2. **Updated DataSidePane component**: - Removed `useFeatureFlag(FEATURE_FLAG.release_paid_features_tagging)` hook - Removed conditional check `if (!isPaidFeaturesTaggingEnabled) return false;` - Updated `shouldShowPremiumTag` function to always evaluate premium tag logic - Cleaned up dependency array in useMemo ## Impact - Premium tags for paid datasource features will now be **always visible** when applicable - Removes the feature flag gating mechanism that was previously controlling this behavior - Simplifies the codebase by removing conditional logic around premium tagging ## Automation /ok-to-test tags="@tag.Sanity, @tag.IDE, @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/16435603085> > Commit: 2db1a7337cb167f87f10de1a8e9a7513303427a5 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16435603085&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity, @tag.IDE, @tag.Datasource` > Spec: > <hr>Tue, 22 Jul 2025 06:41: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** * Removed the feature flag for paid features tagging and all related logic from the application. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
95c70aabb5
|
chore: optimised updateDependencyGraph code (#41117)
## Description Added code optimisations around updateDependencyGraph by caching ast parsing and made lower level code optimisations by using sets. Observed a 40% reduction of updateDependencyGraph in a customer app. In addition made optimisations to linkAffectedChildNodesToParent where we aren't recomputing the result for the same node. _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/16398467407> > Commit: e5d8a165ac49fb205f5bb344979d09d1ebc2a225 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16398467407&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Sun, 20 Jul 2025 12:41:19 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit * **New Features** * Improved dependency management with a new utility for comparing sets, enhancing accuracy in tracking changes. * **Chores** * Optimized internal logic for handling dependencies to improve performance and maintainability. * Enhanced code parsing efficiency with caching to speed up repeated analyses. * Refined sorting logic to better handle duplicates and improve processing speed. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
16ea831fac
|
feat: add premium feature tag for paid external SaaS plugins in DataSidePane (#41110)
## Summary
This PR introduces a new premium feature tag for datasources that use
paid external SaaS plugins in the DataSidePane. The tag is conditionally
displayed based on a new feature flag, allowing for controlled rollout
and visibility of premium integrations.
---
## Changes
- **Feature Flag:**
- Added `release_paid_features_tagging` to the `FEATURE_FLAG` and
`DEFAULT_FEATURE_FLAG_VALUE` in `FeatureFlag.ts`.
- **DataSidePane UI:**
- Imported and used the new `PremiumFeatureTag` component.
- Added logic to determine if a datasource should display the premium
tag:
- Checks if the new feature flag is enabled.
- Checks if the datasource's plugin is of type `EXTERNAL_SAAS` and if
the corresponding paid integration feature is disabled.
- Displays the premium tag in the datasource list for eligible
datasources.
## Automation
/ok-to-test tags="@tag.Sanity, @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/16281977131>
> Commit: f6450efb1a5123fd6d088251a3adeb6d75dbaa57
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16281977131&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Datasource`
> Spec:
> <hr>Tue, 15 Jul 2025 02:37:55 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
* **New Features**
* Introduced a premium feature tag for certain datasources in the
DataSidePane, visible when specific feature flags are enabled.
* **Chores**
* Added a new feature flag to support premium feature tagging.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
c4ed090fce
|
feat: update premium icon for create datasource page (#41109)
## Summary This PR updates the premium icon displayed on the "Create Datasource" page. The previous implementation used a custom-styled Tag component for premium datasources. This change introduces a new reusable `PremiumFeatureTag` component with a star icon, and updates the UI to use this new component for premium datasources. ## Changes - **Added**: `PremiumFeatureTag` component in `components/editorComponents/` - Displays a star icon inside a non-closable tag. - **Refactored**: `PremiumDatasources` to use the new `PremiumFeatureTag` instead of the old custom-styled Tag. - **Updated**: `DatasourceItem` and related styled components to improve layout and alignment for the new premium tag. - **Removed**: Old custom `PremiumTag` styles and usage. ## Automation /ok-to-test tags="@tag.Sanity, @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/16262901647> > Commit: da8a4ece7dcc8e06367e0a3859e4ea631561e4c0 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16262901647&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity, @tag.Datasource` > Spec: > <hr>Mon, 14 Jul 2025 10:10:19 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced a new visual tag to indicate premium features within the interface. * **Refactor** * Improved the layout and structure of datasource items for better visual organization. * Replaced custom premium label styling with a standardized reusable component for consistency. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
e5b2a26c65
|
chore: ce changes related to decoupling webworker (#41033)
## Description We are improving the LCP by reducing the time to reach the first evaluation, aiming for a 1.8 to 2.2 second reduction. To achieve this, we’ve implemented the following changes: Code Splitting of Widgets: During page load, only the widgets required for an evaluation are loaded and registered. For every evaluation cycle we keep discovering widget types and load them as required. Web Worker Offloading: Macro tasks such as clearCache and JavaScript library installation have been moved to the web worker setup. These are now executed in a separate thread, allowing the firstUnevaluatedTree to be computed in parallel with JS library installation. Parallel JS Library Loading: All JavaScript libraries are now loaded in parallel within the web worker, instead of sequentially, improving efficiency. Deferred Rendering of AppViewer: We now render the AppViewer and Header component only after registering the remaining widgets. This ensures that heavy rendering tasks—such as expensive selector computations and loading additional chunks related to the AppViewer—can execute in parallel with the first evaluation, further enhancing performance. ## 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/16202622510> > Commit: b648036bd7b74ae742f5c5d7f6cfd770867a2828 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16202622510&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Thu, 10 Jul 2025 19:22: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 ## Summary by CodeRabbit * **New Features** * Widgets are now loaded and registered asynchronously, improving app startup and modularity. * Widget registration and configuration changes are now versioned, ensuring selectors and UI update appropriately. * Widget initialization and factory cache management are more robust, with explicit cache clearing after widget registration. * Added new Redux actions and selectors to manage first page load, deferred JS library loading, and page rendering state. * Theme handling and widget initialization in AppViewer are streamlined for faster evaluation and rendering. * Deferred loading of JavaScript libraries on first page load improves performance. * Conditional rendering gates added to AppViewer and Navigation components based on evaluation state. * **Bug Fixes** * Prevented errors when conditionally rendering widgets and navigation components before evaluation is complete. * Improved widget property pane and configuration tests to ensure all widgets are properly loaded and validated. * **Refactor** * Widget import and registration logic was refactored to support dynamic, on-demand loading. * Evaluation and initialization sagas were modularized for better maintainability and performance. * Widget factory and memoization logic were enhanced to allow explicit cache clearing and version tracking. * JavaScript library loading logic was parallelized for faster startup. * Theme application extracted into a dedicated component for clarity and reuse. * **Tests** * Expanded and updated widget and evaluation saga test suites to cover asynchronous widget loading, cache management, and first evaluation scenarios. * Added tests verifying widget factory cache behavior and first evaluation integration. * **Chores** * Updated internal dependencies and selectors to track widget configuration version changes, ensuring UI consistency. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7282f64dcf
|
feat: skip license page for cloud billing users (#41102)
## Description This PR enhances the signup success flow to automatically skip the license page when cloud billing is enabled, providing a smoother onboarding experience for cloud users. ## Key Changes ### 🚀 New Features - Added cloud billing detection using `useIsCloudBillingEnabled()` hook - Implemented automatic license page skipping for cloud billing users - Enhanced redirect logic with proper async/await handling ### 🔧 Improvements - Added redirect state management to prevent race conditions - Improved error handling in redirect flow with try-catch blocks - Extracted redirect conditions into `shouldAutoRedirect` variable for better readability - Added redirect protection to prevent multiple simultaneous redirects ### 🛠️ Technical Details - Added `isMultiOrgEnabled` flag to signup redirect parameters - Made `redirectUsingQueryParam` and `onGetStarted` functions async - Implemented `isRedirecting` state to track redirect status - Added proper dependency management in useEffect and useCallback hooks ## Impact - **Cloud billing users** will now bypass the license page automatically - **Improved UX** with more robust redirect handling and loading states - **Better performance** by preventing unnecessary redirect attempts - **Enhanced reliability** with proper error handling and state management ## Automation /ok-to-test tags="@tag.Sanity, @tag.Authentication, @tag.LicenseAndBilling" ### 🔍 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/16167808138> > Commit: ab4247c9e01d23159f07451f3014f76fa313134e > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16167808138&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity, @tag.Authentication, @tag.LicenseAndBilling` > Spec: > <hr>Wed, 09 Jul 2025 12:00: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 * **New Features** * Improved signup success experience with smarter automatic redirection based on user status and organization settings. * Added a loading spinner during redirection for better user feedback. * **Bug Fixes** * Prevented multiple redirects from occurring at the same time. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
d34336e578
|
feat: add multi-org support to signup redirect helpers (#41099)
## Description Added `isMultiOrgEnabled` property to the `RedirectUserAfterSignupProps` interface to support multi-organization functionality in the signup redirect flow. ## Changes - Added optional `isMultiOrgEnabled?: boolean` property to `RedirectUserAfterSignupProps` interface in `app/client/src/ce/utils/signupHelpers.ts` ## 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/16159330322> > Commit: f3e264df4248cfdd3d4b8e766ecbdef0f11b4c78 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16159330322&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Wed, 09 Jul 2025 03:53:42 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No |
||
|
|
5bc92d0f74
|
fix: Adding an additional check to show correct cyclic dependency errors in the Reactive flow (#41090)
## Description Adding an additional check to show correct cyclic dependency errors in the Reactive flow Fixes [#41070](https://github.com/appsmithorg/appsmith/issues/41070) ## 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/16123657082> > Commit: 278e7c45f85de419ac53cfb07ec8fbffa4741316 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=16123657082&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 07 Jul 2025 18:39:20 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved error detection for reactive dependency misuse, ensuring errors are only raised when trigger and data paths originate from the same entity. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |