5d213dddc6
3891 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
3f9b1394c7
|
chore: reference lifecycle (#38174)
## Description Fixes #37451, #37455, #37448 > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.Git" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!IMPORTANT] > 🟣 🟣 🟣 Your tests are running. > Tests running at: <https://github.com/appsmithorg/appsmith/actions/runs/12370910561> > Commit: 03a3843d131e4f5d819ede06212ba6300fab99c3 > Workflow: `PR Automation test suite` > Tags: `@tag.Git` > Spec: `` > <hr>Tue, 17 Dec 2024 10:18:10 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced new methods for handling Git references and statuses. - Added functionality to list branches and references, including options for remote checks. - New class `GitRefDTO` created to represent Git references. - New enumeration `RefType` defined to categorize reference types. - Enhanced Git operations with methods for checking out references and creating new branches. - **Bug Fixes** - Updated error handling and logging in Git status retrieval. - **Chores** - Deprecated the `ORGANIZATION_ID` constant and introduced `REF_NAME`. - Updated import statements for `RefType` across multiple classes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
979acc9640
|
chore: added status changes (#38170)
## Description - Central Git status implementation Fixes #37441 > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.Git" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/12367777643> > Commit: 73a48ae397ebd37ad68b96f88aeb9a9952cea98f > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12367777643&attempt=3&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: @tag.Git > Spec: > The following are new failures, please fix them before merging the PR: <ol> > <li>cypress/e2e/Sanity/Datasources/RestApiOAuth2Validation_spec.ts</ol> > <a href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master" target="_blank">List of identified flaky tests</a>. > <hr>Tue, 17 Dec 2024 07:58:26 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new class to track the status of local Git repositories. - Added methods to retrieve Git status, including comparisons with remote repositories. - Enhanced Git service functionality with improved status management and error handling. - **Bug Fixes** - Improved file lock management during remote fetch operations. - **Documentation** - Added TODO comments for method naming improvements. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
a3e99674b7
|
test: CGS commit and detach negative tests (#38173)
## Description
> [!TIP]
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._
Fixes #`Issue Number`
_or_
Fixes `Issue URL`
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags=""
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!WARNING]
> Tests have not run on the HEAD
c7743a7cabae1599061cbc3ac8226b86c54b5f6e yet
> <hr>Mon, 16 Dec 2024 07:21: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
- **New Features**
- Introduced unit tests for Git commit functionality, covering scenarios
such as empty commit messages and invalid configurations.
- Added unit tests for Git detach functionality, validating error
handling and permission checks.
- **Tests**
- New test classes created to enhance testing coverage for Git
operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
f08dd29300
|
chore: refactor new page crud repo methods (#38169)
## Description As part of transaction support in PG, we are moving from using the jpa methods for database operations. This PR is refactoring the code to use custom repository class for NewPageRepository from the default CrudRepository. ## Automation /ok-to-test tags="@tag.ImportExport" ### 🔍 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/12329409662> > Commit: d8ff386a0c54ae00c4abc51ec6012e4c220bcba6 > Workflow: `PR Automation test suite` > Tags: `@tag.ImportExport` > Spec: `` > <hr>Sat, 14 Dec 2024 11:17: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 - **New Features** - Introduced methods to retrieve pages by application ID and count non-deleted pages. - **Bug Fixes** - Removed outdated methods from the `NewPageRepositoryCE` interface to streamline functionality. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
813279bfc2
|
chore: Added changes for discard (#38152)
## Description - Added implementation for discard Fixes #37438 ## Automation /ok-to-test tags="@tag.Git" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/12314835405> > Commit: 0db248a0c8f5b83fc2a33f574680ab59de51c52d > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12314835405&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Git` > Spec: > <hr>Fri, 13 Dec 2024 12:18:45 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 method to discard changes associated with a specified branched artifact. - Added functionality to recreate artifact JSON from the last commit. - **Bug Fixes** - Enhanced handling of lock requirements in Git operations, allowing for null values. - **Documentation** - Updated method signatures and added descriptions for new functionalities. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
1f2a4aae45
|
chore: refactor the crud method to custom repo class (#38137)
## Description As part of transaction support in PG, we are moving from using the jpa methods for database operations. This PR is refactoring the code to use custom repository class for DatasourceRepository from the default CrudRepository. ## Automation /ok-to-test tags="@tag.ImportExport" ### 🔍 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/12304558211> > Commit: d85d3ae9d9ca95a454b1f43f159e45b7643eea60 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12304558211&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.ImportExport` > Spec: > <hr>Thu, 12 Dec 2024 21:15:06 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new method to retrieve action collections by application ID without requiring additional parameters. - **Bug Fixes** - Deprecated the previous method for fetching action collections that required more parameters, streamlining the querying process. - **Documentation** - Updated method signatures to reflect the new querying capabilities. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
5235304687
|
chore: refactor crud repository methods (#38144)
## Description As part of transaction support in PG, we are moving from using the jpa methods for database operations. This PR is refactoring the code to use custom repository class for DatasourceStorageStructureRepository from the default CrudRepository. ## Automation /ok-to-test tags="@tag.Datasource" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/12310505479> > Commit: f2268094b095c52557664da223936306d1bf5d48 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12310505479&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Datasource` > Spec: > <hr>Fri, 13 Dec 2024 07:34: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** - Introduced a method to retrieve `DatasourceStorageStructure` based on datasource and environment identifiers. - **Bug Fixes** - Simplified the structure of the `DatasourceStorageStructureRepositoryCE` interface by removing an outdated method. - **Documentation** - Added `@Repository` annotation to the `DatasourceStorageStructureRepositoryCE` interface to indicate its role as a Spring Data repository. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
88ec7c7c50
|
fix: gsheets all sheets option enabled behind a feature flag (#37942)
## Description This PR adds back all sheets option which had been removed in PR: https://github.com/appsmithorg/appsmith/pull/36125 Fixes #38002 _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.Datasource, @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/12311024852> > Commit: e177b648fd593b8ccc8af88c6d90c3958d7c9752 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12311024852&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Datasource, @tag.Widget` > Spec: > <hr>Fri, 13 Dec 2024 08:27:08 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added new options for Google Sheets permissions, enhancing user selection capabilities. - Introduced a feature flag to control the visibility of new Google Sheets options. - **Bug Fixes** - Improved handling of feature flags in the datasource section rendering, ensuring correct visibility based on flags. - **Documentation** - Updated test specifications for Google Sheets datasource to include new dropdown options. - **Chores** - Enhanced the logic for setting default values in the RadioButtonControl component. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: “sneha122” <“sneha@appsmith.com”> Co-authored-by: Alex Golovanov <alex@appsmith.com> |
||
|
|
4ea5021e88
|
chore: refactor crud to custom repository (#38134)
## Description As part of transaction support in PG, we are moving from using the jpa methods for database operations. This PR is refactoring the code to use custom repository class for `ApplicationRepository` from the default CrudRepository. ## Automation /ok-to-test tags="@tag.ImportExport" ### 🔍 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/12298562052> > Commit: 72d6d37f714494da6c658b1b37ff898c2ace0f57 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12298562052&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.ImportExport` > Spec: > <hr>Thu, 12 Dec 2024 15:00:11 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 new methods for retrieving applications by ID, workspace ID, and cloned application ID. - Added functionality to count applications by workspace ID and deletion status. - Enhanced export options for applications. - **Bug Fixes** - Simplified access to applications by removing permission requirements in certain methods. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
af32283003
|
test: CGS connect negative tests (#38120)
## Description
> [!TIP]
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._
Fixes #`Issue Number`
_or_
Fixes `Issue URL`
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags=""
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced error handling for Git operations, providing more detailed
feedback during failures.
- Added unit tests for connecting artifacts to Git repositories,
covering various error scenarios and permissions.
- **Bug Fixes**
- Improved error reporting for Git operations to include specific error
messages.
- **Tests**
- Introduced new test methods for validating action executions and
layout updates.
- Expanded coverage for error handling related to dynamic bindings and
action execution logic.
- **Chores**
- Clean-up logic added to maintain test state.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
8e30a389e4
|
fix: conditionally set FqN name for partial import (#37694)
## Description The fullyQulifiedName aka path for used for js objects was set to actions as well during the partial import. This was causing the diff in actual name and fullyQualifiedName when the name is edited in UI. Hence few of the actions were failing in view mode. Fixes https://github.com/appsmithorg/appsmith/issues/33651 ## Automation /ok-to-test tags="@tag.ImportExport, @tag.Git" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/12290147226> > Commit: e60ca39ba2fdc5f19976ea3cbfc47a1b89a75a3f > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12290147226&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.ImportExport, @tag.Git` > Spec: > <hr>Thu, 12 Dec 2024 05:52: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 - **New Features** - Improved action refactoring functionality, ensuring consistent naming conventions across different plugin types. - Enhanced handling of action references during refactoring, ensuring robust updates and checks for action configurations. - **Bug Fixes** - Fixed issues related to the retrieval and updating of actions based on context, improving overall efficiency. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: sondermanish <sonder.manish@gmail.com> |
||
|
|
d0e1222330
|
chore: Remove unused welcome email option (#38119)
This is unused and very old functionality that we don't need anymore.
## Automation
/test 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
- [x] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced observability features with new configurations for metrics
and tracing.
- **Bug Fixes**
- Removed the welcome email feature toggle, simplifying email
configuration.
- **Chores**
- Updated application properties to reflect changes in email handling
and observability settings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
493dba0690
|
fix: add check to avoid NPE when binding value is null (#38104)
## Description Slack thread: https://theappsmith.slack.com/archives/C04GRCN4CS3/p1733907474929399 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/12277298947> > Commit: 71ba98bf4e5028cd1e51615c8a998416a5f91487 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12277298947&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Wed, 11 Dec 2024 15:39:23 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 error handling for dynamic bindings by validating empty or null values. - **Bug Fixes** - Improved test coverage for handling null binding values in dynamic bindings. - **Tests** - Added a new test for verifying behavior with null binding values. - Updated existing tests to ensure they accurately reflect the expected outcomes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6e2195c3cc
|
fix: use explicit jackson core databind dependency and exclude it from jjwt-jackson (#38064)
## Description > Exclude the Jackson Databind dependency from the `jjwt-jackson` and provide it explicitly from the integrated pom.xml. Fixes https://github.com/appsmithorg/appsmith/issues/38070 ## 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/12253612649> > Commit: ec6cad8ae8d9a843cf43c9ed80f8c6aebaea515d > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12253612649&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Tue, 10 Dec 2024 10:32:34 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 dependency for `jackson-databind` to enhance data handling capabilities. - **Bug Fixes** - Excluded conflicting artifacts from the `jjwt-jackson` dependency to resolve potential issues. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com> |
||
|
|
49bed912a2
|
chore: fetch remote reference in local (#38009)
## Description
- Added fetch remote CGS Impl
Fixes #
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!WARNING]
> Tests have not run on the HEAD
d964d59e0347f1ad8592edbdf3158818c7f26a17 yet
> <hr>Mon, 09 Dec 2024 07:03: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
## Release Notes
- **New Features**
- Introduced new methods for fetching remote changes in various Git
services, enhancing synchronization capabilities.
- Added new fields for internal metadata management.
- Implemented user session management improvements for better handling
of user-related data.
- Added analytics tracking for unit execution time to improve
performance insights.
- **Bug Fixes**
- Enhanced error handling in new fetch methods to ensure robustness.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
26b05343b4
|
chore: Updating styles and adding docs link for REST API plugin for better UI/UX (#37941)
## Description - Adding docs link for REST API plugin - Updating styles for JS function popover when the name is too long - Updating styles for response pane - Removing edit configuration button next to URL for an API, and adding the datasource tab for API editor as well for a saved API. Also, adding a new icon button in schema tab (now datasource tab) for editing DS configuration. Fixes [#37925](https://github.com/appsmithorg/appsmith/issues/37925) Fixes [#37928](https://github.com/appsmithorg/appsmith/issues/37928) Fixes [#37926](https://github.com/appsmithorg/appsmith/issues/37926) Fixes [#37927](https://github.com/appsmithorg/appsmith/issues/37927) ## Automation /ok-to-test tags="@tag.Datasource, @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/12234851157> > Commit: 925369c4282e6c2c408283be416ffc0f50608e4c > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12234851157&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Datasource, @tag.IDE` > Spec: > <hr>Mon, 09 Dec 2024 12:28:22 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 ## Release Notes - **New Features** - Introduced a new `Datasource` component, enhancing the management of datasource configurations. - Added a new icon, `DatasourceConfigIcon`, to improve visual representation. - Implemented a new `DatasourceInfo` component for displaying datasource details and editing options. - Added a new `DatasourceSelector` component to streamline datasource selection based on plugin context. - **Improvements** - Updated default tab selection logic to prioritize the `Datasource` tab. - Enhanced styling for the `StatusBar` and `StyledSwitchLabel` components for better UI consistency. - Added new access-related messages to the `StatusDisplay` component. - Refined rendering logic for the `StoreAsDatasource` component to improve user interaction. - **Bug Fixes** - Fixed rendering logic for the debugger tabs to ensure accurate display based on user interactions. - Streamlined test logic for the "Edit Datasource" button functionality. - **Documentation** - Updated constant messages for improved clarity and user guidance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Trisha Anand <trisha@appsmith.com> Co-authored-by: Hetu Nandu <hetu@appsmith.com> |
||
|
|
71841017cd
|
fix: Only updating the required fields in User while generating usage pulse to avoid overwriting default fields. (#38030)
… ## Description > [!TIP] > _Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team)._ > > _Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR._ Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /test all ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/12229443145> > Commit: 9f3eebbb4b55da337e6bcb3d80c1bd8c6fbf8e96 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12229443145&attempt=4" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Mon, 09 Dec 2024 08:27:39 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes - **New Features** - Introduced methods to update user records directly by ID, enhancing user management capabilities. - Added functionality to update user information without permission checks for administrative purposes. - **Bug Fixes** - Improved error handling for user updates, ensuring robustness in user management operations. - **Documentation** - Updated documentation to reflect new methods and their functionalities in user services. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
8991abb436
|
chore: refactor execute query in Appsmith AI Plugin (#38013)
## Description > Basic refactor to accommodate changes in Appsmith EE repository Fixes https://github.com/appsmithorg/appsmith/issues/38020 ## 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/12230086087> > Commit: 9e684a1a2ee071e334ce34793aa4474d875d66c0 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12230086087&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Mon, 09 Dec 2024 06:52:45 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** - Improved execution handling for AI server service queries, enhancing error management and response clarity. - Introduced new methods for streamlined execution and error handling. - **Bug Fixes** - Enhanced error handling for file upload and listing operations, ensuring appropriate responses in case of errors or no files available. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com> |
||
|
|
6d41e77b1e
|
chore: Skip unnecessary RTS calls to optimise performance (#37949)
## Description Motivation came from this [PoC](https://www.notion.so/appsmith/Evaluating-Performance-Bottlenecks-in-Pull-Based-Upgrades-Challenges-with-New-Relic-Telemetry-14bfe271b0e28063b9fdc08515ab3014) Fixes https://github.com/appsmithorg/appsmith/issues/37948 ## 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/12181005719> > Commit: d1f53e20d460cdf90bed3eef5f0552b7d871c197 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12181005719&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Thu, 05 Dec 2024 15:10:54 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **Bug Fixes** - Improved error handling in the binding refactoring process to ensure smoother operation. - **Refactor** - Enhanced efficiency of the binding refactoring method by adding a conditional check to reduce unnecessary server calls. - **Tests** - Introduced a new test suite for the binding refactoring method, validating various scenarios to ensure correct functionality. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
d03ad6ffe6
|
chore: Add code split for adding package pull status indicator (#37944)
## Description EE Counterpart PR: https://github.com/appsmithorg/appsmith-ee/pull/5667 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/12160425603> > Commit: 7275865be3810c3b993e2adfcd42ec4228ed3c98 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12160425603&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Wed, 04 Dec 2024 14:29:40 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 data fetching capabilities with new methods for better organization and clarity. - Improved handling of application modes with centralized logic. - **Bug Fixes** - Streamlined error handling and logging during data retrieval processes. - **Refactor** - Restructured existing methods for improved maintainability and extensibility. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
86d22e561c
|
chore: Added spans to health check (#37980)
## Description
> [!TIP]
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._
Fixes #`Issue Number`
_or_
Fixes `Issue URL`
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags=""
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced improved health check functionality for Redis and MongoDB,
enhancing observability with specific health metrics.
- Added constants for health monitoring, including `HEALTH`,
`MONGO_HEALTH`, and `REDIS_HEALTH`.
- **Bug Fixes**
- Enhanced error handling for health checks, ensuring consistent logging
and mapping of timeout exceptions.
- **Refactor**
- Updated constructor signatures to accommodate new dependencies for
better service initialization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
a64c16d98a
|
chore: git detach (#37934)
## 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 #37439 ## Automation /ok-to-test tags="@tag.Git" ## 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 methods for committing artifacts and managing Git operations, including `commitArtifact`, `detachRemote`, and `publishArtifactPostCommit`. - Added functionality to list branches and check repository privacy. - Enhanced error handling for Git operations, improving reliability during commits and pushes. - **Bug Fixes** - Updated parameter naming for consistency across methods, enhancing clarity. - **Documentation** - Improved JavaDoc comments for better understanding of method purposes and parameters. <!-- 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/12158276745> > Commit: f058fbe37f866ecee2cfb8fde30e4d4b62e2fd7f > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12158276745&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Git` > Spec: > <hr>Wed, 04 Dec 2024 11:42:39 UTC <!-- end of auto-generated comment: Cypress test results --> |
||
|
|
1f07be34fd
|
fix: appsmith ai app git import issue fixed (#37921)
## Description This PR fixes the issue when trying to import git connected app which has Appsmith AI plugin and query added. Steps to test the fixes: 1. Create an app and connect it to git 2. Create appsmith ai plugin and add a query 3. Commit all the changes 4. In a new workspace, import this app from git, import should go through successfully Fixes #37833 _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.Datasource" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/12142783624> > Commit: f4c90b129022c328b667bf2e34fe9e635d6d0ce7 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12142783624&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Datasource` > Spec: > <hr>Tue, 03 Dec 2024 17:11:00 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Enhanced null safety checks in the `getFileIds` method to prevent potential `NullPointerExceptions`. - **Tests** - Introduced unit tests for the `FileUtils` class to validate the behavior of the `getFileIds` method under various conditions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: “sneha122” <“sneha@appsmith.com”> |
||
|
|
1078a03b23
|
feat: added commit changes (#37922)
## Description Fixes #37437 ## Automation /ok-to-test tags="@tag.Git" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/12152404326> > Commit: 6dc1f5a35764f8dc602cb1b5a7a18c76be534e6e > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12152404326&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Git` > Spec: > <hr>Wed, 04 Dec 2024 04:58: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 ## Release Notes - **New Features** - Introduced methods for acquiring and releasing Git locks, enhancing the locking mechanism. - Added `commitArtifact` method for committing artifacts in Git operations. - New method `publishArtifactPostCommit` for publishing artifacts after a commit. - **Improvements** - Enhanced error handling and parameter naming consistency across various Git-related services. - **Refactor** - Updated method signatures and added detailed documentation for clarity and maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
a2c5caa819
|
chore: Git resource map conversions (#37920)
## Description > [!TIP] > _Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team)._ > > _Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR._ Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.Git" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!IMPORTANT] > 🟣 🟣 🟣 Your tests are running. > Tests running at: <https://github.com/appsmithorg/appsmith/actions/runs/12145100933> > Commit: c78857b0266e6cfd7be488205544de956e88647e > Workflow: `PR Automation test suite` > Tags: `@tag.Git` > Spec: `` > <hr>Tue, 03 Dec 2024 17:36:22 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 ## Release Notes - **New Features** - Enhanced Git resource handling with the ability to save artifacts to Git repositories. - Introduced new methods for managing modified resources and artifact exchange JSON. - Improved tracking of updated entities during export operations, including custom JavaScript libraries and new pages. - New functionality for handling application artifacts and contexts in Git. - **Bug Fixes** - Refined error handling and control flow in auto-commit and migration processes. - **Documentation** - Updated comments and method signatures for clarity and improved understanding. - **Tests** - Added new test cases to validate the conversion processes and resource comparisons. - Enhanced existing tests to utilize new data structures and improve clarity. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
493abeee01
|
chore: removed redundant page DB calls from js action creation flow (#37668)
## Description During action creation flow, page is fetched twice (making two independent DB calls) and taking significant time, this PR makes only 1 page DB call and passes the page object to subsequent calls, instead of fetching page again. Fixes #37567 _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.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/12084468852> > Commit: 2cd1a84463df51aaf7f4b8e897838f4f5edc73e1 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12084468852&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.JS, @tag.Datasource` > Spec: > <hr>Fri, 29 Nov 2024 13:05:45 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 action creation process with the introduction of a new metadata parameter for improved functionality. - Optimized cloning of applications and pages by reducing redundant database calls. - **Bug Fixes** - Ensured proper handling of the `executeOnLoad` property during action creation in cloning contexts. - **Tests** - Updated tests to reflect changes in action creation logic and verify new behaviors, including performance optimizations. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: “sneha122” <“sneha@appsmith.com”> |
||
|
|
e8cb73dc68
|
fix: Reduce RTS calls in the updateLayout flow (#37127)
## Description In this PR, we update the code to send all the bindings to RTS together instead of calling it for each property binding. It was observed that the calls were earlier around 40k for the test application. This change leads to optimisation of performance for - updateLayout call ( when updating anything in the DSL ) - query/API action update - JS action update Fixes #37055 ## Tests on DP Deploy-Preview-URL: https://ce-37127.dp.appsmith.com/ - [x] Multiple widgets with the same bindings impacting the sequence of onPageLoadActions - onPageLoadActions update as expected when - [x] DSL is updated - [x] Query is updated - [x] JS Object is updated EE PR - https://github.com/appsmithorg/appsmith-ee/pull/5642 ## 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/12082854290> > Commit: 07b68d4f0663ff336807223c93feceb1264741df > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12082854290&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Fri, 29 Nov 2024 11:44:31 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** - Enhanced retrieval of possible entity references and their relationships with a new method. - Added new test cases to validate action execution on page load and dynamic binding handling. - **Bug Fixes** - Improved error handling and validation for executable references. - Enhanced assertions to ensure correct execution of layout actions. - **Tests** - Added a test to validate layout actions with multiple widgets referencing the same action. - Refactored existing tests for better readability and maintainability. - Expanded test coverage for layout updates and dynamic binding scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: “sneha122” <“sneha@appsmith.com”> |
||
|
|
731356a0f3
|
feat: Git modularisation backend structure (#37843)
## Description - Added structure for git modularisation Fixes https://github.com/appsmithorg/appsmith/issues/37434 https://github.com/appsmithorg/appsmith/issues/37435 ### No CI is required as the code is not exposed/ connected to existing code ## Automation /ok-to-test tags="@tag.Git" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/12080532772> > Commit: 0c251dda540154f5edf5aaa32f067b12feb46497 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12080532772&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Git` > Spec: > <hr>Fri, 29 Nov 2024 08:03: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 - **New Features** - Introduced Git handling capabilities, including committing changes, managing repositories, and handling branches. - Added support for managing Git user profiles and permissions related to artifact creation. - Enhanced artifact management with new methods for creating and retrieving artifacts based on workspace and repository details. - **Bug Fixes** - Improved error handling and validation for Git operations, ensuring robust interaction with remote repositories. - **Documentation** - Updated documentation to reflect new methods and functionalities related to Git operations and artifact management. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
982283b46c | added slo buckets | ||
|
|
5484c40d11
|
chore: action execution solution test fixed (#37793)
## Description Failing server unit test fixed, This test started failing due to changes in this PR: https://github.com/appsmithorg/appsmith/pull/37776, for some reason it did not show up on this Pr in failed test cases 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.IconButton" ### 🔍 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/12066311357> > Commit: f915b4fd8ac67fcbaaf9b0427ee4cb2296ce4d0e > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12066311357&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.IconButton` > Spec: > <hr>Thu, 28 Nov 2024 09:59:28 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved error handling for stale connections during action execution, allowing the system to recover and continue executing actions after an initial failure. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: “sneha122” <“sneha@appsmith.com”> |
||
|
|
38e3d45fda
|
chore: json to map conversion with test template (#37788)
## Description > [!TIP] > _Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team)._ > > _Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR._ Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.Git" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/12064617641> > Commit: bf8b3bf7c9048b489246989285e0e4ede3386ca7 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12064617641&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Git` > Spec: > <hr>Thu, 28 Nov 2024 08:38:34 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 ## Release Notes - **New Features** - Updated Git resource type to include `CONTEXT_CONFIG`. - Introduced methods to manage artifact-dependent resources and context lists. - Enhanced Git resource management with new actions and collections. - Added new properties and components in the exported application structure, including new data sources, pages, and actions. - **Bug Fixes** - Improved handling of metadata fields in application exports. - **Documentation** - Added unit tests for artifact JSON to Git resource map conversion. - **Chores** - Updated JSON structure for exported applications with new components and properties. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
8d32ee8f22
|
chore: Google sheet shared drive support added behind a flag (#37776)
## Description This PR hides shared drive support for Google Sheets Integration behind a feature flag as we need to do thorough testing for it. The feature flag implementation done in this PR involves passing feature flags from server to google sheets plugin module. This temporary feature flagging solution tech debt can be removed once the testing is done and once we would release this feature to all. **Why feature flags are only available at server module?** Because they have a dependency on UserIdentifierService, SessionUserService, TenantService etc which exists at server module. Supporting feature flags out of the box at plugin module level would require significant efforts to migrate these dependencies. Fixes #37714 _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.Authentication, @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/12063930619> > Commit: 47f08f9903e78e050f18ad304dd736acb61b8b28 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12063930619&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Authentication, @tag.Datasource` > Spec: > <hr>Thu, 28 Nov 2024 07:38:58 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** - Introduced support for Google Sheets shared drive through feature flags. - Added new methods to handle feature flags in plugin execution and triggering processes. - Enhanced action execution and triggering logic to utilize feature flags for dynamic behavior. - **Bug Fixes** - Improved error handling for plugin execution processes. - **Tests** - Integrated `FeatureFlagService` into the testing framework for enhanced test coverage. - Expanded test scenarios to include various response types and error conditions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: “sneha122” <“sneha@appsmith.com”> |
||
|
|
4727b4da99
|
fix: Super user cache eviction when user is added via env variable (#37785) | ||
|
|
381dcaaf8a
|
chore: Include version in all requests (#37551)
We're adding `x-appsmith-version` to every request from the client. If server sees a request with a `x-appsmith-version` that doesn't match its own, it rejects. If the server sees a request _without_ any `x-appsmith-version` header, we don't reject it... for now. On the client, when server responds with the "version mismatch" error, we trigger the "There's a new version, please refresh" toast UI flow. This is a step towards removing our dependency on websockets and client—RTS connection. ## 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/12029721517> > Commit: c4321f7addb2be9c0ca6a7fe64308f13f931a1c8 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12029721517&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Tue, 26 Nov 2024 12:28: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 ## Release Notes - **New Features** - Introduced a custom header for API requests to include application version. - Added specific error handling for 400 Bad Request errors, enhancing user feedback on version mismatches. - **Improvements** - Enhanced error handling for version mismatches, providing clearer error messages. - Simplified version update handling, focusing on logging and user prompts without state management. - Improved default handling for application version configuration to prevent undefined values. - **Chores** - Removed outdated version state management functions to streamline code. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Pawan Kumar <pawan@appsmith.com> |
||
|
|
c9ddd9c765
|
chore: Remove CS URL in client (#37665)
The server should be the source of truth and owner for the current CS URL, and the client having direct access to the CS URL is (almost) an abstraction leak. We're using it on client for one purpose only, to redirect to CS for Google sheets authorization. That's just as well achieved with another redirect via the server. This PR does that redirection and removes access to the CS URL to the client code. Not used anywhere else, and shouldn't be needed. ## Automation /test sanity 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/12029489682> > Commit: 0a1937e7d5d492c7c6a98bde124a157663126ac1 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12029489682&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity, @tag.Datasource` > Spec: > <hr>Tue, 26 Nov 2024 12:21:11 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 ## Release Notes - **New Features** - Enhanced CI workflow with improved error handling and logging. - Added a new authorization redirection endpoint in the SaaS controller. - **Improvements** - Database URL validation step added to CI tests. - Artifact management for test results has been clarified and improved. - Removal of `cloudServicesBaseUrl` from various configurations to streamline cloud service integration. - **Bug Fixes** - Refined logic for rerunning tests based on previous results. These updates contribute to a more robust and efficient testing and configuration environment. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> |
||
|
|
61960edb09
|
chore: Added git resource map types (#37746) | ||
|
|
5cfe143b86
|
fix: Signup from OAuth not being detected correctly (#37697)
Fixes issue where the detection for signup when using OAuth was not being handled correctly. [Slack conversation](https://theappsmith.slack.com/archives/C02K2MZERSL/p1732600773587469?thread_ts=1732554015.110689&cid=C02K2MZERSL). ## Automation /test sanity ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!WARNING] > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/12024883331> > Commit: d53fcdf0451a5911471b05678e03831a0d9a632a > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12024883331&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: @tag.Sanity > Spec: > It seems like **no tests ran** 😔. We are not able to recognize it, please check <a href="https://github.com/appsmithorg/appsmith/actions/runs/12024883331" target="_blank">workflow here</a>. > <hr>Tue, 26 Nov 2024 06:16:02 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 handling of user authentication success, enhancing the flow for email verification and OAuth2 authentication. - **Refactor** - Simplified the logic for determining user sign-up or login status. - Streamlined the method for handling OAuth2 redirects, improving clarity and maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
c55e98ba1e
|
chore: add executeActionDTO as additional parameter to be used when creating query for AppsmithAI plugin queries (#37631)
## Description > Add executeActionDTO as an additional parameter when executing queries for Appsmith AI Plugin Fixes https://github.com/appsmithorg/appsmith/issues/37637 ## 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/11949422399> > Commit: 116c3842f59001837599aab01fb907e1e290cf45 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11949422399&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Thu, 21 Nov 2024 09:04:26 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No --------- Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com> |
||
|
|
d99789c401
|
chore: set datasourceId in executeActionDTO during execution (#37626)
## Description > Set the correct datasourceId to executeActionDTO when an action is being executed. Fixes https://github.com/appsmithorg/appsmith/issues/37627 ## 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/11948824843> > Commit: 458b5c0d90fa138c57ed7f1dd491d985bfe0b5df > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11948824843&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Thu, 21 Nov 2024 08:22:41 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 functionality to set the correct `datasourceId` based on the action's context, improving action execution accuracy. - **Refactor** - Improved code formatting for clarity without altering existing logic. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com> |
||
|
|
f21ec5e36b
|
fix: shared drive support added for google sheets (#37602)
## Description This PR adds support for accessing shared drive files for google sheets integration Fixes #37598 _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.Datasource" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/11934080947> > Commit: ac6eade4ac6df978f8384fadd1df9e5c8191c9fb > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11934080947&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Datasource` > Spec: > <hr>Wed, 20 Nov 2024 13:51:58 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 API requests for Google Sheets and Drive to include items from all drives. - **Bug Fixes** - Improved data retrieval processes by adjusting query parameters for API calls. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: “sneha122” <“sneha@appsmith.com”> |
||
|
|
a5013ebd64
|
fix: Instance admin not updating when email added via env variable (#37568)
Using feature flagged function to evict cache to ensure correct cache line gets evicted depending on the flag ## Description > [!TIP] > _Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team)._ > > _Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR._ Fixes https://github.com/appsmithorg/appsmith/issues/33741 ## Automation /test all ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > 🔴 🔴 🔴 Some tests have failed. > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/11914552417> > Commit: d4aed1f340e907c588f156d83c32e67c1ab4da18 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11914552417&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail" target="_blank">Cypress dashboard</a>. > Tags: @tag.All > Spec: > The following are new failures, please fix them before merging the PR: <ol> > <li>cypress/e2e/Regression/ClientSide/FormLogin/EnableFormLogin_spec.js > <li>cypress/e2e/Regression/ClientSide/Github/EnableGithub_spec.ts</ol> > <a href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master" target="_blank">List of identified flaky tests</a>. > <hr>Tue, 19 Nov 2024 15:04:20 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced migration functionalities for database schema updates and permission management. - Added methods for managing SSL settings for MSSQL datasources and updating Oracle plugin configurations. - Improved query performance with the creation of new indexes. - **Bug Fixes** - Updated permission management for super users and system themes, ensuring proper access. - **Chores** - Minor formatting adjustments and import updates for code clarity. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
ac4c714932
|
chore: Require form data for login endpoint (#37402)
The Login API endpoint isn't checking for the request `Content-Type`, and is attempting to parse the payload as form data (?) irrespective of the incoming content type. So, if we attempt to make a JSON login attempt, like: ``` http -v :8080/api/v1/login username=a@b.com password=dummy ``` <details> <summary>We see the following lengthy useless error on the server:</summary> <pre> [2024-11-15 07:22:12,040] [nioEventLoopGroup-3-8] requestId= userEmail= traceId= spanId= - Can't find user [2024-11-15 07:22:12,042] [boundedElastic-1] requestId= userEmail= traceId= spanId= - In the login failure handler. Cause: Unable to find username: org.springframework.security.core.userdetails.UsernameNotFoundException: Unable to find username: at com.appsmith.server.authentication.handlers.ce.CustomFormLoginServiceCEImpl.findByUsername(CustomFormLoginServiceCEImpl.java:36) Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: Assembly trace from producer [reactor.core.publisher.MonoLift] : reactor.core.publisher.Mono.error(Mono.java:299) com.appsmith.server.authentication.handlers.ce.CustomFormLoginServiceCEImpl.findByUsername(CustomFormLoginServiceCEImpl.java:37) Error has been observed at the following site(s): *__________________________________Mono.error ⇢ at com.appsmith.server.authentication.handlers.ce.CustomFormLoginServiceCEImpl.findByUsername(CustomFormLoginServiceCEImpl.java:37) *__________________________Mono.switchIfEmpty ⇢ at com.appsmith.server.authentication.handlers.ce.CustomFormLoginServiceCEImpl.findByUsername(CustomFormLoginServiceCEImpl.java:37) |_ Mono.onErrorMap ⇢ at com.appsmith.server.authentication.handlers.ce.CustomFormLoginServiceCEImpl.findByUsername(CustomFormLoginServiceCEImpl.java:38) |_ Mono.map ⇢ at com.appsmith.server.authentication.handlers.ce.CustomFormLoginServiceCEImpl.findByUsername(CustomFormLoginServiceCEImpl.java:43) |_ Mono.doOnNext ⇢ at org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:105) |_ Mono.publishOn ⇢ at org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:106) |_ Mono.filter ⇢ at org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:107) |_ Mono.switchIfEmpty ⇢ at org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:108) |_ Mono.flatMap ⇢ at org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:109) |_ Mono.flatMap ⇢ at org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:110) |_ Mono.doOnNext ⇢ at org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:111) |_ Mono.map ⇢ at org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:112) |_ Mono.doOnSuccess ⇢ at org.springframework.security.authentication.ObservationReactiveAuthenticationManager.lambda$authenticate$3(ObservationReactiveAuthenticationManager.java:58) |_ Mono.doOnCancel ⇢ at org.springframework.security.authentication.ObservationReactiveAuthenticationManager.lambda$authenticate$3(ObservationReactiveAuthenticationManager.java:61) |_ Mono.doOnError ⇢ at org.springframework.security.authentication.ObservationReactiveAuthenticationManager.lambda$authenticate$3(ObservationReactiveAuthenticationManager.java:61) *__FluxOnErrorResume$ResumeSubscriber.onError ⇢ at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onError(MDCConfig.java:64) *________________________Mono.deferContextual ⇢ at org.springframework.security.authentication.ObservationReactiveAuthenticationManager.authenticate(ObservationReactiveAuthenticationManager.java:54) *________________________________Mono.flatMap ⇢ at org.springframework.security.web.server.authentication.AuthenticationWebFilter.authenticate(AuthenticationWebFilter.java:122) |_ Mono.switchIfEmpty ⇢ at org.springframework.security.web.server.authentication.AuthenticationWebFilter.authenticate(AuthenticationWebFilter.java:123) |_ Mono.flatMap ⇢ at org.springframework.security.web.server.authentication.AuthenticationWebFilter.authenticate(AuthenticationWebFilter.java:125) |_ Mono.doOnError ⇢ at org.springframework.security.web.server.authentication.AuthenticationWebFilter.authenticate(AuthenticationWebFilter.java:127) *________________________________Mono.flatMap ⇢ at org.springframework.security.web.server.authentication.AuthenticationWebFilter.filter(AuthenticationWebFilter.java:115) Original Stack Trace: at com.appsmith.server.authentication.handlers.ce.CustomFormLoginServiceCEImpl.findByUsername(CustomFormLoginServiceCEImpl.java:36) at org.springframework.security.authentication.UserDetailsRepositoryReactiveAuthenticationManager.retrieveUser(UserDetailsRepositoryReactiveAuthenticationManager.java:45) at org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:104) at org.springframework.security.authentication.ObservationReactiveAuthenticationManager.lambda$authenticate$3(ObservationReactiveAuthenticationManager.java:58) at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:47) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1865) at reactor.core.publisher.MonoCacheTime.subscribeOrReturn(MonoCacheTime.java:151) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:63) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:210) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmit(FluxFlatMap.java:547) at reactor.core.publisher.FluxFlatMap$FlatMapInner.onNext(FluxFlatMap.java:988) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.FluxFlatMap$FlatMapInner.onSubscribe(FluxFlatMap.java:968) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) at reactor.core.publisher.Mono.subscribe(Mono.java:4576) at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:430) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:210) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:373) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2097) at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onComplete(FluxDefaultIfEmpty.java:134) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147) at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onComplete(FluxHandleFuseable.java:239) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1866) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.signalCached(MonoCacheTime.java:337) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onNext(MonoCacheTime.java:354) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onSubscribe(MonoCacheTime.java:293) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoCacheTime.subscribeOrReturn(MonoCacheTime.java:143) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:63) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.Mono.subscribe(Mono.java:4576) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.Mono.subscribe(Mono.java:4576) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onComplete(MonoFlatMap.java:189) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147) at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onComplete(FluxFilterFuseable.java:171) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147) at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2573) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.Mono.subscribe(Mono.java:4576) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.Mono.subscribe(Mono.java:4576) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:155) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245) at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2097) at reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:118) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147) at reactor.core.publisher.FluxIterable$IterableSubscription.fastPath(FluxIterable.java:424) at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:291) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.Operators$BaseFluxToMonoOperator.request(Operators.java:2067) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.MonoFlatMap$FlatMapInner.onSubscribe(MonoFlatMap.java:291) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.Operators$BaseFluxToMonoOperator.onSubscribe(Operators.java:2051) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxFilterWhen$FluxFilterWhenSubscriber.drain(FluxFilterWhen.java:302) at reactor.core.publisher.FluxFilterWhen$FluxFilterWhenSubscriber.onNext(FluxFilterWhen.java:140) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335) at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152) at reactor.core.publisher.FluxFilterWhen$FluxFilterWhenSubscriber.onSubscribe(FluxFilterWhen.java:200) at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.Mono.subscribe(Mono.java:4576) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.Mono.subscribe(Mono.java:4576) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76) at reactor.netty.http.server.HttpServer$HttpServerHandle.onStateChange(HttpServer.java:1176) at reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:715) at reactor.netty.transport.ServerTransport$ChildObserver.onStateChange(ServerTransport.java:481) at reactor.netty.http.server.HttpServerOperations.handleDefaultHttpRequest(HttpServerOperations.java:829) at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:774) at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:115) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:262) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:333) at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:455) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1407) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:833) </pre> </details> In this PR, we're changing the matcher for the login endpoint to check for the `Content-Type` explicitly. With this, the server doesn't log any error, and responds with a `401 Unauthorized`. ## Automation /test sanity 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/11853152657> > Commit: 3a4620da8af82b727e2fd91756318c5aa3cf9910 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11853152657&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity, @tag.Authentication` > Spec: > <hr>Fri, 15 Nov 2024 09:25:59 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 authentication mechanism for the login process, improving request validation. - **Bug Fixes** - Refined matching logic for authentication requests to ensure better security compliance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7612e4f14d
|
chore: perf optimisation for js action creation phase 1 (#37391)
## Description [During analysis of action creation flow metrics](https://github.com/appsmithorg/appsmith/issues/37151#issuecomment-2468354426), we observed that RefactoringService.isNameAllowed is taking 80-90% of the total JS object action time. This PR optimises this part in a way that for any jsobject action, instead of fetching all actions from DB and comparing it to see if current action name is allowed, we simply do that check in memory where for current action collection, if any action names are being duplicated, we throw the error. We could make this change easily because recently we merged a [PR](https://github.com/appsmithorg/appsmith/pull/36958) which removes the actions with duplicate name from client payload whenever Js object update API is called, with this change, we can guarantee that for any JS object update call, all actions inside it will always have unique names. This PR makes the similar check on backend where if any action has duplicate name within collection, we throw an error and don't store that action in the DB. We may need to consider following test case in both before and after implementation of this approach. This can be covered during PR testing: What happens if the client sends multiple requests to add a new function in an existing collection. That is, as a result of the debounce logic, if the server receives 2 consecutive requests with a populated collection but without actionId associated to either request. Relevant thread: https://theappsmith.slack.com/archives/C040LHZN03V/p1731571364933089 Fixes #37365 _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/11911295324> > Commit: d5c75edd301e75b2432b642f366bc80c6fea6b89 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11911295324&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.JS` > Spec: > <hr>Tue, 19 Nov 2024 11:14:16 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 validation to prevent the creation of actions with duplicate names in action collections. - Simplified handling of JavaScript actions, allowing them to bypass certain validation checks. - **Bug Fixes** - Improved error handling during action updates and collection modifications to ensure better logging and management of failures. - **Tests** - Added tests to verify that duplicate action names trigger appropriate error messages, enhancing the robustness of the action collection feature. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: “sneha122” <“sneha@appsmith.com”> |
||
|
|
7f2c4c6dd2
|
chore(deps): Remove commons-io from /app/server/appsmith-server (#37403)
Not needed as it comes from `appsmith-interfaces` as a transitive dependency anyway. [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/appsmithorg/appsmith/network/alerts). </details> /test sanity <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/11853130017> > Commit: b103f148fe25d1ca33aea6bbc635c392a0c1acfd > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11853130017&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Fri, 15 Nov 2024 09:24:19 UTC <!-- end of auto-generated comment: Cypress test results --> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com> |
||
|
|
6883e496e5
|
fix: added edge case fixes for consolidated api and publishing (#37399)
## Description Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.Git" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/11851164290> > Commit: 3a76919cab6a000ae1d2dcac76cbaf6afee33aa7 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11851164290&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Git` > Spec: > <hr>Fri, 15 Nov 2024 07:01: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 - **New Features** - Enhanced handling of Git operations, including improved branch management and artifact importation. - Expanded analytics integration for tracking changes in branch protection settings. - **Bug Fixes** - Improved error handling for various Git operations and application/page retrieval scenarios. - **Tests** - Added new test cases for Git-related functionalities and improved error handling in tests. - Enhanced test coverage for the `getConsolidatedInfoForPageLoad` method, particularly for feature branches. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
a601acf173
|
chore: Fix string equality checks (#37397)
As well as fixed some warnings with unused function parameters and unneeded initialization values. /test sanity 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/11850858814> > Commit: 8e14037b4e72a4549ee3910113d4608623d71de3 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11850858814&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity, @tag.Authentication` > Spec: > <hr>Fri, 15 Nov 2024 06:06:57 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved handling of user email verification during authentication processes. - Enhanced robustness of string comparisons for signup and login methods. - **Bug Fixes** - Refined logic for determining email verification requirements, ensuring accurate updates to user properties. - **Refactor** - Simplified method signatures and internal logic for better clarity and maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
1deab1fe06
|
chore(deps): bump commons-io:commons-io from 2.13.0 to 2.17.0 in /app/server/appsmith-interfaces (#36683)
Bumps commons-io:commons-io from 2.13.0 to 2.14.0. [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/appsmithorg/appsmith/network/alerts). </details> /test all <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/11850006699> > Commit: eb9fb2a2bd2b43e3286dd1a3f1471a874922cfbf > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11850006699&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Fri, 15 Nov 2024 05:10:24 UTC <!-- end of auto-generated comment: Cypress test results --> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com> |
||
|
|
646f29fd5d
|
chore: Remove unused JSON signup API handler (#37387)
This PR removes the JSON-version of signup API handler, and its unused references. We use the other Form-body-version of this API, but not this. So this isn't needed. Fewer things there are, fewer there are to protect. ## Automation /test sanity 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/11838832000> > Commit: f27d2c9fa7d9b154eb6649b1f9885fd54d1921b5 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11838832000&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity, @tag.Authentication` > Spec: > <hr>Thu, 14 Nov 2024 14:49:54 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** - Introduced new Cypress commands for enhanced API interactions and UI validations. - Added a method for handling user creation through form-encoded data. - **Bug Fixes** - Improved error handling and validation checks in various commands. - **Documentation** - Updated type definitions and submit handler functions for better clarity and maintainability. - **Chores** - Removed unused user management functionalities, streamlining the codebase. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6fc632795b
|
fix: SMTP datasource should work without username and password (#37319)
## Description
### Bug Description
Issue: When configuring an SMTP datasource without a username and
password, the system throws an error: “Invalid authentication
credentials. Please check datasource configuration.”
Expected Behavior: The system should allow SMTP datasource configuration
without requiring authentication credentials, as it is possible to
connect to some SMTP servers without a username or password.
**Steps To Reproduce**
Use any email service for configuring SMTP datasource without setting up
username and password
Create SMTP datasource with host port, keeping username and password
blank
Test the configuration
**Root Cause**
Manual validation in the codebase was enforcing that both username and
password fields are mandatory for SMTP configuration. This validation
prevented the successful configuration of SMTP services that do not
require authentication.
**Solution Details**
_To fix this, the following changes were implemented:
Updated Validation Method (validateDatasource)_
Before: Enforced mandatory username and password validation.
After: Removed the strict validation check for authentication fields,
allowing for configurations without credentials.
```
if (authentication == null || !StringUtils.hasText(authentication.getUsername()) || !StringUtils.hasText(authentication.getPassword())) {
invalids.add(new AppsmithPluginException(AppsmithPluginError.PLUGIN_AUTHENTICATION_ERROR).getMessage());
}
```
_Modified the SMTP Session Creation (datasourceCreate)_
Before: Always initialized the SMTP session with authentication,
assuming credentials were required.
After: Updated the session creation to support both authenticated and
unauthenticated configurations.
```
Properties prop = new Properties();
prop.put("mail.smtp.auth", "false"); // Default to no authentication
if (authentication != null && StringUtils.hasText(authentication.getUsername()) && StringUtils.hasText(authentication.getPassword())) {
prop.put("mail.smtp.auth", "true");
session = Session.getInstance(prop, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
} else {
session = Session.getInstance(prop);
}
```
_Enhanced Testing for Authentication Scenarios (testDatasource)_
Before: Errors were logged if authentication failed, even for servers
where authentication wasn’t required.
After: Introduced a flag to detect if authentication was required based
on the session configuration, and adjusted error handling accordingly.
```
boolean isAuthRequired = "true".equals(connection.getProperty("mail.smtp.auth"));
if (isAuthRequired && transport != null) {
try {
transport.connect();
} catch (AuthenticationFailedException e) {
invalids.add(SMTPErrorMessages.DS_AUTHENTICATION_FAILED_ERROR_MSG);
}
}
```
**Testing and Verification**
**Unit Tests**
Without Authentication:
_Updated testNullAuthentication test case to ensure no errors are
returned when authentication is absent._
```
@Test
public void testNullAuthentication() {
DatasourceConfiguration invalidDatasourceConfiguration = createDatasourceConfiguration();
invalidDatasourceConfiguration.setAuthentication(null);
assertEquals(0, pluginExecutor.validateDatasource(invalidDatasourceConfiguration).size());
}
```
Fixes #37271
## Automation
/ok-to-test tags=""
updated testNullAuthentication() from SmtpPluginTest class
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced SMTP plugin now supports conditional authentication during
session creation.
- Improved error handling for authentication failures, providing clearer
validation results.
- Added support for testing SMTP connections without authentication.
- **Bug Fixes**
- Streamlined validation logic for datasource configurations,
particularly for authentication scenarios.
- **Documentation**
- Updated test methods to clarify expected error messages for invalid
configurations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: muhammed.shanid@zemosolabs.com <muhammed.shanid@zemosolabs.com>
|
||
|
|
6d524c1666
|
chore(deps): bump net.snowflake:snowflake-jdbc from 3.13.29 to 3.20.0 in /app/server/appsmith-plugins/snowflakePlugin (#37175)
Bumps [net.snowflake:snowflake-jdbc](https://github.com/snowflakedb/snowflake-jdbc) from 3.13.29 to 3.20.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/snowflakedb/snowflake-jdbc/releases">net.snowflake:snowflake-jdbc's releases</a>.</em></p> <blockquote> <h2>v3.20.0</h2> <ul> <li>Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <h2>v3.19.1</h2> <ul> <li>Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <h2>v3.19.0</h2> <ul> <li>Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <h2>v3.18.0</h2> <ul> <li>Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <h2>v3.17.0</h2> <ul> <li>Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <h2>v3.16.1</h2> <ul> <li>Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <h2>v3.16.0</h2> <ul> <li>Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <h2>v3.15.1</h2> <ul> <li>Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <h2>v3.15.0</h2> <ul> <li>Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <h2>v3.14.5</h2> <p>Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></p> <h2>Release</h2> <ul> <li>Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <h2>Release</h2> <p>Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></p> <h2>Release</h2> <p>Please Refer to Release Notes at <a href="https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes">https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes</a></p> <h2>Release</h2> <p>Please Refer to Release Notes at <a href="https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes">https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes</a></p> <h2>Release</h2> <ul> <li>Please Refer to Release Notes at <a href="https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes">https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes</a></li> </ul> <h2>Release</h2> <ul> <li>Please Refer to Release Notes at <a href="https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes">https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes</a></li> </ul> <h2>Release</h2> <ul> <li>Please Refer to Release Notes at <a href="https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes">https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/snowflakedb/snowflake-jdbc/blob/master/CHANGELOG.rst">net.snowflake:snowflake-jdbc's changelog</a>.</em></p> <blockquote> <p><strong>JDBC Driver 3.20.0</strong></p> <ul> <li>||Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <p><strong>JDBC Driver 3.19.1</strong></p> <ul> <li>||Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <p><strong>JDBC Driver 3.19.0</strong></p> <ul> <li>||Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <p><strong>JDBC Driver 3.18.0</strong></p> <ul> <li>||Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <p><strong>JDBC Driver 3.17.0</strong></p> <ul> <li>||Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <p><strong>JDBC Driver 3.16.1</strong></p> <ul> <li>||Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <p><strong>JDBC Driver 3.16.0</strong></p> <ul> <li>||Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <p><strong>JDBC Driver 3.15.1</strong></p> <ul> <li>||Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <p><strong>JDBC Driver 3.15.0</strong></p> <ul> <li>||Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <p><strong>JDBC Driver 3.14.5</strong></p> <ul> <li>||Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <p><strong>JDBC Driver 3.14.4</strong></p> <ul> <li>||Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <p><strong>JDBC Driver 3.14.3</strong></p> <ul> <li>||Please Refer to Release Notes at <a href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li> </ul> <p><strong>JDBC Driver 3.14.2</strong></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |