Instead of using `sessionUserService.getCurrentUser()`, or the
`ReactiveSecurityContextHolder.getContext` directly (which we are doing
in several places), this injection will let us get the principal
directly at controller-level.
Yes, it produces the anonymous user, when there's no session.
Why? Less code. More relying on letting Spring do the right thing for
us. 😛
Why aren't we making this change across the board everywhere? Sure,
eventually. Small PR like this helps me get consensus, be less daunting
to review, and most important of all, easy to revert if we notice
something going wrong. In a week or two, if we want to do this, we can
start rolling it out to more places in code.
/ok-to-test tags="@tag.Sanity"
Another attempt at removing QueryDSL. This time, it seems to be working
without very many shenanigans, which throws question on what the hell I
was doing in the previous attempt. 😭
All tests and Sanity Cypress passes on EE at
https://github.com/appsmithorg/appsmith-ee/pull/3805.
## Description
Fetch the actions from database and populate the ids for onPageLoad
actions for the building block.
## Automation
/ok-to-test tags="tags.ImportExport"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8435259797>
> Commit: `8b5e06e3b97ef2795f7664c026c5f67f1d2e8886`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8435259797&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced the import functionality to correctly update onPageLoad
actions with their respective IDs for both action collections and new
actions, ensuring a smoother integration and setup process for users.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Building blocks within the app explorer do not have information about
their spatial requirements in terms of rows and columns.
To address this issue, we propose incorporating metadata into the
template schema within the CS platform. This metadata will specify the
number of rows and columns each building block needs to occupy on the
main canvas, enabling smoother handling during drag-and-drop operations
of the blocks.
Fixes https://github.com/appsmithorg/appsmith/issues/32051
## Automation
/ok-to-test tags="tags.Templates"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8435206653>
> Commit: `a89f7950bca57c68b0b3caea9fbd4639cf915a92`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8435206653&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced grid row and column size customization options for
application templates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Fixes https://github.com/appsmithorg/appsmith/issues/32045
## Automation
/ok-to-test tags="@tag.Datasource"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8432564141>
> Commit: `120b0d79d5c4139a92bba228bdcb476cf1f7710c`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8432564141&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Updated information text related to using Prepared Statements in
queries, emphasizing the prevention of SQL injections and highlighting
limitations on dynamic bindings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Two things happening in this PR.
1. We're removing QueryDSL.
2. We're adding [Errorprone](http://errorprone.info/).
Why both together? Because I can't get the build to work, if I remove
QueryDSL, and not add any other annotation processor. Lombok is refusing
to do its thing, unless there is at least one other annotation
processor, which QueryDSL was filling in for. I wanted to add Errorprone
anyway in a separate task, so didn't investigate further and just added
it here.
But adding Errorprone is not the idea for now. So all lint rules are
disable, and it has no affect on build time either. We'll slowly roll
out some of the checks and lint rules in the coming weeks.
## Description
> [!TIP]
> Update the `generateActionCollectionViewDTO` to take into account the
`viewMode`.
Fixes https://github.com/appsmithorg/appsmith/issues/31887
## Automation
/ok-to-test tags="@tag.Sanity @tag.JS"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!WARNING]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8326337566>
> Commit: `f2c67c2c3153c5240891be6216db174bcd22c5c1`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8326337566&attempt=2"
target="_blank">Click here!</a>
> It seems like **no tests ran** 😔. We are not able to recognize it,
please check workflow <a
href="https://github.com/appsmithorg/appsmith/actions/runs/8326337566"
target="_blank">here.</a>
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced the application's ability to switch between published and
unpublished collections based on the view mode, providing a more dynamic
user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
## Description
* Migrate ApplicationSnapshot Repo class to use the bridge API for the
mongo to postgres migration
## Automation
/ok-to-test tags="tag.Visual"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8379807833>
> Commit: `1cfebd4f4d27d2bfd4fff29e182941a39381e999`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8379807833&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Enhanced query capabilities with the addition of new `equal` methods,
allowing for more precise data fetching based on string and integer
values.
- **Refactor**
- Improved data querying in application snapshots by utilizing the new
`equal` method for cleaner and more efficient code.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
* After importing the block into a page, the browser does not have the
updated values on the on page load actions.
* The newly created actions, actionCollections which needs to run after
adding the block to canvas are missing.
* This is because unlike normal flow, here the server fetch the Block
data from DSL and then has to import it and send the widget DSL from the
block to client so that the widgets are visible on the canvas. Hence
adding this to response to make the experience same as other widgets
Fixes#31992
## Automation
/ok-to-test tags="tag.ImportExport"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8379501235>
> Commit: `a6599b14c4027179f79a31b3d6a8e1dad1cc96f0`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8379501235&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new data structure to enhance building block imports,
including widget layouts and onPageLoad actions.
- **Refactor**
- Updated the import functionality to utilize the new data structure for
building blocks, improving the handling of layout data and onPageLoad
actions.
- **Tests**
- Modified unit tests to align with the new data structure for building
block imports, ensuring compatibility and correctness.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Migrate the mongo criteria to bridge class API
## Automation
/ok-to-test tags="tag.ActionCollection"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8373394313>
> Commit: `31db4207be1c94445c7237a6131c43987459adf4`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8373394313&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Enhanced criteria building abstraction in server repository operations
for improved code maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Migrate the mongo criteria to bridge class API
## Automation
/ok-to-test tags="tag.NewAction"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8372699694>
> Commit: `f57eea5e174a3b97b2d2e68d41a0cae87f918596`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8372699694&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Improved query building logic in the server for enhanced performance
and control flow.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Add validation flow for partial import, to avoid user importing the
fully exported app in the partial import.
Fixes#31829
## Automation
/ok-to-test tags="tag.ImportExport"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8371031960>
> Commit: `8a501dd49d3793eade3ef3b425c55714e6720a46`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8371031960&attempt=2"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced import functionality to include a check for importable
resources, improving error handling and user feedback during the import
process.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
> [!TIP]
> Add code comment block about how event tags are generated for
Analytics service.
Fixes [[Task]: Add clarification on Analytics Events, when is resource
type added as a suffix to the analytics
events.](https://github.com/appsmithorg/appsmith/issues/31582)
## 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 -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Enhanced clarity on event tag generation in analytics with detailed
comments, including examples and references.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
## Description
PR to provide more contextual exception when Appsmith exception is
thrown within method marked with `@FeatureFlagged`.
## Automation
/ok-to-test tags="@tag.Sanity"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8339550893>
> Commit: `e5a0be3166e7ede54240c8981683f61e09f506f8`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8339550893&attempt=2"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Improved handling of specific exceptions during method invocations to
directly rethrow known exceptions for clearer error reporting.
- **Bug Fixes**
- Enhanced an error message in the system to provide more detailed
information about encountered issues.
- **Tests**
- Added new tests to verify the correct handling and messaging of
exceptions under different conditions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
> [!TIP]
> Code split the recently used workspaces code to other workspace
children
Fixes [[Task]: Workflows to get sorted based on recently used objects
per user in a
workspace](https://github.com/appsmithorg/appsmith/issues/30841)
## Automation
/ok-to-test tags="@tag.Sanity"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8323719016>
> Commit: `af46466b7d88662d656fcaf8034ccda9dd72f657`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8323719016&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Enhanced tracking for user interactions across applications,
workflows, and packages to improve the user experience.
- **Refactor**
- Updated user data service to support the new tracking feature,
ensuring a more personalized and efficient user interface.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
## Description
Created a pre delete hook to delete datasource files on Appsmith AI
server when datasource is deleted in Appsmith instance.
#### PR fixes following issue(s)
Fixes https://github.com/appsmithorg/appsmith-ee/issues/3617
#### How Has This Been Tested?
- [x] Manual
## Automation
/ok-to-test tags="@tag.Datasource"
## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new method `preDeleteHook` in the `PluginExecutor`
interface to serve as a hook after deleting a datasource.
- Added a new method `disassociateDatasource` in the AI plugin to notify
the AI server about datasource deletion and provide file context if
available.
- **Refactor**
- Enhanced the AI plugin by refactoring methods to use a new
`createAssociateDTO` method for generating `AssociateDTO` instances,
improving code readability and maintainability.
- **Chores**
- Updated the `archiveById` method in DatasourceServiceCEImpl to include
a `flatMap` operation that triggers a `preDeleteHook` method on the
plugin executor before archiving the datasource. Also added a new
private method `findPluginExecutor` for retrieving the plugin executor.
<!-- end of auto-generated comment: release notes by coderabbit.ai
--><!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8338230830>
> Commit: `800915ea99c93663af34d08e8bcf4a14ad1356d0`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8338230830&attempt=2"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
## Description
Removing duplicate status API on opening modal
#### PR fixes following issue(s)
Fixes#31228
## Automation
/ok-to-test tags="@tag.Git"
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Improved the initialization process of Git status during deployment
and merge operations for enhanced performance.
- Optimized logging and code flow in the `getStatus` method for better
monitoring and troubleshooting.
- Introduced elapsed time logging for various operations within the
method.
<!-- end of auto-generated comment: release notes by coderabbit.ai
--><!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8328565497>
> Commit: `b8138d55279aaa943e8d747286663c0d5c71d705`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8328565497&attempt=2"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
---------
Co-authored-by: subrata <subrata@appsmith.com>
Co-authored-by: manish kumar <manish@appsmith.com>
Co-authored-by: manish <manish@manishs-MacBook-Pro.local>
Co-authored-by: sondermanish <sonder.manish@gmail.com>
## Description
Add captcha for the invite user flow.
Fixes https://theappsmith.slack.com/archives/CGBPVEJ5C/p1710134091696379https://github.com/appsmithorg/appsmith/issues/31789
## Automation
/ok-to-test tags="@tag.Workspace"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8321963367>
> Commit: `769030f0a3deb09e256c38cba7d6d30a9a80a379`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8321963367&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Integrated Google reCAPTCHA in the user invitation form to enhance
security during form submissions.
- **Enhancements**
- Improved handling of URL parameters in utility functions for more
robust data processing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
## Description
Ref:
https://theappsmith.slack.com/archives/C040LHZN03V/p1700206435426579
## Background
At the start of the new appsmith server, we register the instanceId with
cloud services by invoking the cloud services api. For some of the
instances, if this register api call didn't go through, the cloud
services db will not have the instanceId.
While connecting to GSheets, we do a check if the request is coming from
a valid registered instance, and if it is not present this api fails.
The appsmith mongo database config collection, keeps a record of whether
this instance was registered or not.
In some scenarios, the appsmith_registered field shows that the instance
is registered but it is not as instanceId is missing in CS, i.e. the
appsmith server has the info that the instance is registered with CS but
the CS db has not registered the instance.
> This PR triggers the re-registration flow to the cloud services if the
instance is not registered.
> When calling the google sheets API to cloud services, if the response
received is 403 FORBIDDEN, it indicates the instance is not registered,
in which scenario we retrigger the registeration flow and call the CS
again.
#### PR fixes following issue(s)
Fixes#28952
#### Media
> DEMO
https://drive.google.com/file/d/1cVluIAQlzxwb7A2bgBBMJ0I4awSV6fKp/view?usp=sharing
#### Type of change
- Bug fix (non-breaking change which fixes an issue)
## Testing
#### How Has This Been Tested?
- [x] Manual
- [ ] JUnit
- [ ] Jest
- [ ] Cypress
## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
## 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 -->
This is to abide by the Databricks standard practice which expects the
user agent tag to be set automatically and shouldnt be configurable by
end user (in this case developers creating datasources on top of
Databricks). The user agent tag would be set to Appsmith.
The point is to prevent unfortunate field name problems like this:
https://github.com/appsmithorg/appsmith/pull/31760/files.
This NodeJS script does a very rudimentary analysis on all Java files,
with a few regular expressions, and finds anomalies. As such, since it's
not very smart, it's quite strict. I intend to make it a little more
strict in the coming days, but it's a start.
It's not hooked into any processes/CI yet, but that will also come in
next. Since it's not very smart, it actually runs quite fast (.8s on
EE).
The script also doesn't exit with a non-zero exit code when it finds a
problem. Also will be solved as part of integrating it into CI.
This PR gets finer control into what fields are allowed in
request-body-only, vs what's allowed in response-body-only. This leaves
the fields to separately controlled regarding what can go into the
database and what can't.
[Slack
thread](https://theappsmith.slack.com/archives/CPQNLFHTN/p1710125307810949).
Migration takes ~24s on release, and ~210s (3.5 mins) on prod.
That makes this a slightly long migration, so I'd like reviewers'
opinion on if this PR's changes are worth dealing with that migration
time.
This change is needed in the Postgres branch. Some of the fields on
this, especially the fact that the `id` field has a persistence-specific
`@Id` annotation, is throwing Hibernate off in weird ways that I didn't
spend much time diving into. Removing `BaseDomain` on `Layout`, was a
much simpler/smaller change than that, and it got Hibernate to behave
again.
These APIs are getting deprecated and are setting up for removal soon.
This PR changes such API uses to ones that aren't deprecated. This is
needed towards upgrading Spring to get rid of a few CVEs on Appsmith
image.
## Description
Handling unexpected errors in trigger requests in Appsmith AI plugin
#### PR fixes following issue(s)
Fixes #
#### Type of change
- Bug fix (non-breaking change which fixes an issue)
#### How Has This Been Tested?
- [x] Manual
## Automation
/ok-to-test tags="@tag.Datasource"
## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#speedbreakers-)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans#areas-of-interest-)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved error handling for file uploading and listing to enhance
stability and user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai
--><!-- This is an auto-generated comment: Cypress test results -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8245477758>
> Commit: `8a36d1b0216f86c18ebee541fbad2fec9e66dfb9`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8245477758&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
<!-- end of auto-generated comment: Cypress test results -->