Commit Graph

3125 Commits

Author SHA1 Message Date
Manish Kumar
a36b45de60
chore: complimentary pr for CD migration changes (#35876)
## Description

> CE changes for CD migration on EE pr:
https://github.com/appsmithorg/appsmith-ee/pull/4927

## 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/10599263403>
> Commit: ef94bff3b0d12db1a5003a78ce8ddfeabbb3c87d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10599263403&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Wed, 28 Aug 2024 15:23:46 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 field for tracking the continuous deployment
migration version in application metadata.
- Enhanced Git artifact management with additional metadata for improved
deployment processes.

- **Bug Fixes**
- Resolved issues related to application versioning and deployment
tracking.

- **Refactor**
- Substantial restructuring of the Application class for improved
maintainability and extensibility.
- Simplified structure of GitArtifactMetadata, enhancing functionality
and clarity.
  
- **Tests**
- Expanded equality tests for new entities related to the Application
class, ensuring proper validation of equality logic.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-29 15:01:51 +05:30
sneha122
9da8c4962f
chore: removed sanitise action functionality from actions span (#35884)
## Description
This PR improves performance of actions in consolidated view API by:
1. Removing `sanitiseAction` method that was getting called after
fetching actions from DB
2. Moving the publishedAction filtering to the DB layer

Reasoning:
`sanitiseAction` was added earlier in the
[PR](https://github.com/appsmithorg/appsmith/pull/13263/files) because
of the [issue](https://github.com/appsmithorg/appsmith/issues/11927).
The issue mentioned for some reason JSObject actions were getting
corrupted and causing it to lose pluginId and pluginType values, since
we did not know as to why the JsObject actions were going in bad state,
we added a bandaid fix which would add pluginId and pluginType if these
actions did not have them.

RCA for above issue can be found here:
https://www.notion.so/appsmith/Data-inconsistencies-w-r-t-JS-Objects-c58f124fe20e4415b5c0e180b423b0be

For our consolidated view api -> actions span, we do not need JSObject
actions, we only need DB actions and APIs. Since we are not fetching
JSObject actions from DB, sanitisation won't be required.

As for the second part, where filtering is moved to DB layer. Earlier we
used to fetch all actions from DB and on server we would check if the
viewMode is true, then filter out published actions. This filtering has
now been moved to DB layer to avoid any further operations on service
layer.


Fixes #35857 
_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/10573445222>
> Commit: 2e4f36d7d6cd829584ed41b279a0399810a59228
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10573445222&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource`
> Spec:
> <hr>Tue, 27 Aug 2024 10:26:49 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit


- **New Features**
- Enhanced action retrieval to focus exclusively on published actions,
improving clarity and performance.

- **Bug Fixes**
- Removed unnecessary filtering conditions, broadening the set of
actions available in view mode.

- **Refactor**
- Renamed methods for better alignment with their purpose, specifically
around fetching published actions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-08-27 19:26:03 +05:30
sneha122
9b40629ce9
fix: moved js filter to mongoDB (#35826)
## Description
This PR adds an improvement to the actions part of the consolidated view
API, where by it moves the filtering that we do to check if the action
of pluginType JSObject has been moved to MongoDB. This way the mongoDB
query that we do contains pluginTypes to include and we won't have to do
additional filtering at the code layer, there by saving some time that
is spend on further filtering and sanitising each action.

Here are some of the observations for before and after making this
change:

### Case 1:
Before (Total consolidated view api duration ~ 1.72s)
Actions span totally took ~ 1.12s
<img width="1171" alt="Screenshot 2024-08-22 at 9 26 15 PM"
src="https://github.com/user-attachments/assets/2dc69e4f-619a-4b86-9e9b-f1aede63d868">

After (Total consolidated view api duration ~ 1.72s)
Actions span totally took ~ 566ms
<img width="1180" alt="Screenshot 2024-08-22 at 9 33 16 PM"
src="https://github.com/user-attachments/assets/2947da7e-34ae-4933-9adf-7f7433c89c4e">


### Case 2:
Before (Total consolidated view api duration ~ 2.66s)
Actions span totally took ~ 1.67s
<img width="1170" alt="Screenshot 2024-08-22 at 9 34 05 PM"
src="https://github.com/user-attachments/assets/27b046d9-c066-4282-92c3-d1053b820d33">


After (Total consolidated view api duration ~ 2.88s)
Actions span totally took ~ 935ms
<img width="1180" alt="Screenshot 2024-08-22 at 9 34 28 PM"
src="https://github.com/user-attachments/assets/6bf3c47a-27a3-497d-b4ee-debdd5e6f25e">

Note: These numbers are obtained by testing the app with many actions
and js objects [Xolair App]

Fixes #`Issue Number`  
_or_  
Fixes [`Issue
URL`](https://github.com/appsmithorg/appsmith/issues/35815)
> [!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/10522148136>
> Commit: f0cf9b23c1ca80eb652c5e3a5e3502fdb4dcab59
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10522148136&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource`
> Spec:
> <hr>Fri, 23 Aug 2024 08:34: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**
- Introduced enhanced action retrieval capabilities based on specific
plugin types, allowing for more tailored responses.
- Added new methods to filter actions by application ID and plugin type,
improving granularity in action queries.

- **Bug Fixes**
- Updated existing action retrieval methods to support additional
filtering options, improving the accuracy of returned results.

- **Chores**
- Streamlined query logic in the repository to enhance performance and
maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-08-23 14:58:32 +05:30
subratadeypappu
98f748031a
chore: Add metrics to pages sub-components (#35723)
## Description
After adding sub-spans to pages component the breakdown of duration
looks like below:

### Sample 1
![Sample 1 (pages
breakdown)](https://github.com/user-attachments/assets/210d61db-2a05-41c8-8b4b-89494ac15c20)

### Sample 2
![Sample 2 (pages
breakdown)](https://github.com/user-attachments/assets/f996da3f-0848-40b8-8f66-1493d5fe0035)



Fixes https://github.com/appsmithorg/appsmith/issues/35718
_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/10484118259>
> Commit: 2bf56fa97ec8ce6952aca9f73816f3ddbfe9b648
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10484118259&attempt=4"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 21 Aug 2024 09:36: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


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
- Enhanced page management functionalities with new constants for
improved data organization and retrieval.
- Introduced functionality for generating standardized span names to
improve API monitoring and tracing.
- Improved observability with new tracking features for application
pages, aiding in performance analysis.

- **Bug Fixes**
- Streamlined handling of span names to eliminate redundancy within the
application.

- **Refactor**
- Updated service classes to incorporate enhanced observability features
for better resource monitoring.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-21 16:30:05 +06:00
Abhijeet
d1de33b019
chore: Add cleanup and update stage for tenant at the server restart (#35786)
## Description
PR to add the cleanup and update default tenant at the server restart.
This was required because whenever we update tenant via migrations the
result gets reverted because the cached tenant is not getting updated as
we generally end up updating only the MongoDB state and not the cached
entry.

/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/10471754877>
> Commit: e288cfe1084bdbf2104a656bf60eb9c24708fe77
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10471754877&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 20 Aug 2024 13:01:42 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**
- Implemented a mechanism to refresh tenant policies and manage cache
cleanup during server restarts, ensuring accurate policy enforcement for
multi-tenant applications.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-20 18:36:32 +05:30
Abhijeet
619fc2d3f1
chore: Add error logs for consolidated API (#35779)
## Description
PR to add error logs in the consolidated-api as whenever DB operation
fails we are not logging these anywhere and ends up in the response
only.

/test Sanity

## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/10466559600>
> Commit: c04482ee779580e789f138ab510c1dc5444e617c
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`
> Spec: ``
> <hr>Tue, 20 Aug 2024 06:37:40 UTC
<!-- end of auto-generated comment: Cypress test results  -->


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Enhanced error logging for asynchronous operations, improving
diagnostics for failures in data fetching related to user profiles,
feature flags, and more.
- **Improvements**
- Augmented observability and robustness of the application through
detailed error messages for data retrieval issues.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-20 07:27:44 +00:00
Nilesh Sarupriya
07b8e351fd
chore: add default theme related methods to not pollute implementations (#35758)
Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2024-08-19 18:24:46 +05:30
Anagh Hegde
d70977abeb
chore: add logs and response when the captcha fails (#35751)
## Description
The PR adds logs to captcha verification flow. We do not collect any
information on the captcha failures and this causes issues when we are
debugging captcha errors on the users machine.



## 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/10448741894>
> Commit: 80069256b6db4e9cf8f93faeedb83621c183f09d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10448741894&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 19 Aug 2024 07:26: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**
- Enhanced error handling and logging for reCAPTCHA verification,
providing better insights into potential issues.
- **Bug Fixes**
- Improved robustness of the verification process by capturing and
logging errors at multiple points.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-19 13:53:26 +05:30
Nilansh Bansal
ee9cd3b29d
chore: replace gson usage with jackson (#35680) 2024-08-15 15:00:17 +05:30
Anagh Hegde
d8297c6611
test: disable flaky test of theme import service (#35593)
## 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

- **Bug Fixes**
- Temporarily disabled a flaky test related to theme imports to improve
stability during development.

- **Chores**
- Removed unnecessary user context from the disabled test to streamline
testing efforts.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-15 12:24:49 +05:30
Manish Kumar
96de9bec45
fix: changes in how themes are updated/saved after import. (#35692)
## Description
- While importing existing git connected app through git, we update the
existing theme, since this operations was moved to
dryOperationRepository which was using bulkUpdate method to update
themes, this caused the Policy to be empty in the db after the update.
Once this happened, the consolidated api looking for current theme had
to default to Default theme due to `ACL_NO_RESOURCE_FOUND` . hence it
gave the appearance that the theme is reverting.


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/10384132583>
> Commit: de97f53068fabe7b9cccf0ba32ffe424092023d4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10384132583&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Wed, 14 Aug 2024 08:53:02 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced theme management by allowing individual updates for each
theme, improving granularity and error handling during the update
process.
  
- **Bug Fixes**
- Improved control flow for theme updates, leading to better feedback on
each update operation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-14 14:48:25 +05:30
Nilansh Bansal
c899ba699e
feat: added properties for executeAction mixpanel event (#35291) (#35645)
## Description
This PR adds new properties to the `Execute Action` mixpanel event so
that we can measure the following:
- How many users are progressing through their app building journey
- Are we noticing patterns of what order users are building out this
functionality
- What stage do users get to before they get stuck, or lost

New Properties added are: 
- ACTION_EXECUTION_REQUEST_PARAMS_VALUE_MAP
- ACTION_EXECUTION_INVERT_PARAMETER_MAP
- ACTION_EXECUTION_RAW_QUERY

Fixes #35291 

## 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/10372829069>
> Commit: e8d8a02d38c9306eebef201a84a3570db9cd572d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10372829069&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 13 Aug 2024 16:11:44 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced new constants for action execution parameters, enhancing
clarity and maintainability.
- Added the capability to log raw action configurations in analytics
events for improved tracking of action executions.

- **Improvements**
- Enhanced analytics data handling by conditionally managing properties
based on the hosting environment, ensuring better data privacy for
self-hosted applications.
- Expanded functionality of action execution by integrating new
configuration options, improving overall performance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-14 10:12:05 +05:30
Abhijeet
8ad9b4ab52
chore: Add indexes for policyMap to improve query response time (#35676)
## Description
Ref thread:
https://theappsmith.slack.com/archives/C0341RERY4R/p1723548842255209?thread_ts=1723445955.346459&cid=C0341RERY4R

/test Workspace

### 🔍 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/10380730889>
> Commit: 915e93253bee64fed0a52fc0d308bda0f8e18727
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10380730889&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Workspace`
> Spec:
> <hr>Wed, 14 Aug 2024 03:42: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**
- Introduced new constants to improve handling of deprecated field names
and enhance multi-tenant functionalities, including `DELETED_AT`,
`TENANT_ID`, and `PERMISSION_GROUPS`.
- Implemented migration processes for updating tenant policies and
optimizing query performance with new database indexes.

- **Bug Fixes**
- Improved system stability by refining the declaration of constants,
ensuring immutability for `POLICIES` and enhancing error logging for
database migrations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-14 10:06:06 +05:30
Abhijeet
5494e8e1af
chore: Add tenant cache eviction for the existing policies to policyMap migration (#35614)
## Description
Observation: Even after successful execution of the migration where we
are replacing policies to policyMap for tenant, we end up in a state
where the policies has the required values but policyMap was still end
up in a empty state.

```
{
	policyMap: {},
    policies: [
      {
        permission: 'tenantReadPermissionGroups:tenant',
        permissionGroups: [ '6303edf184daf727dddb003d' ]
      },
      {
        permission: 'tenantManageUserGroups:tenant',
        permissionGroups: [ '6303edf184daf727dddb003d' ]
      },
      {
        permission: 'tenantDeleteUserGroups:tenant',
        permissionGroups: [ '6303edf184daf727dddb003d' ]
      },
	.
	.
	.
}

```

/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/10348884858>
> Commit: 539a7675d780abebdb6ad8b90f2d8d2923374bb3
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10348884858&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 12 Aug 2024 09:16:31 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Improved tenant management and cache eviction processes during
migrations to ensure accurate and up-to-date tenant information.

- **Bug Fixes**
- Enhanced data consistency and integrity by evicting the default tenant
from the cache after updates, preventing stale data issues.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-12 14:56:11 +05:30
Shrikant Sharat Kandula
8cbb13ea6e
chore: Change policies set to policyMap (#34566)
Migrate `policies` from being a `Set<Policy>` to a `policyMap`, that's a
`Map<String, Policy>`. The key defines the permission whereas the value
is the actual policy object. This makes it easier to use this data in
code, to query as a MongoDB nested document, and as a Postgres `jsonb`
column. Win-win!

The migration runs for all collections in parallel, with following stats
taken on 1-Jul-2024.

1. Release data, only non-deleted documents, all collections, parallel,
2m 42s.
2. Prod replica data, only non-deleted documents, all collections,
parallel, (15m).
3. Release data, only non-deleted documents, all collections, serial,
~9m.

This PR is only part of the solution. We have backwards compatible
`getPolicies()` and `setPolicies()` methods so the diff isn't too big,
but a follow-up PR will remove those two, and migration all usages to
use the map instead.

This PR only (almost) strictly includes changes that were necessary for
the build and tests to pass.

**/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/10301601562>
> Commit: d58ac59ea9bffb170f979176cdfc1ff378b440ef
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10301601562&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 08 Aug 2024 12:46:36 UTC
<!-- 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**
- Introduced migration logic to convert `policies` to `policyMap`,
enhancing data structure for policy management.

- **Documentation**
- Updated summaries and documentation to reflect changes in policy
handling.

- **Refactor**
- Replaced direct field references with constant values for policy
fields in migration files.
  - Adjusted method signatures to utilize the new `policyMap` structure.
  - Improved policy management logic for better immutability and safety.

- **Tests**
  - Added new test cases for policy management functionality.
- Updated existing test assertions to ensure proper policy handling with
the new data structure.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
2024-08-11 13:32:59 +05:30
Manish Kumar
c1266040b1
fix: added an autocommit migration for theme settings. (#35554)
## Description
> 
>
>

Fixes https://github.com/appsmithorg/appsmith/issues/35536

## 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/10315694999>
> Commit: f03353bab60f38f3f88bac0303cdc55b5a0edae3
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10315694999&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Fri, 09 Aug 2024 08:16:04 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 logic for server schema versions, ensuring proper
handling of theme settings during migrations from version 6 to 9.
- Introduced methods to establish and set default theme settings for
applications during migration.

- **Bug Fixes**
- Simplified server version retrieval process, ensuring consistent
versioning behavior.

- **Tests**
- Updated tests to reflect changes in server version expectations,
removing unnecessary assertions related to feature flags.
- Streamlined validation logic in migration tests to focus solely on
expected schema versions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-09 13:48:30 +05:30
Nidhi
855ef7f099
fix: Clone js obj should allow action to contain collection id (#35567) 2024-08-09 13:40:29 +05:30
sneha122
2e3791a967
chore: added metrics around actions api view mode (#35416)
## Description

This PR adds perf metrics around consolidated view API -> actions
section. These metrics will help us understand which parts of the code
are taking the longest which can help us in improving it further.

Fixes #35338 
_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/10301401346>
> Commit: e89901b15e648e6d466665c637be01572ccc963e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10301401346&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 08 Aug 2024 12:29:57 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 constants for action spans to improve tracking of user
interactions in the view mode.
- Added a new class for page spans, enhancing organization and clarity
of API span naming conventions.

- **Bug Fixes**
- Improved integration with existing components for better observability
and performance monitoring.

- **Chores**
- Updated naming conventions for span identifiers to promote consistency
across the application.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-08-08 19:32:40 +05:30
Abhijeet
061e376a33
chore: Update env variable used for update persistent DB URL (#35526)
## Description
PR to fix the issue with DB url update from admin settings page. When we
migrated the env variable to `APPSMITH_DB_URL` instead of
`APPSMITH_MONGODB_URI` this functionality broke. We had a discussion to
remove this update functionality as this does not work in all the
setups. But as QA has already started pointing this as an issue raising
this PR.

## Automation

/ok-to-test tags="@tag.Settings"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10297374384>
> Commit: dbef20ca923a1cba0d7687766481060eab5057fa
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10297374384&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Settings`
> Spec:
> <hr>Thu, 08 Aug 2024 07:13:51 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit


- **New Features**
- Updated the database connection string naming from "MongoDB URI" to
"Appsmith DB URL" in the Admin Settings, enhancing clarity in
configuration.
- Revised subtext in Admin Settings for improved user understanding of
the database URL's purpose.
  
- **Bug Fixes**
- Adjusted test cases to reflect the new naming convention, ensuring
consistent references to "APPSMITH_DB_URL" across various tests.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-08 15:43:08 +05:30
Abhijeet
f0bccc627b
chore: Flaky test in AuthenticationServiceTest (#35538)
## Description
- Flaky testcase:
`AuthenticationServiceTest.testGetAuthorizationCodeURL_missingDatasource`
- Reason: Hot publisher `newPageMono` was getting executed before the
`datasourceMonoCached` can complete the execution.
- Fix: With this PR we are making sure `newPageMono` get's called only
after the execution of datasourceMono is completed.

/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/10298256036>
> Commit: 16f3efb81a3beaf084bef97f60ea29232ea998a7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10298256036&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 08 Aug 2024 08:20:46 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

- **Improvements**
- Enhanced clarity in the authorization code URL generation process for
OAuth2, resulting in better maintainability and readability.
- Explicit handling of data sources to improve the logic flow associated
with OAuth2 validation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-08 15:27:22 +05:30
Anagh Hegde
81ef501de2
fix: comment the flaky test to unblock TBP (#35540)
## 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


- **Bug Fixes**
- Adjusted the test execution context by removing outdated annotations,
improving the relevance and accuracy of the theme import tests.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-08 13:59:36 +05:30
Nilansh Bansal
fe7ca6b98e
chore: added prettier spotless plugin for json files (#35447)
## Description
This PR adds the spotless formatter and validator for the JSON files
present in the project. If there is any invalid JSON file, the formatter
fails and logs the file and the error LOC to be fixed.
It uses the `prettier JSON` formatted in spotless for the same.
Since Spotless is already added to the pre-commit hook it also makes it
necessary to fix the JSON and then commit the changes.

- The prettier JSON formattor preserves the order of the keys.
- Indendation of 2 spaces has been added in the config

Screenshot of the errors displayed for Invalid JSONs
<img width="1427" alt="image"
src="https://github.com/user-attachments/assets/00bbd61c-7414-4787-b9ac-2f0d392f6f33">

### Last attempt to resolve this issue
The formatted used was `simple JSON` which led to change in order of
JSON keys.
PR: https://github.com/appsmithorg/appsmith/pull/35395
Ref:
https://theappsmith.slack.com/archives/CGBPVEJ5C/p1722929754593669?thread_ts=1722916121.682699&cid=CGBPVEJ5C


Fixes #34969 

## 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/10264348935>
> Commit: 4957b647f3d5e0f9853e7f391411b62ee189547b
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10264348935&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 06 Aug 2024 12:40:47 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2024-08-08 09:16:03 +05:30
Anagh Hegde
c8efe56a34
test: add ordering for theme import test to fix flakiness (#35473) 2024-08-07 16:50:35 +05:30
Nilansh Bansal
3b3f64f1c0
Revert "chore: added JSON files linting check" (#35445)
Reverts appsmithorg/appsmith#35395
Reverting this PR as the formatter changes the sorting order of the keys
of our JSONs which affects our UI.
Ref:
https://theappsmith.slack.com/archives/CGBPVEJ5C/p1722929754593669?thread_ts=1722916121.682699&cid=CGBPVEJ5C
2024-08-06 14:15:23 +05:30
Nidhi
fdcfb7c21b
fix: Added indices for cross referencing changes (#35401) 2024-08-05 13:33:03 +05:30
Nilansh Bansal
486662a2ed
chore: added JSON files linting check (#35395)
## Description
This PR adds the spotless formatter and validator for the JSON files
present in the project. If there is any invalid JSON file, the formatter
fails and logs the file and the error LOC to be fixed.
Since Spotless is already added to the pre-commit hook it also makes it
necessary to fix the JSON and then commit the changes.

Screenshot of the errors displayed for Invalid JSONs

![image](https://github.com/user-attachments/assets/f1661a1e-50a6-4b20-88a5-b7cfe0cc691a)


### Why is this Important?
All of our datasource forms appear on the UI from the JSON configuration
files in the plugins. If an Invalid JSON is added, it can break the
datasource usage experience for the users.
One such instance happened in the past, where due to a JSON formatting
error, the users could not use Smart Substitution feature on production.

[Reference](https://theappsmith.slack.com/archives/C040LHZN03V/p1721124893238579)

Fixes #34969 

## 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/10243164292>
> Commit: 08bc87acd2e44c4a2677d3eed1bad002f991050a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10243164292&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 05 Aug 2024 05:50:07 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2024-08-05 11:56:50 +05:30
Nidhi
d06477afaf
fix: Do not return composed action collections after refactor (#35350) 2024-08-02 12:22:03 +05:30
yatinappsmith
7c94650f88
fix: Fixed GraphQL version (#35310)
## Description
Fixed GraphQL version

## 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/10177151252>
> Commit: 52a3f4ebc0ad3cd169bf1fe8cabd0156ed7a22e4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10177151252&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 31 Jul 2024 09:17:29 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [X] No




## Summary by CodeRabbit

- **New Features**
- Updated the GraphQL plugin and server to utilize the latest version
(21.5) of the `graphql-java` library, enhancing functionality and
performance.
  
- **Bug Fixes**
- Improvements and bug fixes may be included with the update to the
`graphql-java` dependency, potentially improving GraphQL query handling.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-31 14:54:36 +05:30
Nidhi
de443104f2
chore: rm dr ce (#34765)
Co-authored-by: brayn003 <rudra@appsmith.com>
2024-07-31 08:24:51 +05:30
Ilia
86bc401013
feat: set app max width (#35087)
## Description
Add a new application setting which would allow users to set max width
of their applications.


Fixes #34993

## 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/10159296604>
> Commit: d2a98dcaecda2903dd8233f1f53ea119721095fa
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10159296604&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 30 Jul 2024 09:50:48 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 a new constant for application maximum width settings,
allowing for `Unlimited`, `Large`, and `Medium` options.
- Added an `AppMaxWidthSelect` component for users to select maximum
width configurations from a dropdown menu.
- Enhanced `Canvas` and `MainContainerWrapper` components to accept and
utilize maximum width settings for improved layout adaptability.
- Implemented a new selector to retrieve the maximum width setting for
use in various components.
- Enhanced the theme property pane to allow users to customize the
application layout through maximum width selection.
- Updated `CanvasFactory` to utilize the application theme settings for
a more responsive layout.

- **Bug Fixes**
- Improved initialization logic to prevent null reference issues related
to theme settings.

- **Tests**
- Enhanced test cases to verify inclusion of maximum width settings in
exported applications and during application imports.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-07-30 12:17:51 +02:00
Nilesh Sarupriya
871c4263a1
chore: subscribe file IO to elastic and publish to parallel thread when fetching plugins (#35213)
## Description
> This code change focuses on moving the File I/O operations related to
plugins API to elastic and parallel threads for subscription and
publishing. It will allow the `nioEventLoop` threadpool to not be locked
on file I/O.


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10138493266>
> Commit: cc3b5f1ac44138985ba228e8b2d4f8e324ed6e7f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10138493266&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 29 Jul 2024 05:34: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**
- Introduced a new `LoadShifter` helper class for improved thread
scheduling in reactive programming.
- Enhanced asynchronous operations in various services using elastic and
parallel scheduling mechanisms.

- **Bug Fixes**
- Updated scheduling strategies in services to improve performance and
responsiveness under varying loads.

- **Chores**
- Streamlined dependency management by removing unnecessary `Scheduler`
parameters and dependencies in multiple classes.
  
- **Tests**
- Refined test setups by removing unused `Scheduler` and `CommonConfig`
mock beans for cleaner test definitions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2024-07-29 01:32:22 -05:00
Nilesh Sarupriya
ad71b8e0b1
chore: Override OAuth2AuthenticationException to differentiate the errors thrown by Appsmith (#35160)
## Description
> Extend OAuth2AuthenticationException so that we can differentiate
between AppsmithException and exceptions thrown by Spring Library.
> There is not going to be any change to the Authentication flows here,
as the we are just inheriting the OAuth2AuthenticationException.


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/10092949232>
> Commit: bc2f204a6516fd527775daafb4829254d19251eb
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10092949232&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 25 Jul 2024 13:13:00 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit


- **New Features**
- Introduced a new custom exception for improved handling of OAuth 2.0
authentication errors, enhancing the clarity and robustness of the
authentication process.
  
- **Bug Fixes**
- Enhanced error categorization in the authentication process by
refining the error handling logic, allowing for better management of
exceptions related to OAuth 2.0.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2024-07-25 09:17:37 -05:00
Anagh Hegde
18a4b5046b
chore: remove execution time calculation from logs (#35166)
## Description
Remove the execution time calculation via stopwatch. This was used for
profiling earlier but not required anymore and pollutes the logs.

## Automation

/ok-to-test tags="@tag.Templates"

### 🔍 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/10088622540>
> Commit: acfae67521a442d3d786099c0b46fc04f8ffda33
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10088622540&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Templates`
> Spec:
> <hr>Thu, 25 Jul 2024 05:37: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

- **Chores**
- Removed stopwatch logging for performance monitoring during the import
process to simplify code.
  
The overall functionality of importing resources remains unchanged.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-25 12:32:29 +05:30
Anagh Hegde
b1ff50b0c7
chore: refactor theme import flow to support dry ops for pg (#34733)
## Description
Please refer this document for more details -
https://www.notion.so/appsmith/Transaction-Handling-in-PG-468cf8d4255749c3915699e59e91dc2f

## Automation

/ok-to-test tags="@tag.Git, @tag.ImportExport, @tag.Templates"

### 🔍 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/10053864056>
> Commit: 0b83e8903ccc241c851765b9e2d082e4e9798957
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10053864056&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git, @tag.ImportExport, @tag.Templates`
> Spec:
> <hr>Tue, 23 Jul 2024 06:45:31 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 import functionality to support themes and better handle
applications.

- **Bug Fixes**
- Improved handling of application and theme imports in various
scenarios, fixing related issues.

- **Tests**
- Updated test cases to validate the new and improved import
functionality for themes and applications.

These changes improve the robustness and flexibility of application and
theme management during imports.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-24 11:27:42 +05:30
Nilesh Sarupriya
daaaa93b61
chore: refactor authentication failure redirect and retry (#34899)
## Description
> Add infrastructure for Authentication failure to retry and redirect.
> An additional change has been made to make the Sentry's doLog() method
public for others to use it for logging additional errors to Sentry.


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity,@tag.Authentication"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9955550436>
> Commit: 4204a44a95d2946985795d4cd76bde812991f57e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9955550436&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity,@tag.Authentication`
> Spec:
> <hr>Tue, 16 Jul 2024 11:19:25 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced authentication failure handling with improved retry and
redirection logic.
- Simplified and streamlined exception logging using a new SentryLogger.

- **Improvements**
  - More efficient and consistent handling of authentication failures.

- **Bug Fixes**
  - Improved exception handling to ensure standardized error responses.

- **Chores**
- Cleaned up unused imports in the GlobalExceptionHandler to improve
code maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2024-07-16 06:46:40 -05:00
Shrikant Sharat Kandula
a4c394c995
fix: Buffer size error with DSL migration calls (#34905)
**/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/9907267253>
> Commit: 954c3e7776b0c28524f4e0a521f05d1497589bbb
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9907267253&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Fri, 12 Jul 2024 12:00:55 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2024-07-12 17:51:47 +05:30
Abhijeet
f6d62e5cdc
chore: Introduce permissions via arguments for theme repository methods (#34837)
## Description
PR to add permissions via repo method arguments for
CustomThemeRepository. This is required because on pg branch we are
looking for the AclPermission argument and are attaching the user
context in the repository method, which then is used for evaluating if
the user has the required permissions. This is again because the JDBC
driver is non-reactive in nature and if we add the blocking statements
in reactive chani user context gets lost.

## Automation

/ok-to-test tags="@tag.Git, @tag.Theme"

### 🔍 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/9869488827>
> Commit: 3c0b5f97bed6dbe9f34d2aabdd11cd0dcb55f39c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9869488827&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git, @tag.Theme`
> Spec:
> <hr>Wed, 10 Jul 2024 07:06:50 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

- **Enhancements**
- Improved permission handling for theme-related operations, enhancing
security and access control.

- **Tests**
- Updated test cases to incorporate additional permission parameters for
theme retrieval and archiving, ensuring better test coverage and
security validation.



<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-12 12:45:55 +05:30
Anna Hariprasad
5d9382b54b
fix: Update datasource deletion message for clarity (#34822)
Fixes #34604 

Hi @nidhi-nair , 

**Screenshots :**
**Earlier :**

![image](https://github.com/appsmithorg/appsmith/assets/124746204/0a02a9cb-b324-4844-9d7b-c5ee72439a45)
**After update the error message :**

![image](https://github.com/appsmithorg/appsmith/assets/124746204/26414136-98df-4df7-929d-f2556329d70d)

![image](https://github.com/appsmithorg/appsmith/assets/124746204/fc9faf36-65ef-4d72-9ce8-49514eb9f90e)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Updated error messages during datasource deletion to improve clarity:
"Cannot delete datasource since it has 1 query using it."

- **Tests**
- Adjusted test cases to reflect updated error messages and ensure
accurate verification.

- **Documentation**
- Improved error message documentation for better user understanding
during datasource deletions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-11 19:42:27 +05:30
Anagh Hegde
cd47bd108f
fix: use isDryOps flag in customJsLIb import flow (#34836)
## Description
In the last PR, refactored the customJsLib persist method code to
simulate the db ops by using the dryOps flag. But missed to use it in
the import flow. This PR fixes this.

## Automation

/ok-to-test tags="@tag.Templates, @tag.Git, @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/9868884786>
> Commit: 853614e378f156649e7b15fda7ec2cf75b03605b
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9868884786&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Templates, @tag.Git, @tag.ImportExport`
> Spec:
> <hr>Wed, 10 Jul 2024 06:11:24 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Enhanced type safety and clarity in handling database operations for
custom JavaScript libraries by updating parameter types across multiple
methods.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-10 15:13:53 +05:30
Shrikant Sharat Kandula
92461d5a80
chore: Remove unused new from JSON exports/responses (#34652)
This field isn't used on client and so shouldn't be sent across.

EE PR at https://github.com/appsmithorg/appsmith-ee/pull/4466. All pass.

**/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/9853291119>
> Commit: 22f738390a9e442c3e5d92f9007763d8c1e767b4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9853291119&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 09 Jul 2024 09:02:56 UTC
<!-- end of auto-generated comment: Cypress test results  -->


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
  - Resolved JSON formatting issues in several export fixture files.
- Removed unnecessary field values from action configurations to ensure
cleaner and more efficient data handling.

- **Refactor**
- Updated the `isNew` method's annotation in `BaseDomain.java` to
improve JSON serialization behavior.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-10 10:59:55 +05:30
Abhijeet
55b53a75e3
fix: Concurrent modification exception during the datasource import flow (#34818)
## Description
In the import service, we are trying to import datasources using the
combination of Flux and Flatmap to create the reactive chain. This
translates to creating multiple threads to accomplish the task in an
efficient manner. After we introduced database dry ops, where we are now
sharing the map of ops type to the object for which the operation needs
to be performed. This caused a `concurrentModificationException` as
datasourceService layer is referring to same object via different
threads.

## Automation

/ok-to-test tags="@tag.ImportExport, @tag.Sanity, @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/9861701410>
> Commit: cf63fab15f7e3717b566306f8ea598662f18aea9
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9861701410&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.ImportExport, @tag.Sanity, @tag.Git`
> Spec:
> <hr>Tue, 09 Jul 2024 18:05:03 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-07-10 08:37:41 +05:30
Shrikant Sharat Kandula
013869fae3
chore: Remove unused regexMatchIgnoreCase (#34824)
This method isn't used anywhere, EE included, and we don't want it to be
used either. There's specialized methods for things this was used in the
past, `searchIgnoreCase` and `inIgnoresCase`, and should be preferred
instead of this. If a new need comes up that needs regex, we'll come up
with a specialized query method again.

**/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/9858374518>
> Commit: 7b4eef3f04e81ec96c4f88b8c3e354dae95e92b3
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9858374518&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 09 Jul 2024 14:13:55 UTC
<!-- end of auto-generated comment: Cypress test results  -->


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Removed deprecated `regexMatchIgnoreCase` method for cleaner and more
maintainable code.
- Updated `equal` method to improve flexibility by accepting `int`
values without the `@NonNull` annotation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-10 06:39:45 +05:30
Anagh Hegde
09410143d3
chore: refactor customJs lib import flow for pg transaction support (#34622)
## Description
Please refer this document for more details -
https://www.notion.so/appsmith/Transaction-Handling-in-PG-468cf8d4255749c3915699e59e91dc2f



## Automation

/ok-to-test tags="@tag.Git, @tag.ImportExport, @tag.Templates"

### 🔍 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/9855863943>
> Commit: b9dfe1d758410e831f751f1fe1047373c1137513
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9855863943&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git, @tag.ImportExport, @tag.Templates`
> Spec:
> <hr>Tue, 09 Jul 2024 11:25:30 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced support for managing custom JavaScript libraries, including
dry run operations.
- **Enhancements**
- Enhanced dry operation handling with new methods and improved logic
for managing custom JavaScript libraries.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-09 17:15:38 +05:30
subratadeypappu
f17036bd52
chore: add code split for identifying invalid actions during import flow (#34783)
## Description
EE counterpart PR: https://github.com/appsmithorg/appsmith-ee/pull/4623


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, @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/9855809156>
> Commit: 2c7be98dbec1f9792b6510403a3d7375ded5767e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9855809156&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git, @tag.ImportExport`
> Spec:
> <hr>Tue, 09 Jul 2024 11:21:14 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Improved code readability and maintainability by abstracting
validation logic into new methods for checking the validity of imported
actions and action collections.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-09 17:37:55 +06:00
Anagh Hegde
ed21a8f44c
fix: Queries do not fetch any data when datasources are configured while importing an app (#34789)
## Description
The null check for adding datasource information to an action was
invalid. And all the actions get the datasource from the existing
datasource object. Hence all the actions were failing with missing
workspaceId.

Fixes https://github.com/appsmithorg/appsmith/issues/34772

## Automation

/ok-to-test tags="@tag.Git, @tag.ImportExport, @tag.Templates"

### 🔍 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/9839296466>
> Commit: 8854a2701d4aebf7601efba7643acfe3d44d712d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9839296466&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git, @tag.ImportExport, @tag.Templates`
> <hr>Mon, 08 Jul 2024 12:31:17 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Simplified conditional checks in the backend to improve code
readability and maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-08 18:13:07 +05:30
Abhijeet
4df4c4c493
chore: Remove un-neccessary configurations for server tests (#34778)
## Description
Since the `@SpringBootTest` annotation already provides the necessary
Spring context setup. `@ExtendWith(SpringExtension.class)` annotation is
redundant and can be safely removed.

/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/9835972147>
> Commit: 23140db7d94ea7469ad0ae7ef7e34800dc71e992
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9835972147&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> <hr>Mon, 08 Jul 2024 08:36:19 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-07-08 14:25:52 +05:30
Anagh Hegde
f03b6b058d
fix: fix validation for datasource in action import and save flow (#34754)
## Description
More details here -
https://theappsmith.slack.com/archives/CTHN8GX5Y/p1720156198256419

## Automation

/ok-to-test tags="@tag.Git, @tag.Templates, @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/9809585760>
> Commit: 72dc3363fd7fa08ae4bef228eb13573d6f94ccac
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9809585760&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git, @tag.Templates, @tag.ImportExport`
> <hr>Fri, 05 Jul 2024 14:30:53 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 validation process for actions with the introduction of a
`Dry Operations` mode, allowing for validation without persistence.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-08 10:01:50 +05:30
Shrikant Sharat Kandula
2b9e0cb9bc
chore: Simpler implementation for empty instance check (#34682)
Refactored the implementation of `isUsersEmpty` so that it works the
same on `release` and on `pg` branches.

**/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/9797721649>
> Commit: f0ed5ee27979c14e363430d2af32bae9828f2e82
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9797721649&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
<!-- end of auto-generated comment: Cypress test results  -->


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Enhanced user filtering to improve the accuracy of user-related
queries. This update ensures more precise results by excluding
system-generated emails from user checks.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-05 17:54:20 +05:30
Abhijeet
2adb12d57b
chore: Add in clause support for enums datatype for bridge apis (#34623)
## Description
PR to improve enum filtering to ensure better compatibility with
Hibernate queries even when using `@Enumerated(String.class)`.

Corresponding EE PR:
https://github.com/appsmithorg/appsmith-ee/pull/4576

## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Improved enum filtering to ensure better compatibility with Hibernate
queries even when using `@Enumerated(String.class)`.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-05 10:35:56 +05:30
Shrikant Sharat Kandula
25324f9b7c
chore: Remove unused ACL fields on User entity (#34634)
/test sanity


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Refactor**
- Simplified user data structure by removing unused `groupIds` and
`permissions` fields, improving efficiency in user-group relationships
and permissions handling.
<!-- 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/9759459682>
> Commit: 9d42126d64430423543800fd4b9837f0c92aa614
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9759459682&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
<!-- end of auto-generated comment: Cypress test results  -->
2024-07-04 14:49:35 +05:30
Shrikant Sharat Kandula
3e698e81ed
test: Add missing .block() on reactive calls (#34709) 2024-07-04 14:49:20 +05:30
Anagh Hegde
6c48a39a70
chore: add null check for the datasource (#34691)
## 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/9789434801>
> Commit: 52a84a3947f56dad33eb160cc238403a888f09a7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9789434801&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
<!-- 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 the validation and assignment logic for data sources during
action import to ensure proper association and prevent errors when data
source or plugin IDs are missing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-04 12:36:23 +05:30
Anagh Hegde
ffc09cf49f
chore: refactor datasource import flow to add support for transaction in pg (#34514)
## Description


## 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/9772380637>
> Commit: 1f5ab41dd3ed1434b688aeade89854e1e86c71fd
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9772380637&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
<!-- 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 support for dry run queries in datasource operations. Users
can now perform dry runs when creating, saving, or importing
datasources.

- **Improvements**
- Enhanced datasource import functionality by adding logic to handle and
save dry run queries.
- Improved validation and correction processes for datasources during
action imports.

- **Internal Enhancements**
- Added a new `DryOperationRepository` for managing dry run operations
for datasources and datasource storage.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-03 20:04:59 +05:30
Shrikant Sharat Kandula
0b4d664558
chore: Remove strict payload parsing (#34680)
Reverting https://github.com/appsmithorg/appsmith/pull/33724
temporarily, until we gain more confidence.

[Slack
conversation](https://theappsmith.slack.com/archives/C040LHZN03V/p1719997989677959).



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Refactor**
- Improved server configuration by removing unnecessary custom object
mapper settings.
- Optimized data source handling by cleaning up authentication object
manipulations.

- **New Features**
- Introduced a new method for future strict type checking on the server.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-07-03 19:11:41 +05:30
Shrikant Sharat Kandula
3b38df769b
Revert "chore: Don't include new in responses (#34617)" (#34646)
**/test ImportExport git**



<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9761964432>
> Commit: 44fd1e67988bee13cbb8a3353825f04304daaf93
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9761964432&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.ImportExport, @tag.Git
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/Git/GitSync/GitSyncedApps_spec.js</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.
<!-- end of auto-generated comment: Cypress test results  -->
2024-07-02 22:47:30 +05:30
Shrikant Sharat Kandula
33325dd539
chore: Don't include new in responses (#34617)
This field isn't used on client and so shouldn't be sent across.

/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/9756721589>
> Commit: ea117610d61253afe4e0ead3b80f9e21adc22235
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9756721589&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`

<!-- end of auto-generated comment: Cypress test results  -->




<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Improved data handling by modifying visibility annotations, enhancing
security and data privacy.

- **Tests**
- Updated tests to align with changes in data visibility, ensuring
accurate validation of JSON responses.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 16:08:41 +05:30
Shrikant Sharat Kandula
56b0d7f5b1
chore: Use id argument to find action collections (#34595)
This is causing a test failure in `pg` because we're trying to extract
the `id` out of a DTO that was originally passed to `.save()`, which
doesn't work with Hibernate. This failure in `pg` got introduced by the
test class changes in appsmithorg/appsmith#34535.


/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/9732360344>
> Commit: a29cf611a6f4dd8d6bd7a2da894252168cac56cf
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9732360344&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`

<!-- end of auto-generated comment: Cypress test results  -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Corrected the method call to ensure the correct parameter is used for
updating unpublished action collections.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-01 19:51:29 +05:30
Abhijeet
b856dbd841
chore: Cleanup unused method (#34428)
## Description
PR to remove unused method `saveAll` from DatasourceServiceCE. I have
checked this is not being used on EE repo as well.

/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/9641535499>
> Commit: 6dd6abdcf7879ce5fb4eefa02279375db74ea02e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9641535499&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`

<!-- end of auto-generated comment: Cypress test results  -->



## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Removed bulk save functionality for datasources to streamline and
simplify data management processes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-28 12:44:10 +05:30
Nilesh Sarupriya
b6920830ff
chore: set the view mode when fetching actions for action collection (#34535)
## Description
> Fetch the correct actions for action collection based on view mode.


Fixes [[Bug]: When triggering a workflow, unpublished js object is being
used instead of a published
one.](https://github.com/appsmithorg/appsmith/issues/34520)

## Automation

/ok-to-test tags="@tag.JS,@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9691919440>
> Commit: f3b7bdd5a23ffcc891fffb51aaed39266f8d2dad
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9691919440&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.JS,@tag.Sanity`

<!-- end of auto-generated comment: Cypress test results  -->



## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Improved handling of action collections in view mode for better
accuracy.

- **Tests**
- Enhanced tests for action collections, ensuring better validation of
collection IDs and metadata.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2024-06-27 15:46:28 -05:00
Arpit Mohan
e72be3473d
Revert "chore: Introducing ReactorDebugAgent to improve the stack traces and make them easier to debug" (#34560)
Reverts appsmithorg/appsmith#34485 because this may be causing some delays in running the JUnit tests on CI.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Removed unnecessary dependencies related to debug stack trace printing
for cleaner and more efficient code.
- Downgraded `reactor-test` version to improve compatibility and
stability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 19:18:40 +05:30
Nilansh Bansal
1ee67b7d60
chore: added spans for super user check and fetch user permissions (#34516)
## Description
> This PR adds the spans for tracking /tenants/current API. 
Corresponding EE PR:
https://github.com/appsmithorg/appsmith-ee/pull/4539

Fixes #34480 

## 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/9692811833>
> Commit: 0f1059ad4870ae83d6188b6fbff07ab90d058d97
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9692811833&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`

<!-- 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 user span control flow constants for improved monitoring
and performance tracking.
  
- **Refactor**
  - Renamed tenant-related span constants for consistency and clarity.
  
- **Enhancements**
- Improved super user checks with added telemetry using Micrometer for
better observability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 15:33:07 +05:30
Anagh Hegde
c3047e8e57
chore: refactor to use layout service for onPageLoad actions calculations in blocks API (#34269)
## Description
Refactor the consolidated API for importing blocks


Fixes 
## Automation

/ok-to-test tags="@tag.Templates"

### 🔍 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/9690978421>
> Commit: ce3884a3db7b99cd36b0d600b43120d8eafb61fb
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9690978421&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Templates`

<!-- end of auto-generated comment: Cypress test results  -->










## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Refactor**
- Improved code structure by extending interface and class compatibility
for `ConsolidatedAPIService` and `ConsolidatedAPIServiceImpl`.

- **New Features**
- Enhanced layout management by importing `UpdateLayoutService` and
updating related logic to improve page load actions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Abhijeet <41686026+abhvsn@users.noreply.github.com>
2024-06-27 14:08:35 +05:30
Shrikant Sharat Kandula
8971dbe99d
chore: Fail on unknown fields in request body (#33724)
Currently, if the incoming request body contains fields that aren't
recognized by the backend, we just ignore them, and deserialize what we
_can_. This has lead to subtle bugs and wasted a lot of developer time
in the past, and added little value in return.

Most recently, with application creation, now fixed in
https://github.com/appsmithorg/appsmith/pull/33722.

Another one, for action creation, client sends this in `eventData` field
of the request body:

![shot-2024-05-26-04-50-46](https://github.com/appsmithorg/appsmith/assets/120119/b876b27f-47ec-4a00-8598-33cb92120c49)
But the class defined for `eventData` is this:

![shot-2024-05-26-04-51-03](https://github.com/appsmithorg/appsmith/assets/120119/18bf46b7-597a-4b2f-8355-1b8fad30e4ce)
Clearly isn't working.

This PR enabled the `FAIL_ON_UNKNOWN_PROPERTIES` setting only for the
deserialization of HTTP request payloads. It shouldn't have impact on
other deserializations like those for Git, and those that load resource
files. Primarily to limit the scope.

This should also bring in some much-needed type strictness to the client
as well. So far, server has been lax in accepting just any fields in the
incoming request body, so client was able to afford being lax about the
object that was sent up.

We're enabling this restriction only for CE currently. Will be opening a
similar PR on EE and once all tests pass there, we enable for EE as
well.

Depends on #33728 #33730 #33731 #34366 #34405 #34446 #34473 #34506


Run No. 1
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9685619413>
> Commit: 04e225f91a5549bd41f952ea85fa57483b1b0588
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9685619413&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: ``

**/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/9690185000>
> Commit: 29da8b48a36772bebc188f6173ea07d6acfd9a3c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9690185000&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: ``

<!-- end of auto-generated comment: Cypress test results  -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Added `certificateType` property to datasources for enhanced SSL
configuration options.

- **Enhancements**
- Improved JSON deserialization behavior for better data handling and
flexibility.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 11:46:31 +05:30
Shrikant Sharat Kandula
67d80c3c2a
chore: Add CE Repository for GitDeployKeys (#34475)
The repository for `GitDeployKeys` domain doesn't have a corresponding
CE class. This is breaking expectations on class hierarchy, and so
complicating the `*Cake` class generation on `pg` branch. This PR fixes
this inconsistency.


**/test sanity**



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Unified functionality by refactoring `GitDeployKeysRepository` to
extend `GitDeployKeysRepositoryCE`.
- **Bug Fixes**
- Improved method organization for better maintainability and code
quality.

<!-- 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/9674177862>
> Commit: bff6f7cf13486b9b9b017bea25d8e7d035a1f4a2
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9674177862&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`

<!-- end of auto-generated comment: Cypress test results  -->
2024-06-27 11:27:47 +05:30
Arpit Mohan
6a761d6430
chore: Introducing ReactorDebugAgent to improve the stack traces and make them easier to debug (#34485)
## Description
This is a chore PR to improve the stack traces printed by Webflux. 

After:
<img width="1423" alt="Screenshot 2024-06-26 at 1 59 12 PM"
src="https://github.com/appsmithorg/appsmith/assets/458946/a89f2cf5-db7d-4430-b248-bee5fc26a218">

Before:
<img width="1449" alt="Screenshot 2024-06-26 at 1 59 43 PM"
src="https://github.com/appsmithorg/appsmith/assets/458946/0f794db2-d40d-4d4f-b79f-c40b126222f0">

> [!WARNING]  

> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9676222187>
> Commit: 6769b2360448c4bbc61280f5629f7a93ea55dfa0
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9676222187&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`

<!-- end of auto-generated comment: Cypress test results  -->



## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
  - Upgraded internal dependencies for improved debugging and testing.

- **Chores**
- Enhanced stack trace debugging by initializing the Reactor Debug
Agent.


<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-26 16:35:17 +05:30
Shrikant Sharat Kandula
854d3f03da
chore: Only send uidString to remove a JSLib (#34473)
Part of #33724. The server uses only `uidString` for this API endpoint,
which is all we should be sending. The server accepts a few other fields
as well today, but doesn't use them. That'll also be fixed in the
future, to only accept strictly what's needed.

/test sanity js



<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9672660446>
> Commit: a61fa21404ab4ab7fd450f2db9f256dfe86f2f4d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9672660446&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.JS`

<!-- end of auto-generated comment: Cypress test results  -->






<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Improved the `updateLibrary` method to send specific payload data,
enhancing API reliability.

- **Logging Improvements**
- Updated log messages in the `removeJSLibFromApplication` method to
exclude version information for better clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-26 10:58:01 +05:30
Nidhi
6edea92517
fix: Add a back up for isAtomicPushAllowed as false (#33647) 2024-06-26 04:31:30 +00:00
Manish Kumar
fadf911295
chore: removed git annotation from dependency map variable (#34406) 2024-06-24 11:10:23 +05:30
Shrikant Sharat Kandula
979f44b2b0
chore: Remove unused methods in NewPageServiceCE (#34369)
Unused on EE as well.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Simplified internal logic by updating methods to use projections
instead of fetching specific fields.
  
- **Chores**
- Removed deprecated methods related to fetching page slugs by
application IDs to streamline the codebase.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-21 10:32:37 +05:30
Anagh Hegde
e79f733072
chore: code split for consolidated API (#34328)
## Description
This PR does the code split of consolidated API to support adding the
environment details consolidated API in EE, as mentioned here in the
issue. - https://github.com/appsmithorg/appsmith/issues/33132

Fixes https://github.com/appsmithorg/appsmith/issues/33132

## Automation

/ok-to-test tags="@tag.Perf"

### 🔍 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/9595115979>
> Commit: 7e9cbe0a28807dec5ef3df168698508dbe9e0d0c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9595115979&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Perf`

<!-- 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 consolidated API response structure to streamline data
from various endpoints, including user profiles, feature flags, and
more.
- Added comprehensive support for loading consolidated page information,
enhancing the efficiency of page load operations.
  
- **Refactor**
- Refactored internal service interfaces and implementations to improve
maintainability and extendability.
- Centralized the `getConsolidatedInfoForPageLoad` method for better
code organization and usability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Abhijeet <41686026+abhvsn@users.noreply.github.com>
2024-06-20 17:37:07 +05:30
Abhijeet
0cdc15cf26
fix: Retain existing flags even if CS API fails (#34306)
## Description
PR to fix refreshing feature flags when instance fails to fetch flags
from CS.

## 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/9563924054>
> Commit: 9278bb30d62f7fbb7656e39448be6df611cd9514
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9563924054&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`

<!-- end of auto-generated comment: Cypress test results  -->



## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Improved feature flag updates by ensuring cached tenant features are
evicted before updating, preventing potential stale data issues.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-20 13:08:35 +05:30
Shrikant Sharat Kandula
5a1ec0c591
chore: Disallow plugin requests to localhost (#34250)
The microservices that run inside the Appsmith container, trust each
other, and may expose sensitive API endpoints to other internal
microservices. These sensitive APIs aren't accessible by outside the
Appsmith container, protected by Caddy's routing.

This means that the backend server's ability to make user-configured
HTTP requests, can lead to SSRFs to such sensitive API calls, if it's
allowed to call APIs on localhost.

In other words, Caddy establishes a trust boundary that protects these
internal APIs from outside the container. But we lack such a trust
boundary for the backend's plugins (API plugin, Elasticsearch plugin,
etc.). This PR solves that.

In this PR, we block both IPv4 and IPv6 loopback addresses.

No additional changes needed on EE, no conflicts, and all unit and
Cypress tests pass.

**/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/9590358198>
> Commit: 5445c70aa873942c3edae9fbfcc57a6d2554b815
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9590358198&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: ``

<!-- end of auto-generated comment: Cypress test results  -->












<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Improved handling of disallowed hosts by dynamically computing based
on environment variables, offering more flexibility and control.
  
- **Refactor**
- Enhanced the `makeWebClient()` method to use a more efficient approach
for creating WebClient objects with custom configurations.

- **Chores**
- Added an `ENV` declaration for `IN_DOCKER` in the Dockerfile to better
manage Docker-specific configurations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-20 11:00:22 +05:30
Shrikant Sharat Kandula
ef01ab5b31
chore: Remove findById signature with Optional (#34302)
Follow up to https://github.com/appsmithorg/appsmith/pull/34281.

The `.findById` method is now removed.

No conflicts, but needs extra changes in [this
PR](https://github.com/appsmithorg/appsmith-ee/pull/4482) for build to
pass on EE.

**/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/9563607766>
> Commit: 02f6031cec08a4e805f479b500be40b08a003142
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9563607766&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`

<!-- end of auto-generated comment: Cypress test results  -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Updated methods to use direct values instead of `Optional` for
permissions, simplifying method signatures and improving readability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-20 10:21:12 +05:30
Shrikant Sharat Kandula
f718bfbb6b
chore: Remove unused LayoutServiceCE.createLayout (#34305)
The `LayoutServiceCE.createLayout` method is _only_ used in tests, and
so, should either be unneeded and so removed, or should be moved to
somewhere under `test/main/java` instead. But since it looks like we
don't actually need it, from reading the tests, removing it.


**/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/9564364280>
> Commit: 2f13223544d6c075b7af9b178f1493ef006ad711
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9564364280&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`

<!-- end of auto-generated comment: Cypress test results  -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
	- Updated layout retrieval method to include a new parameter.
- Removed `createLayout` method to streamline layout creation processes.
- Utilized Lombok's `@RequiredArgsConstructor` to simplify constructor
definitions.

- **Tests**
- Enhanced test assertions and refactored logic for layout and action
service tests.
- Improved test cleanup process by refining workspace archiving without
deleting applications.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-18 19:03:54 +05:30
Manish Kumar
4d33d6b033
chore: annotate serializable attributes with git annotation (#34273)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9545065563>
> Commit: d8db02d61a62df6e9c5ba413df9fb75e61734aba
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9545065563&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: ``

<!-- 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 JSON serialization to support Git views for various
application fields. This improves the consistency and control over how
data is displayed and managed in Git-related operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-18 15:57:27 +05:30
Shrikant Sharat Kandula
4bc1785392
chore: Deprecate .findById signature with Optional parameter (#34281)
This is work on getting to remove the `.findById` signature with
`Optional<>` arguments. This signature doesn't add any value, encourages
confusing multi-signature service methods (check the diff here), and is
causing unnecessary problems in `pg` branch with generating `*Cake`
classes.

This PR doesn't get rid of this entirely, just one part. A follow-up PR
will be opened after this is merged.

Nothing new, nothing fixed. Only a refactor.

No conflicts to EE, but needs extra changes, in [this
PR](https://github.com/appsmithorg/appsmith-ee/pull/3714) to be merged
for the build to pass.

**/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/9549476417>
> Commit: c1e45f2fe50530b7ec8436d9722310537d125166
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9549476417&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`

<!-- end of auto-generated comment: Cypress test results  -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Simplified method signatures by removing the use of `Optional` for
permission parameters across various services. Permissions are now
passed directly.
- Deprecated `findById` method that uses `Optional<AclPermission>` to
improve code clarity and maintainability.

- **Chores**
- Updated test cases to remove the use of `Optional.empty()` and
replaced with `null` in method calls.
  - Removed unnecessary imports of `Optional` in multiple files.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-18 15:07:23 +05:30
Shrikant Sharat Kandula
842ac10316
chore: Use RequiredArgsConstructor when possible (#34280)
This class injects `mongoOperations`, which isn't available on Postgres,
so there we inject `entityManager`. So when constructor params change in
this class, we get an unnecessary conflict. Using
`@RequiredArgsConstructor` makes this conflict go away.

And a minor case-fix in a log message.
2024-06-17 12:33:12 +00:00
Manish Kumar
8b85f36496
chore: refactored git status (#34270)
## Description
- Refactored Git status method to remove redundant logic in overloaded
method, now the base getStatus method uses, the overloaded method.

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/9544409678>
> Commit: 42fa4574d0d678808ef7e61ffb59ce751fe9a3bd
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9544409678&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`

<!-- end of auto-generated comment: Cypress test results  -->







## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Improved readability and maintainability of the code handling Git
operations.
	- Enhanced efficiency in file locking and data fetching processes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-17 14:26:21 +05:30
Nilansh Bansal
b4ca723799
chore: added new relic telemetry for spans (#34240)
## Description
> This PR adds telemetry and logs for different spans where tenant info
is fetched.

Fixes #34072  

## 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/9511509976>
> Commit: d4dc99e250372ce86847b6904c0e642c636ec9ad
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9511509976&attempt=1"
target="_blank">Click here!</a>

<!-- 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 tenant fetching with improved logging and metrics using
Micrometer.

- **Improvements**
- Added monitoring capabilities to various tenant-related services for
better observability and debugging.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-14 14:41:41 +05:30
Manish Kumar
8f0f4f9380
chore: json migration changes (#34238)
## Description

- In order to rollout the autocommit we need to increase the server
version number from 7 to 8, however we can't do that for all the
instance as tenants for which the autocommit flag is disabled would see
unneccessary changes. for that reason
added wrapping Json server version with feature flag..

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/9511247673>
> Commit: c8f5fe7f8228f1f8effdcdfde1041d5d976c7fcc
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9511247673&attempt=1"
target="_blank">Click here!</a>

<!-- 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 JSON structure in `application.json` representing
application details like name, pages, settings, and themes.

- **Refactor**
- Enhanced schema version management by replacing static references with
instance methods.
  
- **Tests**
- Updated test cases to incorporate new `JsonSchemaVersions` and
`JsonSchemaMigration` dependencies.
- Added a new test file for validating `JsonSchemaVersions` and feature
flag conditions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-14 11:50:18 +05:30
Nidhi
78df6b5e52
chore: Add baseId to app (#34223) 2024-06-13 11:36:25 +05:30
Anagh Hegde
ed8a4eba68
chore: consolidated response of block API (#34167)
## Description
Return all the entities created as a part of the building block import

Fixes #34122

## Automation

/ok-to-test tags="@tag.Templates"

### 🔍 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/9482200897>
> Commit: b78a8e5bab9c5191448593de958068477008c3d0
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9482200897&attempt=1"
target="_blank">Click here!</a>

<!-- 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 import functionality to include new lists for actions, action
collections, datasources, and custom JavaScript libraries.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-12 19:53:51 +05:30
Shrikant Sharat Kandula
b61577da47
chore: Remove updateAndFind (#34204)
This method is only partially implemented (see the
`updateExecuteAndFind`), is only used in one place, and isn't
implemented at all in `pg` branch. Removing this method reduces the
diff, and avoids more usages of this method that's missing on `pg`.

**/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/9482954144>
> Commit: b4d3023e8e8275a3ea7e5e7e3b91d91c116e6bb8
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9482954144&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Improved the internal structure of the update method for better code
organization and maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-12 19:20:30 +05:30
Nilesh Sarupriya
8f14e2c4f3
chore: move evaluationVersion to CommonConstants (#34200)
## Description
> Move EVALUATION_VERSION to `CommonConstanta.java`

Fixes https://github.com/appsmithorg/appsmith/issues/34171

## Automation

/ok-to-test tags="@tag.Sanity,@tag.Workflows,@tag.Git,@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/9478016239>
> Commit: b2459448474c16742d06e2f1fa45540f518b7e72
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9478016239&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->






## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Centralized the `EVALUATION_VERSION` constant, now imported from
`CommonConstants` across various services and tests for improved
maintainability and consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2024-06-12 02:17:37 -05:00
Shrikant Sharat Kandula
be76aeed60
chore: Make core encrypt/decrypt methods statically available (#34117)
Two goals.

1. Move encryption/decryption implementation to `interfaces` module.
Today, only the interfaces are in `interfaces` module, not the
implementations. We need the implementation also to be in `interfaces`.
We need this for solving encryption/decryption in the `pg` branch.

2. Make the encryption and decryption functions be static, and not
depend on Spring's DI system. We need this to be available _before_
Spring's DI kicks in, during runtime annotation processing by Hibernate,
so we need it to be just static functions, and not depend on Spring
havin initialized.

This also means that we have to read the env variables directly. The
`application.properties` is loaded by Spring, and since we want this
information before Spring intializes, we'll need to read the env
variables directly.

⚠️ There's conflicts and additional changes needed on EE for build to
pass. **DO NOT MERGE** unless the author is known to be available. EE PR
also passed all at https://github.com/appsmithorg/appsmith-ee/pull/4282.

**/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/9467180088>
> Commit: 402785da8df5aa6b4eeec9955421ce1ff7af305f
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9467180088&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-06-12 12:38:25 +05:30
Shrikant Sharat Kandula
3749688eb5
chore: Remove duplicate default field in JSON (#34192)
The default boolean is showing up twice when these objects are
serialized by Jackson. So today, it shows up twice in JSON HTTP
responses:

![shot-2024-06-12-01-10-29@2x](https://github.com/appsmithorg/appsmith/assets/120119/48f6a862-3fe0-4a6a-b13a-5b1d2b82b7da)

But with this PR, we only see one:

![shot-2024-06-12-01-33-04@2x](https://github.com/appsmithorg/appsmith/assets/120119/b5c80f7b-15ea-4927-804b-7b49b5e6ab6c)

On Postgres, since we use Jackson to serialize into database as well,
this means that we're saving redundant default field into the database
as well. This should fix that as well.

**/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/9476619780>
> Commit: c746454ebd85b5b601e7cbfbb199c7e1efd276a6
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9476619780&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->






<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Updated data handling for application pages to improve performance and
security.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-12 12:37:21 +05:30
Shrikant Sharat Kandula
fef3ea8461
chore: Remove deprecated .criteria signatures (#34193) 2024-06-12 11:48:03 +05:30
Manish Kumar
a114518cc0
chore: added index for application (#34175) 2024-06-11 17:40:18 +05:30
Manish Kumar
648832a081
chore: reverted server version number (#34158)
## Description
- Reverting server version number from 8 to 7, this would mean that even
if the feature flag is on, the server won't see any autocommits.

- Following this Pr, after promotion is complete we would go ahead
create feature flagging implementation for handling json schema version
numbers.

Fixes https://github.com/appsmithorg/appsmith/issues/34157
> [!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/9460989464>
> Commit: d6b05f2437c5810d1aa32ad4fb1950a84897e977
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9460989464&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->






## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Updated server schema version from 8 to 7 for improved compatibility.
- Adjusted migration logic to handle server schema version detection
more effectively.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-11 12:58:01 +05:30
Manish Kumar
e0de1f7038
chore: removed constraint on order of execution for consolidated apis (#34140)
## Description
- In the last implementation of auto-commit we were comparing dslVersion
of page dsl object with rts's latest version as a criteria to trigger
auto-commit. This check was implemented in the page fetch section of
`consolidated api call (page load)` itself. Since page dsls are migrated
in the consolidated api, hence we required this check to be executed
before the pages of application were migrated. Now that is not the case
anymore. hence order of execution for home page load is not a constraint
anymore. A removal is in order.

- Added a feature flag annotation with
`release_git_autocommit_feature_enabled` to stop feature flag leaks on
publisheAutocommitEvent method call.

Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/9448324929>
> Commit: 7f7f88fcd8a761aa9deacdfcb1a93bdc6d5f9900
> Workflow: `PR Automation test suite`
> Tags: ``

<!-- end of auto-generated comment: Cypress test results  -->




## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2024-06-10 14:07:21 +00:00
Nirmal Sarswat
56cfd980aa
chore: writing changes for bringing fixes in PG branch while keeping release intact (#34100)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9448599182>
> Commit: e5a9e6dfe9f46bd508d188e9dae40d28ddc398e8
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9448599182&attempt=1"
target="_blank">Click here!</a>

<!-- 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 JSON view annotations for better data handling in
BearerTokenAuth and UploadedFile classes.
  
- **Tests**
- Enhanced test methods in ExportServiceTests and ImportServiceTests to
use stream filtering for more accurate assertions on page properties.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-10 19:09:31 +05:30
Shrikant Sharat Kandula
5f0f104f0a
chore: Don't use MongoDB APIs to build update object (#34115)
When running update operations with a sparse resource object, we're
using MongoDB's `mongoConverter.write` method to build a map-like
object, to then build an `Update` object out of. But this
`mongoConverter.write` won't be available on Postgres, so we have to do
it without it there. For consistency, we're bringing that implementation
here.

We don't use Spring's or Apache's `BeanUtils` or `PropertyUtils` because
they operate on copying values for all `get*` and `set*` methods, which
isn't what we want here.

**/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/9433949721>
> Commit: c3f05628bc188c72d5da944614f51cb7eab8edc8
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9433949721&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->




<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Improved update methods to handle sparse resources more efficiently,
enhancing performance and reliability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-10 15:57:06 +05:30
Manish Kumar
bf92a52f5a
chore: autocommit feature branch (#34062)
## Description
The changes are related to the "auto-commit" migration feature.
**Server changes**
- Fixed issue with concurrent git calls for the same repo
- Trigger issues with auto-commit

**UI changes**
- Introduced new REST api for triggering auto-commit via client
- Updated logic for saga to use trigger auto-commit api for checking
whether to poll for auto-commit progress
- Updated logic to make status api call blocking
- Response structure change for auto-commit apis


Fixes #30110   
_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/9419768186>
> Commit: 129eaee76d3810e5e0ea9b6391048ff9338c9c8a
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9419768186&attempt=2"
target="_blank">Click here!</a>

<!-- 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 enhanced Git autocommit functionality with improved error
handling and progress tracking.
- Added new autocommit actions and state management for better
synchronization.

- **Bug Fixes**
  - Improved error handling during Git synchronization processes.

- **Refactor**
- Updated method names and parameters for clarity and consistency in Git
synchronization.

- **Chores**
- Renamed feature flags and constants related to Git autocommit for
better readability and maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: brayn003 <rudra@appsmith.com>
2024-06-10 12:35:23 +05:30
Shrikant Sharat Kandula
c605677f90
chore: Don't deserialize any request body to Layout (#34086)
The presence of `@JsonProperty` screws up the way objects are stored in
Postgres. This PR gets rid of it for the `Layout` class.

**/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/9416336191>
> Commit: 3256d44dfdf436c8eec6fd9db81e5cbfc98758cd
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9416336191&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Improved serialization and deserialization process for layouts by
updating annotations and introducing a new `LayoutDTO` class.
- Simplified page layout updates by using `LayoutDTO` instead of
`Layout`.

- **Tests**
- Updated tests to accommodate changes in layout handling, ensuring
consistency and correctness.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-07 19:35:01 +05:30
Anagh Hegde
12716f4a44
test: fix hung tests in CI (#34027)
## Description
Fix hung tests on the CI


Fixes #34026 

## Automation

/ok-to-test tags="@tag.Templates"

### 🔍 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/9399386015>
> Commit: c3c9ab9db85850d7323658b364e65a095d769e9c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9399386015&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->






## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
  - Improved test setup and scenarios in caching-related tests.
- Replaced `cloudServicesConfig` with `baseUrl` for better clarity and
maintainability in test methods.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-07 19:29:06 +05:30
Nirmal Sarswat
282735cbf2
fix: fixing null check failure on pg branch (#34090)
## 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.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]  
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.

<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Improved the stability of the layout retrieval process by adding null
checks for both `publishedPage` and `unpublishedPage` and their
respective `layouts`. This prevents potential errors when these elements
are missing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-07 18:30:12 +05:30
Anagh Hegde
99b9e44e8c
chore: refactor analytics event for partial import (#34066)
## Description
The block drag and drop flow uses the partial import flow under the
hood. This is causing wrong numbers being shown for the partial import
flow usage. Hence refactoring the flow to handle the analytics events.


Fixes #33868 
## Automation

/ok-to-test tags="@tag.Templates"

### 🔍 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/9412338920>
> Commit: 1cf3c837ba83aed905bad06ed5b97f3816de5e3a
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9412338920&attempt=1"
target="_blank">Click here!</a>

<!-- 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 import functionality to include user information and send
analytics events after the import process.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-07 13:02:20 +05:30
Nidhi
875f31ffd1
ci: Disable another hung test (#34023) 2024-06-06 15:29:27 +05:30
Manish Kumar
b9cf7707a0
fix: added fix for disabling the autocommit feature without feature flag (#34020)
## Description
- Added @featureFlagged annotation `(release_git_autocommit_enabled)` to
the interface method `isAutoCommitRequired` for
`AutocommitEligibilityHelper` to disable the autocommit as a feature

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/9398022580>
> Commit: f25b9eff2b2e4b0a646120d3c29748e6d71b9f5b
> Workflow: `PR Automation test suite`
> Tags: `@tag.Git`

<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
  - Introduced a feature flag for auto-commit functionality in the app.

- **Tests**
  - Disabled specific auto-commit test methods.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-06 09:26:52 +00:00
Nidhi
c380837806
Revert "fix: added fix for disabling the autocommit feature without feature flag" (#34017) 2024-06-06 14:14:57 +05:30
Manish Kumar
cc83cb5d54
fix: added fix for disabling the autocommit feature without feature flag (#34015) 2024-06-06 14:13:18 +05:30
Nidhi
a73082d370
ci: Comment hung test (#34006) 2024-06-06 10:57:55 +05:30
Anagh Hegde
a4a4f59976
chore: cache templates data (#33439)
## Description
Cache the templates data to improve the turn around time


Fixes https://github.com/appsmithorg/appsmith/issues/33440

## Automation

/ok-to-test tags="@tag.Templates"

### 🔍 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/9368135903>
> Commit: 5cbcbd353519ac523a2268cba54815473babead6
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9368135903&attempt=1"
target="_blank">Click here!</a>

<!-- 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 caching functionality for application templates and data to
improve performance.

- **Bug Fixes**
- Updated error handling for cloud services errors, changing the HTTP
status code from 500 to 400.

- **Tests**
- Added test cases to ensure data retrieval accuracy and validate cache
utilization for application templates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-05 07:24:37 +05:30
Nidhi
9dc9149c66
chore: Converging git refactor changes (#33971)
Co-authored-by: sondermanish <sonder.manish@gmail.com>
2024-06-04 22:31:39 +05:30
Shrikant Sharat Kandula
ef0d9518f6
chore: Don't hit the database when permission is non-null but permission groups is empty (#33732)
In the `userAcl` function, we build the criteria to do a permission
check, on the permission groups. The query turns out to be something
like this:

```
{policies: {$elemMatch: {permissionGroups: {$in: ["6303edf184daf727dddb003d", "6303edf184daf727dddb003e"]}}}}
```

Where that list of ID strings is the permission group IDs we're trying
to match against.

Now, when the permission group list is empty, we end up with a query
like this:

```
{policies: {$elemMatch: {permissionGroups: {$in: []}}}}
```

Which, is always `false`. It never matches any documents. Behaviour
equivalent to "no permissions".

In this PR, we avoid hitting the DB at all, when `permissionGroups` is
empty, but `permission` is not `null`.

One example where this scenario happens, is the tiny test
`TenantServiceCETest#setMapsKeyWithoutAuthentication`. This leads me to
believe that several API calls are dealing with this case:

![shot-2024-05-27-12-25-53](https://github.com/appsmithorg/appsmith/assets/120119/964ef710-b029-4294-9ca9-3a42ca0f1a30)

All unit and Cypress tests pass on EE, no conflicts and doesn't break
build.


/ok-to-test tags="@tag.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/9243092434>
> Commit: dd7bb14be82b664f6a7fa1be05cca537c8bafdc0
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9243092434&attempt=2"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->








<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Improved performance by adding conditional checks to prevent
unnecessary database queries when no permission groups are provided.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-04 13:45:46 +05:30
Shrikant Sharat Kandula
3457d1ed79
chore: Remove Optional in method arguments (#33602)
Minor refactor to reduce usage of `Optional` in method arguments, which
is not recommended.
2024-06-04 13:43:34 +05:30
Shrikant Sharat Kandula
b11eba7b52
chore: Remove explicit JSON props (#33577)
The explicitly set JSON property names are making Hibernate unhappy
(didn't look into full details, but removing them was good). And since
this is neither needed here (since the field names are the same), nor
are we doing this anywhere else in our code (breaking consistency), and
isn't adding any additional value either, we're removing it.


**/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/9347505983>
> Commit: 45911b06c2ea9830c7600a169db2abc1a1017038
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9347505983&attempt=2"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-06-04 13:36:47 +05:30
Nidhi
f173066a1a
chore: Revert "chore: Remove unreadCommentThreads (#33905)" (#33946) 2024-06-04 11:56:19 +05:30
sneha122
3c38ca950a
fix: [Perf Improvement] removed unnecessary individual DB calls to plugin and fetched al… (#33712)
## Description

This PR adds:
- Additional instrumentation around `datasources` section of
consolidated API

Datasources fetch process looks as below:
1. It first fetches all datasources belonging to a workspace
2. For each datasources, fetches its datasourceStorages
a. Calls populateHintMessages to populate messages property in
datasourceStorage
     b. Fetches plugin from DB
     c. Gets pluginExecutor from plugin
     d. calls getHintMessages on pluginExecutorMono
3. Marks recently used datasources (sorts all datasources based on
createdAt in desc order and marks top 3 as recent)

This PR adds improvements around point 2.b so that we fetch all plugins
at once in one DB call and then use that to process hint messages for
all datasourceStorages, this avoiding multiple calls to DB


Fixes #33711 
Fixes #33678
_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/9347912473>
> Commit: 15643310489a52ae4067bde8ce4d5b48fa73567f
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9347912473&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->








## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-06-03 18:03:30 +05:30
Abhijeet
4b50a7f0ec
chore: Add admin email domain hash and user tracking to analytics events (#33894)
## Description
PR to enhance analytics:
- User tracking: DAU, WAU, MAU  
- Hashed admin email domain

Update `instance_stats` properties for ref:
```
{
  "event": "instance_stats",
  "properties": {
	    "DAU": 2,
	    "MAU": 3,
	    "WAU": 3,
	    "adminEmailDomainHash": "eb93d881805376ef5297d8ac6fe95970f47d7bbd8d849b3a0d9c7af188caf648",
	    "cloudProvider": "",
	    "deployedAt": "",
	    "edition": "CE",
	    "efs": "",
	    "emailDomainHash": "eb93d881805376ef5297d8ac6fe95970f47d7bbd8d849b3a0d9c7af188caf648",
	    "hostname": "",
	    "instanceId": "6656f32dd841a66006d1ddc3",
	    "numActions": "8",
	    "numApps": "2",
	    "numDatasources": "2",
	    "numOrgs": "2",
	    "numPages": "2",
	    "numPublicApps": "0",
	    "numUsers": "3",
	    "tool": "",
	    "version": "UNKNOWN"
  },
  "receivedAt": "2024-05-31T11:48:35.831Z",
  "timestamp": "2024-05-31T11:48:35.831Z",
  "type": "track",
  "userId": "6656f32dd841a66006d1ddc3"
}
```

Fixes https://github.com/appsmithorg/appsmith/issues/33714

## 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/9318669278>
> Commit: fcacaf3e8b3608eeb8ff5a6d1437a8567c397a0e
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9318669278&attempt=2"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->





## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-06-03 13:54:15 +05:30
Shrikant Sharat Kandula
dd38743030
chore: Remove unreadCommentThreads (#33905)
Not removing this field from Cypress test resources, so that we continue
to test with past export files.

/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/9344945556>
> Commit: b97cece10c2e20d9552ac0942badd9d9a9e47850
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9344945556&attempt=2"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-06-03 13:15:45 +05:30
Shrikant Sharat Kandula
db33b374ea
chore: Remove unneeded @Document on GitProfile (#33910)
The `GitProfile` is not used as an entity class, and doesn't need a
collection/table in the database.
2024-06-03 10:20:26 +05:30
Shrikant Sharat Kandula
d78e53e8b6
chore: Delete unused GitConfig entity class (#33909)
Not used in EE either.
2024-06-03 09:33:01 +05:30
Manish Kumar
8b9406ba3e
chore: Adding logging mechanism to find out context of redis git locks (#33895)
## Description
- Introduction of context to redis file locks for git operations. Now
the lock would be aware of what command has placed the it.

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/9318823149>
> Commit: 278716d520d9a08e5b39bc24faf770840bf45220
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9318823149&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->




## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-05-31 20:09:09 +05:30
Nidhi
d4645bd240
chore: Modified logging context to have only requestId and userEmail (#33777) 2024-05-31 18:25:13 +05:30
Anagh Hegde
1086cdbb14
chore: Add API for storing dependencyMap in page object (#33296)
## Description
The dependencyMap consumes considerable computation on the frontend. We
would like to persist that in the backend for every page in an
application.

For details on the signature and payload of the api calls please refer
[this
document](https://www.notion.so/appsmith/Solution-design-dependencyMap-0c031675f13140f7a433c731b3e45470?pvs=4#1ee6692b74804422a80cba86cc9ba87f)
Slack thread -
https://theappsmith.slack.com/archives/C024GUDM0LT/p1714100372372069

Fixes https://github.com/appsmithorg/appsmith/issues/33030

## 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/9253166755>
> Commit: 03e9f01bec1203feb1278118f2286fc66cc548bd
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9253166755&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->














## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-05-31 14:38:44 +05:30
Abhijeet
b64993de44
chore: Add admin email domain hash to get tenant API (#33840)
## Description
PR to add `adminEmailDomainHash` field in GET tenant response, which
will be consumed by client to add in analytics events.

Relevant thread:
https://theappsmith.slack.com/archives/C04H5PFRN1H/p1715153325878529

## Automation

/ok-to-test tags="@tag.Settings"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9297621747>
> Commit: ee43608aadcc84e180a280d54b41906fe5ff4953
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9297621747&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->




## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-05-31 11:24:36 +05:30
Anagh Hegde
8eed4b589f
fix: ignore DSL parsing errors in the forking flow (#33831) 2024-05-30 16:55:21 +05:30
Rahul Barwal
ee43abd866
fix: Update PartialImportServiceCEImpl to fetch all existing entities with true flag (#33833)
## Description
This change ensures that the name clashing issue does not check for
widget names as we are doing that on client side.
* In addition it also filter out names that are non-clashing.


Fixes #
_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.Widget, @tag.Templates"

### 🔍 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/9288005025>
> Commit: 5e5c6507c322727a0dd9791ea999c40f93509388
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9288005025&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->




## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-05-29 21:38:47 +05:30
Manish Kumar
e03b1ed042
chore: package refactors and left over changes for git autocommit pr (#33768)
## Description
- Adding refactors

## 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/9284429088>
> Commit: 51302159c5aad387ae03515bfbb65916f8bd505d
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9284429088&attempt=4"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->









## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2024-05-29 17:42:23 +05:30
Shrikant Sharat Kandula
cc6bc164c7
chore: No stack trace on 400 (#33723)
We see this:

```
400 BAD_REQUEST "Failed to read HTTP message";; JSON decoding error: Unrecognized field "showNavbar" (class com.appsmith.server.dtos.ApplicationCreationDTO), not marked as ignorable;; Unrecognized field "showNavbar" (class com.appsmith.server.dtos.ApplicationCreationDTO), not marked as ignorable (6 known properties: "workspaceId", "color", "icon", "name", "showNavBar", "positioningType"])
 at [Source: (org.springframework.core.io.buffer.DataBufferInputStream); line: 1, column: 156] (through reference chain: com.appsmith.server.dtos.ApplicationCreationDTO["showNavbar"])
```


<details>
<summary>Instead of this (collapsed cause it's too big)</summary>

```
org.springframework.web.server.ServerWebInputException: 400 BAD_REQUEST "Failed to read HTTP message"
    at org.springframework.web.reactive.result.method.annotation.AbstractMessageReaderArgumentResolver.handleReadError(AbstractMessageReaderArgumentResolver.java:237)
    Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Assembly trace from producer [reactor.core.publisher.MonoLift] :
    reactor.core.publisher.Mono.error(Mono.java:298)
    org.springframework.web.reactive.result.method.annotation.AbstractMessageReaderArgumentResolver.lambda$readBody$3(AbstractMessageReaderArgumentResolver.java:202)
Error has been observed at the following site(s):
    *___________Mono.error ⇢ at org.springframework.web.reactive.result.method.annotation.AbstractMessageReaderArgumentResolver.lambda$readBody$3(AbstractMessageReaderArgumentResolver.java:202)
    *___Mono.onErrorResume ⇢ at org.springframework.web.reactive.result.method.annotation.AbstractMessageReaderArgumentResolver.readBody(AbstractMessageReaderArgumentResolver.java:202)
    |_  Mono.switchIfEmpty ⇢ at org.springframework.web.reactive.result.method.annotation.AbstractMessageReaderArgumentResolver.readBody(AbstractMessageReaderArgumentResolver.java:204)
    |_       Mono.doOnNext ⇢ at org.springframework.web.reactive.result.method.annotation.AbstractMessageReaderArgumentResolver.readBody(AbstractMessageReaderArgumentResolver.java:207)
    |_ Mono.defaultIfEmpty ⇢ at org.springframework.web.reactive.result.method.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:206)
    |_      Mono.doOnError ⇢ at org.springframework.web.reactive.result.method.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:207)
    *_____________Mono.zip ⇢ at org.springframework.web.reactive.result.method.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:214)
    |_        Mono.flatMap ⇢ at org.springframework.web.reactive.result.method.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:136)
    *___________Mono.defer ⇢ at org.springframework.web.reactive.result.method.annotation.RequestMappingHandlerAdapter.handle(RequestMappingHandlerAdapter.java:201)
    *____________Mono.then ⇢ at org.springframework.web.reactive.result.method.annotation.RequestMappingHandlerAdapter.handle(RequestMappingHandlerAdapter.java:201)
    |_       Mono.doOnNext ⇢ at org.springframework.web.reactive.result.method.annotation.RequestMappingHandlerAdapter.handle(RequestMappingHandlerAdapter.java:202)
    |_       Mono.doOnNext ⇢ at org.springframework.web.reactive.result.method.annotation.RequestMappingHandlerAdapter.handle(RequestMappingHandlerAdapter.java:203)
Original Stack Trace:
        at org.springframework.web.reactive.result.method.annotation.AbstractMessageReaderArgumentResolver.handleReadError(AbstractMessageReaderArgumentResolver.java:237)
        at org.springframework.web.reactive.result.method.annotation.AbstractMessageReaderArgumentResolver.lambda$readBody$3(AbstractMessageReaderArgumentResolver.java:202)
        at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:94)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onError(MDCConfig.java:65)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onError(MDCConfig.java:65)
        at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onError(FluxHide.java:142)
        at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:136)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:60)
        at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
        at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:60)
        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:60)
        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:60)
        at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
        at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2071)
        at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:145)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:70)
        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:70)
        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:70)
        at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
        at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:481)
        at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:273)
        at reactor.netty.channel.FluxReceive.request(FluxReceive.java:131)
        at reactor.core.publisher.FluxMap$MapSubscriber.request(FluxMap.java:164)
        at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144)
        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.Operators$BaseFluxToMonoOperator.request(Operators.java:2041)
        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.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
        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:2341)
        at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:74)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
        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:54)
        at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
        at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onSubscribe(FluxContextWrite.java:101)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
        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:54)
        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:54)
        at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
        at reactor.core.publisher.Operators$BaseFluxToMonoOperator.onSubscribe(Operators.java:2025)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
        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:54)
        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:54)
        at reactor.core.publisher.FluxMap$MapSubscriber.onSubscribe(FluxMap.java:92)
        at reactor.netty.channel.FluxReceive.startReceiver(FluxReceive.java:170)
        at reactor.netty.channel.FluxReceive.lambda$subscribe$2(FluxReceive.java:148)
        at io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:174)
        at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:167)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        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)
Caused by: org.springframework.core.codec.DecodingException: JSON decoding error: Unrecognized field "showNavbar" (class com.appsmith.server.dtos.ApplicationCreationDTO), not marked as ignorable
    at org.springframework.http.codec.json.AbstractJackson2Decoder.processException(AbstractJackson2Decoder.java:275)
    Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Assembly trace from producer [reactor.core.publisher.MonoLiftFuseable] :
    reactor.core.publisher.Mono.flatMap(Mono.java:3100)
    org.springframework.http.codec.json.AbstractJackson2Decoder.lambda$decodeToMono$3(AbstractJackson2Decoder.java:190)
Error has been observed at the following site(s):
    *__________Mono.flatMap ⇢ at org.springframework.http.codec.json.AbstractJackson2Decoder.lambda$decodeToMono$3(AbstractJackson2Decoder.java:190)
    *__Mono.deferContextual ⇢ at org.springframework.http.codec.json.AbstractJackson2Decoder.decodeToMono(AbstractJackson2Decoder.java:185)
Original Stack Trace:
        at org.springframework.http.codec.json.AbstractJackson2Decoder.processException(AbstractJackson2Decoder.java:275)
        at org.springframework.http.codec.json.AbstractJackson2Decoder.decode(AbstractJackson2Decoder.java:211)
        at org.springframework.http.codec.json.AbstractJackson2Decoder.lambda$decodeToMono$2(AbstractJackson2Decoder.java:191)
        at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:132)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:60)
        at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
        at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:60)
        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:60)
        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:60)
        at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
        at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2071)
        at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:145)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:70)
        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:70)
        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:70)
        at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
        at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:481)
        at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:273)
        at reactor.netty.channel.FluxReceive.request(FluxReceive.java:131)
        at reactor.core.publisher.FluxMap$MapSubscriber.request(FluxMap.java:164)
        at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144)
        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.Operators$BaseFluxToMonoOperator.request(Operators.java:2041)
        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.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
        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:2341)
        at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:74)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
        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:54)
        at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
        at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onSubscribe(FluxContextWrite.java:101)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
        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:54)
        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:54)
        at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
        at reactor.core.publisher.Operators$BaseFluxToMonoOperator.onSubscribe(Operators.java:2025)
        at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
        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:54)
        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:54)
        at reactor.core.publisher.FluxMap$MapSubscriber.onSubscribe(FluxMap.java:92)
        at reactor.netty.channel.FluxReceive.startReceiver(FluxReceive.java:170)
        at reactor.netty.channel.FluxReceive.lambda$subscribe$2(FluxReceive.java:148)
        at io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:174)
        at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:167)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        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)
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "showNavbar" (class com.appsmith.server.dtos.ApplicationCreationDTO), not marked as ignorable (6 known properties: "workspaceId", "color", "icon", "name", "showNavBar", "positioningType"])
 at [Source: (org.springframework.core.io.buffer.DataBufferInputStream); line: 1, column: 153] (through reference chain: com.appsmith.server.dtos.ApplicationCreationDTO["showNavbar"])
    at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
    at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:1153)
    at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:2241)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1793)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperties(BeanDeserializerBase.java:1743)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:546)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1493)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:348)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:185)
    at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342)
    at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:2125)
    at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1501)
    at org.springframework.http.codec.json.AbstractJackson2Decoder.decode(AbstractJackson2Decoder.java:206)
    at org.springframework.http.codec.json.AbstractJackson2Decoder.lambda$decodeToMono$2(AbstractJackson2Decoder.java:191)
    at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:132)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:60)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
    at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:60)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
    at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:60)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
    at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onNext(FluxOnAssembly.java:539)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:60)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
    at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2071)
    at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:145)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onComplete(FluxOnAssembly.java:549)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:70)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147)
    at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onComplete(FluxOnAssembly.java:549)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:70)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147)
    at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onComplete(FluxOnAssembly.java:549)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:70)
    at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
    at reactor.netty.channel.FluxReceive.terminateReceiver(FluxReceive.java:481)
    at reactor.netty.channel.FluxReceive.drainReceiver(FluxReceive.java:273)
    at reactor.netty.channel.FluxReceive.request(FluxReceive.java:131)
    at reactor.core.publisher.FluxMap$MapSubscriber.request(FluxMap.java:164)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.request(FluxOnAssembly.java:649)
    at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.request(FluxOnAssembly.java:649)
    at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.request(FluxOnAssembly.java:649)
    at reactor.core.publisher.Operators$BaseFluxToMonoOperator.request(Operators.java:2041)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.request(FluxOnAssembly.java:649)
    at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.request(FluxOnAssembly.java:649)
    at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.request(FluxOnAssembly.java:649)
    at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.request(FluxOnAssembly.java:649)
    at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.request(FluxOnAssembly.java:649)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.request(FluxOnAssembly.java:649)
    at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2341)
    at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:74)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onSubscribe(FluxOnAssembly.java:633)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onSubscribe(FluxOnAssembly.java:633)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
    at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onSubscribe(FluxOnAssembly.java:633)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
    at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onSubscribe(FluxContextWrite.java:101)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onSubscribe(FluxOnAssembly.java:633)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
    at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onSubscribe(FluxOnAssembly.java:633)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
    at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onSubscribe(FluxOnAssembly.java:633)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
    at reactor.core.publisher.Operators$BaseFluxToMonoOperator.onSubscribe(Operators.java:2025)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onSubscribe(FluxOnAssembly.java:633)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
    at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onSubscribe(FluxOnAssembly.java:633)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
    at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
    at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178)
    at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onSubscribe(FluxOnAssembly.java:633)
    at com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:54)
    at reactor.core.publisher.FluxMap$MapSubscriber.onSubscribe(FluxMap.java:92)
    at reactor.netty.channel.FluxReceive.startReceiver(FluxReceive.java:170)
    at reactor.netty.channel.FluxReceive.lambda$subscribe$2(FluxReceive.java:148)
    at io.netty.util.concurrent.AbstractEventExecutor.runTask$$$capture(AbstractEventExecutor.java:174)
    at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:167)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    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)
```
</details>



/test sanity
2024-05-28 09:57:05 +05:30
Shrikant Sharat Kandula
4a317603fe
chore: Remove unused eventData (#33730)
For action creation, client sends this in `eventData` field of the
request body:

![shot-2024-05-26-04-50-46](https://github.com/appsmithorg/appsmith/assets/120119/b876b27f-47ec-4a00-8598-33cb92120c49)

But the class defined for `eventData` is this:

![shot-2024-05-26-04-51-03](https://github.com/appsmithorg/appsmith/assets/120119/18bf46b7-597a-4b2f-8355-1b8fad30e4ce)

Clearly isn't used, or working.


/test sanity datasource

⚠️ Note that `eventData` is actually used in the analytics data sent by
client, and that's not being removed here. We're only removing the
unused server-side support here.

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9242015567>
> Commit: 30e8f455a310b3a25cf80cb6fc21da704ac0d411
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9242015567&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-28 09:50:12 +05:30
Shrikant Sharat Kandula
9786d9b0a5
test: Page creation API doesn't have a customSlug field (#33728)
This test isn't actually testing anything since the page creation API
doesn't accept any `customSlug` field at all.
2024-05-28 09:49:14 +05:30
Nilansh Bansal
b6b00d077a
feat: Adding Tenant Information to Redis Cache for quick fetch (#33641)
## Description

The tenant is fetched multiple times across the appsmith codebase but is
rarely updated (from the admin settings). Every time a fetch call to the
database is costly both in terms of resources and time taken.
The consolidated api also makes a call to fetch the tenant and return to
the client. To improve the performance of fetching the tenant
information, we are moving the tenant information to redis cache for
quicker fetch.
This will improve the performance of the consolidated api and also
reduce the time taken by all the different functionalities within the
backend codebase which depend on tenant to process further.

> The old PR implementation
https://github.com/appsmithorg/appsmith/pull/33309 had to be reverted
due to the tenant GAC permissions not in sync between database and
redis. RCA
[ref](https://www.notion.so/appsmith/Reversion-for-Tenant-Caching-implementation-after-merging-to-release-cd720b9959e4413f98decb884c375ad2).
This PR uses the same branch as the old PR and builds the pending
functionalities to complete the implementation.

**Counterpart EE PR**:
https://github.com/appsmithorg/appsmith-ee/pull/4275

**TL;DR**
Adds tenant information `tenantService.getDefaultTenant()` to redis.

Fixes #33083, #33504,
https://github.com/appsmithorg/appsmith/issues/33578
## Automation

/ok-to-test tags="@tag.Settings"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9253953003>
> Commit: 7b4bf8d6b0b6273988c71ff37b615f81e36f03f4
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9253953003&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->












## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No

---------

Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com>
2024-05-28 08:50:16 +05:30
Shrikant Sharat Kandula
ebbf195937
chore: Clear stale product alert messages (#33727)
These alerts are no longer needed.

Fix for these stack traces showing up in the logs:

```
org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'isMongoUptoDate' cannot be found on object of type 'com.appsmith.server.configurations.CommonConfig$$SpringCGLIB$$0' - maybe not public or not valid?
	at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:222)
...
```

```
org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'isConnectedMongoVersionAvailable' cannot be found on object of type 'com.appsmith.server.configurations.CommonConfig$$SpringCGLIB$$0' - maybe not public or not valid?
	at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:222)
...
```

Since those methods were deemed unused in the code, and removed.

We should refactor this product alert system to not depend on "string"
based expression evaluation, since it's much harder to identify
used/unused methods/fields. But that can come later.

/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/9244363913>
> Commit: 07cfea44a49890bec941633759140ad6a3309f46
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9244363913&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-28 08:41:08 +05:30
Shrikant Sharat Kandula
c4e5d5e6c8
chore: Don't use Layout class for parsing request payloads (#33760)
Goal is to remove `Layout` class being used to deserialise request
payloads. There's two routs in `LayoutControllerCE` that are doing this.

1. The `POST /api/v1/layouts/pages/{pageId}` seems unused, so removing
that.
2. The `PUT /api/v1/layouts/{layoutId}/pages/{pageId}` only gets a
single field in the JSON body, called `dsl`. So we introduce a `record`
to accept just that.

All in an effort towards remove `@JsonProperty` from `Layout`, so it can
work correctly with Postgres.

**/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/9254557613>
> Commit: a8ebac28e571d3c89ec8a5fcb6ac9cdc1e8f308f
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9254557613&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-27 20:50:35 +05:30
Manish Kumar
6ad9210a6f
chore: additional test cases and method refactor to follow old standards (#33734)
## Description
- Added fallback implementation for autocommit eligibility helper to
avoid accessing FS for git connected apps when feature flags are
switched off
- Added test cases to verify the same
- modified test cases names to follow standards
- refactored method to follow standard

## Automation

/ok-to-test tags="@tag.Git"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9244442582>
> Commit: bb8e1411aeb67feafd79c6c1fd40686020c4105f
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9244442582&attempt=1"
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/9244442582"
target="_blank">here.</a>

<!-- end of auto-generated comment: Cypress test results  -->



## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2024-05-27 18:40:38 +05:30
Shrikant Sharat Kandula
27e0cb1a95
chore: Fix typo in request field name (#33722)
Test for this is already there, `AnvilAppNavigation_spec`, which is
currently marked as flaky. Will unmark once we merge this in, verified
to pass locally. It's the _only_ functionality in the product that uses
this field in the request body today.

/test sanity
2024-05-27 10:12:49 +05:30
Shrikant Sharat Kandula
cece3fcdf8
chore: Delete unused files (#33702)
These files are no longer used in the product or code and can be deleted.
2024-05-24 13:13:41 +05:30
Manish Kumar
849d97ecd3
feat: feature branch for server side autocommit (#32572)
## Description
- Feature branch for server side AutoCommit.
Fixes #32888 
## Automation

/ok-to-test tags="@tag.Git"

### 🔍 Cypress test results

## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9213172317>
> Commit: de1635016890f4a3f0e32130c307562fa7091f3f
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9213172317&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-24 10:29:58 +05:30
Manish Kumar
99110491fc
fix: added fix for vanishing appdetails (#33698)
## Description
- modified logic to copy the ApplicationDetails object of the
importedApplication to existing application

Fixes #24920

## 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/9207111058>
> Commit: 9d426c0ab94360ad964fbaaa267ee2485c10a322
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9207111058&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->





## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2024-05-23 19:44:02 +05:30
Arpit Mohan
85f6340561
fix: Remove the feature to download docker-compose file from admin settings (#33682)
## Description

Fixes #`Issue Number`  

## Automation

/ok-to-test tags="@tag.Settings,@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/9203402018>
> Commit: 200f008e602d5173a6167209b8b7804c086e8fb8
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9203402018&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->






## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-05-23 13:59:57 +05:30
Shrikant Sharat Kandula
1983bb7a7f
chore: Remove unused methods in CommonConfig 2024-05-23 11:57:14 +05:30
Abhijeet
039f664499
revert: "fix: Remove the strict check for mongo url" (#33671)
Reverts appsmithorg/appsmith#33652

Reverting the change as the root cause was different
https://theappsmith.slack.com/archives/C0134BAVDB4/p1716393908273869?thread_ts=1716375955.137629&cid=C0134BAVDB4

## Automation

/ok-to-test tags="@tag.Sanity"<!-- This is an auto-generated comment:
Cypress test results -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/9201290830>
> Commit: 8e623fa37565078c23f1a307cbdfa416cfa89ed0
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-23 09:03:13 +05:30
Abhijeet
cfcc00ef67
fix: Remove the strict check for mongo url (#33652)
## 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.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/9191016385>
> Commit: c74e98018a6b4bd212e922eb1b3015195a5234a0
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9191016385&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->





## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2024-05-22 18:10:22 +05:30
Abhijeet
7e339d419d
test: Enable server tests for the PRs with base PG branch (#33429)
## Description
1. PR to enable server tests on PRs with `pg` as the base branch. 
2. Replace the DB URI from `APPSMITH_MONGODB_URI` to `APPSMITH_DB_URL` 

## Automation

/ok-to-test tags="@tag.Sanity, @tag.GenerateCRUD, @tag.Fork"

### 🔍 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/9174148396>
> Commit: 762b4255f654946a1a47a196df5a1afae5be09f2
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9174148396&attempt=1"
target="_blank">Click here!</a>

<!-- 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: Shrikant Sharat Kandula <shrikant@appsmith.com>
2024-05-22 15:55:20 +05:30
Shrikant Sharat Kandula
b831a3943b
chore: Add ApplicationCreationDTO for Application creation API body (#33200)
This PR cleans up the application creation API with stricter validations
on the input. We're also moving the `workspaceId` from the query
parameter into the body, so it can be validated togather and all input
data is in one place. Simplifies code both in client and server.

No additional changes for EE, and no conflicts either, and al unit and
Cypress tests pass.

/ok-to-test tags="@tag.Sanity"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9130707553>
> Commit: 916b54c802a163910c738e3f8ceb203314a38a6c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9130707553&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-22 11:36:20 +05:30
Shrikant Sharat Kandula
d8cfc220c7
chore: Refactor RTSCaller API signatures for more flexibility (#33614)
We need this flexibility for some API calls in the EE, and it doesn't
make much sense to have separate API signatures for CE/EE.

/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/9173253978>
> Commit: 422aaa8863aa3aa0039ac60cb46e370ea89127f7
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9173253978&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-21 16:37:31 +05:30
Shrikant Sharat Kandula
e161b51725
chore: Remove UpdateDefinition from MongoDB API (#33575)
Reduce usage of MongoDB-specific APIs. Needed for Postgres. 

/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/9159562023>
> Commit: 563b633b814562a6d300cf09a5ac233b0ecee54b
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9159562023&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-21 12:13:35 +05:30
Manish Kumar
2cb539024f
chore: fixing file lock issues on autocommit (#33549)
## Description 
- Refactoring consolidated Api to replace autocommit trigger.
- Reduced # db-calls for new pages.

Fixes #33384 

## Automation

/ok-to-test tags="@tag.All"

### 🔍 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 methods for retrieving and constructing application pages based
on branch and mode.
  - Improved logic and error handling for fetching application pages.
  - Enhanced schema migration for Git-connected apps.

- **Refactor**
- Replaced method calls in `ConsolidatedAPIServiceImpl` for better
performance.
- Modified method in `ApplicationServiceCE` for finding applications by
default ID, branch name, and mode.

- **Tests**
- Updated test cases in `ConsolidatedAPIServiceImplTest` for method call
modifications.
<!-- end of auto-generated comment: release notes by coderabbit.ai
--><!-- This is an auto-generated comment: <!-- This is an
auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9126493633>
> Commit: 82285f6c2a4ab427857aa56269f5b1e38cd0edf3
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9126493633&attempt=2"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-17 19:01:45 +05:30
Shrikant Sharat Kandula
04d9d7d6de
chore: Remove incorrect and unused update signature (#33529)
The `update` method with `String, T, String` signature, is not used in
it's form anywhere. This is most likely owing to the implementation
being off. The criteria used to find the object to be updated, is not
the same as the criteria used to find the updated object to return to
the caller.

The query to update is `{value of key field} = id`.

The query to find is `{value of "id" field} = id`.

This discrepency is likely why this function is not used anywhere. The
`ApplicationServiceCE` alone has an overridden implementation for this
signature, but that's defined with different variable names, and treats
the third argument as the Git branch name, not `key`. That function is
indeed used, and is unaffected by this change.

All of above is verified on EE as well. No conflicts, no build failure.

/ok-to-test tags="@tag.Sanity"
2024-05-17 17:20:01 +05:30
Manish Kumar
03841a1023
revert: "chore: fixing file lock issues on autocommit" (#33548)
Reverts appsmithorg/appsmith#33496
2024-05-17 15:15:24 +05:30
Ankita Kinger
4bb0af479e
chore: Replacing "Edition" with "Plan" for business and enterprise edition references (#33506)
## Description

Replacing "Edition" with "Plan" for business and enterprise edition
references.

Fixes [#1415](https://github.com/appsmithorg/cloud-services/issues/1415)
2024-05-17 13:19:32 +05:30
Shrikant Sharat Kandula
8aeb900a1c
chore: Rename base-getById where appropriate (#33253)
The `getById` method in `CrudService`/`BaseService` gets an item from
the DB without checking for permissions. But a few services
(`Application` and `Workspace`) have overridden this method to run the
query _with_ permission check. This gives the false impression that this
method has a permission check for _all_ services, which is not the case.

So we're renaming the base method to `getByIdWithoutPermissionCheck`,
and make the overridden versions as `getById`. This should make it a lot
more obvious where we're querying with permissions and where we're
ignoring them, and make an informed choice of when what is needed.

## Review tips

1. The new `getById` does a permission check. The new
`getByIdWithoutPermissionCheck` doesn't do a permission check.
2. Since only calls to `getById` for the application and workspace
service were using permission check, we need to ensure that:
1. All calls to `getById` on application service and workspace service,
are untouched.
2. All calls to `getById` on any other service are changed to
`getByIdWithoutPermissionCheck`. Any remaining call to `getById` would
throw a compile error since we removed it from `BaseService` anyway.


EE PR at https://github.com/appsmithorg/appsmith-ee/pull/4136.

/ok-to-test tags="@tag.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/9111401344>
> Commit: 96df2feee613a0e3628f6ec9f91313c2c4b84360
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9111401344&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-16 19:37:01 +05:30
Manish Kumar
f177b224c8
chore: fixing file lock issues on autocommit (#33496)
## Description 
- Refactoring consolidated Api to replace autocommit trigger.
- Reduced # db-calls for new pages.

Fixes #33384 

## Automation

/ok-to-test tags="@tag.All"

### 🔍 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 methods for retrieving and constructing application pages based
on branch and mode.
  - Improved logic and error handling for fetching application pages.
  - Enhanced schema migration for Git-connected apps.

- **Refactor**
- Replaced method calls in `ConsolidatedAPIServiceImpl` for better
performance.
- Modified method in `ApplicationServiceCE` for finding applications by
default ID, branch name, and mode.

- **Tests**
- Updated test cases in `ConsolidatedAPIServiceImplTest` for method call
modifications.
<!-- end of auto-generated comment: release notes by coderabbit.ai
--><!-- This is an auto-generated comment:


<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9110390548>
> Commit: a175879d86edbb9b221ac41570d76c0fc1ca754d
> Cypress dashboard: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9110390548&attempt=3&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank"> Click here!</a>
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/SettingsPane/EmbedSettings_spec.ts
</ol>
> To know the list of identified flaky tests - <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">Refer here</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-16 17:45:43 +05:30
Manish Kumar
2534c6e5f9
chore: modify existing regex for better readability (#33482)
## Description
- removed of additional fallback patterns for identifying the ssh
address for git connect
 - modified the existing regexes to be more precise. 


Fixes #19881

## 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/9107246042>
> Commit: 6466e53ad5a5cfb1e2eca65af5d9f41a9f5f83b0
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9107246042&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->








## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2024-05-16 12:34:25 +05:30
Nilansh Bansal
744e4ef730
chore: Revert "feat: Moved Tenant Information to Redis for quick access" (#33512) 2024-05-16 11:49:34 +05:30
Nilansh Bansal
047385b38c
fix: added serialization for LicenseCE (#33487)
## Description
After merging the PR https://github.com/appsmithorg/appsmith/pull/33309,
we started to store the Tenant Information in the Redis cache. Redis
needs to serialize the objects upon storing and deserialize post
fetching.
To do that we need to implement serialization for all the nested user
defined Domains.
This was missed for the LicenseCE and Payment object.
Corresponding EE PR:
https://github.com/appsmithorg/appsmith-ee/pull/4191

Fixes #33486   

## Automation

/ok-to-test tags="@tag.Settings, @tag.LicenseAndBilling"

### 🔍 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/9096922670>
> Commit: 559bcd6ef3559e2568369bc5ed65304915802f7c
> Cypress dashboard: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9096922670&attempt=3&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank"> Click here!</a>
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/ProductRamps/PrivateEmbedRamp_spec.ts
</ol>
> To know the list of identified flaky tests - <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">Refer here</a>

<!-- end of auto-generated comment: Cypress test results  -->






## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-05-15 21:56:19 +05:30
Abhijeet
691966efad
feat: Move to class level projections instead of field ones (#32801)
## Description
PR to add support for class-based projection. 
Method signature: 
```
public <P> List<P> all(Class<P> projectionClass) {
        return repo.queryAllExecute(this, projectionClass);
    }

public <P> Optional<P> one(Class<P> projectionClass) {
        return repo.queryOneExecute(this, projectionClass);
    }
```

## Automation

/ok-to-test tags="@tag.Sanity, @tag.GenerateCRUD, @tag.ImportExport,
@tag.Workspace"

### 🔍 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/9094346734>
> Commit: 8469568d1c387cbabb9a0e95db6836900c13e479
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9094346734&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->






## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-05-15 17:28:05 +05:30
Nidhi
49bf9c64ea
chore: Add Swagger UI for server API docs (#33477) 2024-05-15 15:49:21 +05:30
Manish Kumar
1e236430e6
fix: added regex (#33426)
## Description
> Added regex for supporting custom usernames in ssh

Fixes #19881
## 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/9090239144>
> Commit: 05f2b6f8e6bbbbd6f05e70d9fa9194a07c89d86d
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9090239144&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->






## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2024-05-15 11:04:32 +05:30
Nilansh Bansal
306e8c11a6
feat: Moved Tenant Information to Redis for quick access (#33309)
## Description

The tenant is fetched multiple times across the appsmith codebase but is
rarely updated (from the admin settings). Every time a fetch call to the
database is costly both in terms of resources and time taken.
The consolidated api also makes a call to fetch the tenant and return to
the client. To improve the performance of fetching the tenant
information, we are moving the tenant information to redis cache for
quicker fetch.
This will improve the performance of the consolidated api and also
reduce the time taken by all the different functionalities within the
backend codebase which depend on tenant to process further.

**TL;DR**
Adds tenant information `tenantService.getDefaultTenant()` to redis.

Fixes #33083 

## 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/9079438120>
> Commit: 306e77f1460caf5302e1dd39fc58cce35790a04b
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9079438120&attempt=2"
target="_blank">Click here!</a>

<!-- 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: Arpit Mohan <mohanarpit@users.noreply.github.com>
2024-05-15 07:15:29 +05:30
Nidhi
dd73e8b91f
fix: Enable atomic pushes in git using an environment configuration (#33367)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-05-14 10:24:21 +05:30
Trisha Anand
72504222e7
chore: Splitting JS Object body dump vs parsed JS Object update to remove race condition originated bad state (#33124)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9029211697>
> Commit: 190f7682cad3117e776d94f1502609026633369c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9029211697&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->










## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No

---------

Co-authored-by: Nidhi Nair <nidhi@appsmith.com>
Co-authored-by: Diljit VJ <diljit@appsmith.com>
2024-05-13 09:38:30 +05:30
Trisha Anand
77ce34a0fb
Revert "fix: Fixes CREATE_JS_ACTION_ERROR error that disallows creating js objects or updating actions on certain git connected apps" (#33341)
Reverts appsmithorg/appsmith#33303
2024-05-10 10:14:01 +05:30
Rudraprasad Das
3e937a94c2
chore: remove dsl flag (#30986)
## Description
Removes flag `release_server_dsl_migration_enabled`

Fixes #30961

## 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/9005046507>
> Commit: 456f9b6d7026383457311aa29fe1109adf2f4ea8
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9005046507&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->












## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No

---------

Co-authored-by: Nayan <nayan@appsmith.com>
2024-05-09 18:41:21 +05:30
Manish Kumar
2b833eaa48
chore: added missing override annotation (#33319) 2024-05-09 14:09:03 +05:30
Manish Kumar
6c27ccc85b
chore: changes for CD tech debt (#33231)
## Description

Creating a new permission for Application, which is
APPLICATION_DELETE_PAGES, this permission would be used to derive
DELETE_PAGES permission for those permissionGroupIds which don't have
DELETE_APPLICATIONS permission.

Once such example is CD bot role. although it requires permission to
delete pages and entities inside it, we don't want to provide permission
for deleting application. This could be achieved by providing
DELETE_PAGES permission, however when creating new pages, the permission
would still be derived from application and it would lack the particular
permission group id in DELETE_PAGES permissionGroups.

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/9013034630>
> Commit: 9c01c08232964289353af57bf056d28e6046b9c6
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9013034630&attempt=2"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->












## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-05-09 13:44:42 +05:30
Nidhi
333083076d
fix: Fixes CREATE_JS_ACTION_ERROR error that disallows creating js objects or updating actions on certain git connected apps (#33303) 2024-05-09 11:08:12 +05:30
Shrikant Sharat Kandula
df41e5c138
chore: Add validations for content-type in request (#33220)
/ok-to-test tags="@tag.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/8996608352>
> Commit: a3d6f94446f358c3d248da08c2a9e1671e537dd3
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8996608352&attempt=2"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-08 11:46:37 +05:30
Abhijeet
b496be34f4
fix: Add anonymous user check while registering the edit mode pulses (#33251)
## Description
PR to check if the usage is fired from an anonymous user in edit mode.
Ideally, we don't expect the client to allow access in edit mode for
anonymous user. We are also discussing if there are any cracks on
client-side implementation in a separate
[thread](https://theappsmith.slack.com/archives/C04H5PFRN1H/p1711965410411119?thread_ts=1711608528.724769&cid=C04H5PFRN1H).

Fixes https://github.com/appsmithorg/cloud-services/issues/1643  

## 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/8989771788>
> Commit: 675a0b2f0c47187cb2104e6fc6debfd0fa38da17
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8989771788&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->




## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-05-08 05:59:38 +00:00
Shrikant Sharat Kandula
f82b553fc2
test: Fix AutoCommitEventHandlerImplTest (#33252)
1. Move it to the same package as on EE.
2. Remove mock on `ProjectProperties` to fix NPE with Postgres.

/ok-to-test tags="@tag.Sanity"
2024-05-08 09:47:38 +05:30
Shrikant Sharat Kandula
deb39ac3b5 chore: Remove archiveById in BaseService
This is used in two/three services only, so
isn't being reused a lot by being in `BaseService`.
2024-05-07 22:09:32 +05:30
Shrikant Sharat Kandula
07ea23daf1
chore(deps): Update BouncyCastle (#33201) 2024-05-07 21:54:48 +05:30
Shrikant Sharat Kandula
5231d0686f
chore: Remove unused methods in CrudService (#33199) 2024-05-07 21:54:32 +05:30
Nidhi
e8c47cdaa2
fix: Start using SHA2 instead of SHA1 algorithms for signing during git operations (#33166) 2024-05-06 18:25:32 +05:30
Manish Kumar
2d1e292a2e
chore: added cache miss solution (#33193) 2024-05-06 16:07:14 +05:30
Shrikant Sharat Kandula
2f37edea8e
chore: Remove more unused methods in BaseService & ApplicationServiceCE (#33172)
/ok-to-test tags="@tag.Sanity"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8944427065>
> Commit: 3e939b8cc507b8ada7cbeefb94b1750a90b615f7
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8944427065&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-04 12:50:50 +05:30
Shrikant Sharat Kandula
1453b8e4d3
chore: Don't mask 415 with 500 (#33173)
/ok-to-test tags="@tag.Sanity"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8947042815>
> Commit: d55ecae565e42f4d05a26eb6c642a4b3e34df09e
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8947042815&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-04 12:50:38 +05:30
Shrikant Sharat Kandula
f3f39c3c82
chore: Fix status code inconsistency on CSRF failure 2024-05-04 00:20:28 +05:30
Abhijeet
bea3cc1598
chore: Move to interface based projection as for columns with jsonb type record based projections does not work in PG (#32909)
## Description
- Move away from record based projections to interface classes as record
based projections does not work for jsonb column in PG branch.
- Remove ID generation within testclass and let DB handle the generation
to fix failing tests on the PG branch.

## Automation

/ok-to-test tags="@tag.Sanity, @tag.GenerateCRUD, "@tag.Fork""

### 🔍 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/8919248892>
> Commit: f43425a9c1e29a35dcaba3abf47f8e63cf607def
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8919248892&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->






## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Refactor**
- Updated the method for generating workspace names to enhance
uniqueness and reliability.
- **Bug Fixes**
- Improved the `updateCurrentUser` method to update the current user
based on their ID for accuracy.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-05-03 16:56:02 +05:30
Shrikant Sharat Kandula
894be58813
test: Refactor tests ahead of upgrading Spring (#33135)
Only refactors, only in tests, needed to get these tests to work/pass
with the upgraded Spring coming up separately.

/ok-to-test tags="@tag.Sanity"
2024-05-03 16:54:03 +05:30
Shrikant Sharat Kandula
feb9eb7d41
chore: Remove API to get all objects (#33006)
The `.get(params)` method in `BaseService` has a dangerous default
implementation. It loads _all_ objects from the DB and returns them.
Although it's not used by any services in that form, it's nevertheless a
liability, and not an asset.

For example, the User service explicitly overrides it and always
responds with an error.

This PR removes this method, and we add the signature to just those
services that leverage it.

EE at https://github.com/appsmithorg/appsmith-ee/pull/3698. Tests and
Cypress pass.

/ok-to-test tags="@tag.Sanity"
2024-05-03 13:45:10 +05:30
Shrikant Sharat Kandula
f0d837c599
chore: Remove unused User.currentWorkspaceId (#33149)
/ok-to-test tags="@tag.Sanity"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8934500674>
> Commit: 849a786269d97024b2b22a158845de7e48a08900
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8934500674&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-03 11:54:39 +05:30
Shrikant Sharat Kandula
0dda55780a
chore: Respond with 403 for missing CSRF header (#33145)
/ok-to-test tags="@tag.Sanity"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8933699110>
> Commit: 4cdfd6a4c04e69fb16d841359df7cbd727f8254b
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8933699110&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-03 09:34:25 +05:30
Nidhi
718490f5bc
fix: Make file locking reactive compatible (#33109) 2024-05-02 22:24:49 +05:30
Shrikant Sharat Kandula
1a4a08e673
chore: Fix warnings in ConsolidatedAPIServiceImpl (#33114)
This is an effort to reduce warnings from `javac`, towards adding a
linter to the backend.

I recently had to troubleshoot some code in this class and the array
based zipping of 10+ Monos was very hard to parse and debug. This PR
simplifies that implementation as well as fixes all/most warnings in
this class.

/ok-to-test tags="@tag.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/8918809242>
> Commit: f37ef41d41b9925de233f10ca300f89bc3ffe044
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8918809242&attempt=2"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-02 16:16:51 +05:30
Shrikant Sharat Kandula
258e92e368
chore: Use FromRequest for datasource APIs (#33039)
This PR removes use of `@JsonProperty` in Datasource entity so that it
encrypted fields can be stored to the database in Postgres version.

EE Unit and Cypress `All` pass.

/ok-to-test tags="@tag.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/8904366086>
> Commit: 1546722f4248b95f624960fe4d888d6082c60ce0
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8904366086&attempt=2"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-02 16:16:25 +05:30
Shrikant Sharat Kandula
3eb1bfb63c
chore: Add migration to cleanup of invalid plugins in workspaces (#33102)
The migration takes 3.5mins on production database.

Reason and details at [Slack
conversation](https://theappsmith.slack.com/archives/C02GAUE9P5H/p1714451552333709?thread_ts=1714425219.357599&cid=C02GAUE9P5H).

/ok-to-test tags="@tag.Sanity"
2024-05-02 13:10:16 +05:30
Shrikant Sharat Kandula
809710245d
chore: Add an internal request ID for logging (#33086)
/ok-to-test tags="@tag.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/8918415111>
> Commit: f902355ece5445d27fd8a65dcf4607afb4c5d656
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8918415111&attempt=2"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-02 13:00:23 +05:30
Nilansh Bansal
c0aaab89bf
chore: added function overloading to remove redundant db call (#33060)
## Description
This PR overloads the function `getTenantConfiguration()` to avoid
calling `getDefaultTenant()` multiple times and eventually reducing the
number of database calls.
Subsequent EE PR - https://github.com/appsmithorg/appsmith-ee/pull/4073

Fixes #https://github.com/appsmithorg/appsmith-ee/issues/4061 

## Automation

/ok-to-test tags="@tag.Settings,@tag.Perf,@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/8893900698>
> Commit: 446e4f7c38525568249496bd6bd1ba5d1a920486
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8893900698&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->




## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2024-05-01 07:33:47 +05:30
Anagh Hegde
0d89168d00
fix: collection id not updated in import block API response (#32933)
## 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/32903

## 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/8892306251>
> Commit: 6b2c1c8e637dc89eebf51d431f5e78f92ae9ac23
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8892306251&attempt=1"
target="_blank">Click here!</a>

<!-- 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 collection IDs during partial imports.
- **Tests**
- Improved testing for partial imports by adding new assertions to
verify action names.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Jacques Ikot <jacquesikot@gmail.com>
Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
2024-04-30 11:03:46 +01:00
Nidhi
ef89875ca2
fix: Empty plugin ids in workspaces are breaking application load (#33042) 2024-04-30 04:44:35 +05:30
Shrikant Sharat Kandula
0d0341165e
chore: Use default repo methods when possible (#32997)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced new functionalities to count and retrieve Git-connected
applications within a specific workspace.
  
- **Bug Fixes**
- Removed outdated method for counting applications by workspace ID to
enhance performance and accuracy.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-29 12:12:43 +05:30
subratadeypappu
1330485f4f
fix: NPE in analytics service (#33005)
## Description
This is to resolve the NPE introduced in this
[PR](https://github.com/appsmithorg/appsmith/pull/32552)


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

- **Refactor**
- Improved handling of null values in event tracking properties to
ensure more reliable analytics data.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-29 10:57:35 +05:30
subratadeypappu
cc306b0c84
chore: add code split for refactoring inputs (#32928) 2024-04-29 10:56:04 +05:30
Shrikant Sharat Kandula
e71876f3b6
chore: Add search method to Bridge API (#32999)
We're abstracting the search function here, as a search query, instead
of a generic regex query, so that is can be implemented with regex on
MongoDB, but with SQL's `LIKE` operator on Postgres.

/ok-to-test tags="@tag.Sanity"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8859444126>
> Commit: 60f0086858a8add161f483572d0cd0dbd41e9217
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8859444126&attempt=1"
target="_blank">Click 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**
- Introduced new methods for enhanced search capabilities, including
case-insensitive searches.
  - Improved entity field filtering using custom query methods.

- **Refactor**
- Updated entity field references in `Workspace` and `Application` for
consistency.
- Replaced traditional criteria with custom query classes to simplify
logic in filtering processes.

- **Deprecations**
- Deprecated older methods for case-insensitive regex matching in favor
of new search methods.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-28 17:31:42 +05:30
Shrikant Sharat Kandula
f8a3a54df9
chore: Use CS to get Appsmith server IP (#32998)
We're currently relying on ipify.org for this, and this PR will move to
using CS for this information. This is so that all external
communication from the core of the product's backend, is only to
cs.appsmith.com, which makes whitelisting easier for users.

Also removing the unused variables `APPSMITH_CLOUD_SERVICES_USERNAME`
and `APPSMITH_CLOUD_SERVICES_PASSWORD`.

⚠️ This will cause conflicts on sync.

/ok-to-test tags="@tag.Sanity"
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8859016811>
> Commit: 46576ca46adcba288693c3d5aaa9cc547c1e8f57
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8859016811&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Removed username and password fields from cloud services configuration
to enhance security.
- Updated network utilities to initialize with new cloud services
configuration, improving integration and functionality.
  
- **Bug Fixes**
- Adjusted the method of fetching and handling IP address data to
improve reliability and accuracy of network services.

- **Chores**
- Updated application properties and deployment scripts to align with
the new configuration and address retrieval methods.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-28 17:31:13 +05:30
Shrikant Sharat Kandula
e4b6363712
chore: Remove BaseController on PluginControllerCE (#32996)
Remove the `BaseController`, not used anymore, and have the Plugin
controller only define the routes used by the client.

Unit tests and All tag Cypress passes on EE.

[Slack
conversation](https://theappsmith.slack.com/archives/C03RPDB936Z/p1714194492847219).

/ok-to-test tags="@tag.Sanity"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8857896676>
> Commit: be346ec2892fa70727e3b686c251c914ef998615
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8857896676&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-04-28 17:30:46 +05:30
Goutham Pratapa
947add2f20
[ops]: get infra details (#32552)
Outputs on having the container up and running

On kubernetes:
```
root@ce32552-appsmith-66fc68d7f-97tjn:/opt/appsmith# cat /tmp/appsmith/infra.json
{"cloudProvider":"amazon","Tool":"kubernetes","EFS":"present","Hostname":"ce32552-appsmith-66fc68d7f-97tjn"}
```

On local setup:
```
root@26327db8d65a:/opt/appsmith# cat /tmp/appsmith/infra.json
{"cloudProvider":"local","Tool":"docker","EFS":"absent","Hostname":"26327db8d65a"}
```

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced infrastructure detection to enhance system insights,
including cloud provider, deployment tools, and host details.
- Enhanced analytics by incorporating deployment properties into event
tracking.

- **Refactor**
- Modified server configuration and initialization to integrate new
deployment properties.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2024-04-26 18:56:45 +05:30
Nidhi
fe1839a132
fix: NOOP spans when context is missing (#32987) 2024-04-26 18:25:21 +05:30
Shrikant Sharat Kandula
bba0ecb112
chore: Remove blockNavigation in Page create API body (#32859)
1. The `blockNavigation` parameter in request body isn't being used, so
removing it.
2. We're sending the page `id` in both the URL path as well as the
request body. This is confusing, and may lead to a security regression
in the future. Removing it from the body.

All tag Cypress tests pass on EE, with no extra changes over the diff
here.
Ref: https://github.com/appsmithorg/appsmith-ee/pull/3698

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced page creation process with streamlined parameters and
validation constraints.

- **Refactor**
	- Simplified navigation and page creation logic in the application.
- Updated method parameters and logging to improve clarity and
maintainability.

- **Bug Fixes**
- Fixed the issue where unnecessary data was included in page update
requests.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-25 21:31:51 +05:30
Nidhi
7edd5c5a2f
Revert "chore: GitSynced and BranchAware are two different types (#32… (#32965) 2024-04-25 17:26:52 +05:30
Nidhi
5823e06057
chore: Added indices for collection id in actions (#32953) 2024-04-25 15:27:54 +05:30
Nidhi
b69de462b9
chore: GitSynced and BranchAware are two different types (#32932) 2024-04-25 11:22:17 +05:30
Nidhi
58671d6e8b
CE equivalent for removing js obj action id map (#32917) 2024-04-24 19:10:53 +05:30
Abhijeet
6cc4b028e5
chore: Remove un-necessary test from NewPageServiceTest (#32895)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Tests**
- Removed a test case related to default page creation with specific
permissions and policies.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-24 11:09:15 +05:30
Abhijeet
9406439bbb
chore: Add separate DTO class for projection and move CustomNewActionRepo method to NewActionRepo class (#32818)
## Description
PR to move to class based projection for NewActionRepo method instead of
relying of list of fields. Also as the permissions were not required
converted the existing method to JPA based query.

## Automation

/ok-to-test tags="@tag.Sanity, @tag.Binding, @tag.Datasource,
@tag.GenerateCRUD"

### 🔍 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/8782210714>
> Commit: 80e40e840989db48954aafed914a801fbba995aa
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8782210714&attempt=1"
target="_blank">Click here!</a>

<!-- 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 data fetching capabilities for actions within applications,
improving performance and efficiency.

- **Refactor**
- Optimized data source validation process during application creation
to ensure smoother user experiences.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-23 12:51:22 +05:30
Abhijeet
a6daa4838d
chore: Deprecate recentlyUsedWorkspaceId and recentlyUsedAppIds from user data (#32756)
## Description
PR to remove usage of `recentlyUsedWorkspaceIds` and
`recentlyUsedAppIds` from the codebase. We need to clear this debt as
after the homepage revamp project, we have updated the fields to store
entities in [separate DTO
class](https://github.com/appsmithorg/appsmith/blob/release/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/ce/RecentlyUsedEntityCE_DTO.java)
instead of bare list of strings.

Fixes https://github.com/appsmithorg/appsmith/issues/31745

## 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/8752116697>
> Commit: 0be31ca9c9a02030b215f4c5c19f188b2ed481d9
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8752116697&attempt=1"
target="_blank">Click here!</a>

<!-- 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**
	- Introduced a new interface for managing user release notes.
- Added functionality to handle removal of entities from recently used
lists more efficiently.

- **Bug Fixes**
- Corrected API call errors for deprecated methods in application
controllers.

- **Refactor**
- Updated various classes to use new user release notes management
system.
- Renamed methods to better reflect their functionality related to
recent workspace and application usage.

- **Tests**
- Updated unit tests to align with the new changes in application and
user data management.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-23 10:14:31 +05:30
Shrikant Sharat Kandula
71867f9bcd
chore: Page name validation closer to file name validation (#32830)
1. Introducing a custom validation annotation, `@FileName` to be used on
fields that are used as file/folder names as part of the product.

2. Updated the validation logic to only accept valid file names on
Linux, macOS as well as on Windows.



/ok-to-test tags="@tag.Settings, @tag.IDE"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8784587443>
> Commit: a13f700d490845a9d3c53d0da9c1a763fde6be9b
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8784587443&attempt=1"
target="_blank">Click 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 page name validation to include more special characters and
reserved names, ensuring compatibility and preventing errors.

- **Bug Fixes**
- Updated regular expression for replacing disallowed characters in page
names to improve system stability and user experience.

- **Tests**
- Expanded testing for invalid page names to cover a broader range of
scenarios, enhancing reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-22 19:22:41 +05:30
Shrikant Sharat Kandula
7fb01b31e3
test: Better assertion failure message for duplicate error test (#32834)
Currently, when this fails we see this:

```
org.opentest4j.AssertionFailedError: 
expected: 156L
 but was: 155L
Expected :156L
Actual   :155L
```

(It's comparing the count vs distinct-count).

This PR makes the failure show up like this:

```
java.lang.AssertionError: 
Expecting empty but was: ["AE-APP-4001"]
```

Making the failure message much more useful.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit


- **Tests**
- Updated the method for verifying the uniqueness of error codes in the
system to enhance reliability by using a new approach.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-22 11:22:10 +05:30
Shrikant Sharat Kandula
489255f3ca
fix: Fix duplicate error code 2024-04-22 08:19:34 +05:30
Shrikant Sharat Kandula
9649d8561c
chore: Remove unneeded fields in snapshot response body (#32813)
These extra fields don't hold much semantic value, and are completely
ignored by the client. This PR removes them and only keeps the one field
that's used by the client.


/ok-to-test tags="@tag.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/8755978321>
> Commit: 9b680799db0d30fb56c908f02260abbb4b590ac3
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8755978321&attempt=2"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->










<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Improved consistency in naming conventions related to snapshot details
across the platform.
- Enhanced data handling in snapshot fetching and updating processes for
better performance.
- Streamlined snapshot-related data structures and service responses to
focus on relevant information.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-22 08:08:45 +05:30
Shrikant Sharat Kandula
37696bb3ec
chore: Don't mask 405 as 500 (#32829)
/ok-to-test tags="@tag.Sanity"

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced handling for "HTTP method not allowed" errors to improve
user feedback on unsupported actions.

- **Refactor**
- Optimized error handling structure by using annotations and removing
outdated constructors.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-20 13:46:43 +05:30
Shrikant Sharat Kandula
efc088e509
chore: Fix star-imports (#32826)
/ok-to-test tags="@tag.Sanity"

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Updated import statements across various services to enhance code
efficiency and maintainability.
- Introduced advanced image processing capabilities in asset management.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-19 18:59:53 +05:30
Shrikant Sharat Kandula
b25d36fdf7 chore: Fix build error in ApplicationForkingServiceTests 2024-04-19 17:07:45 +05:30
Shrikant Sharat Kandula
3d5e240a3f
chore: Remove PEMCertificate and fix @Document annotations (#32705)
/ok-to-test tags="@tag.Sanity"<!-- This is an auto-generated comment:
Cypress test results -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8748422171>
> Commit: 5e44cffe2a66b8bb932162f4292ac0957c28d89f
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8748422171&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->





<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit


- **Refactor**
- Improved maintainability of the PEMCertificate class by streamlining
annotations.
- **New Features**
	- Enhanced database integration for Git deployment keys.
- **Bug Fixes**
- Removed redundant fields from SSLDetails class, improving logic
related to PEM certificates.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-19 16:29:17 +05:30
Manish Kumar
8749cf1f92
chore: added CE changes for second set of apis (#31898) 2024-04-19 12:48:53 +05:30
Shrikant Sharat Kandula
1298423125
fix: Snapshot response DTO missing fields (#32798)
The response from `GET /api/v1/applications/snapshot/{id}` currently has
`isNew`, `chunkOrder` and `userPermissions` (which is always set to an
empty list). This PR brings that behavior back. We'll raise a separate
PR to clean up the ones not being used on the client, `userPermissions`
being especially likely, but not now.


/ok-to-test tags="@tag.Sanity, @tag.Git, @tag.IDE,
@tag.MobileResponsive, @tag.Settings"<!-- This is an auto-generated
comment: Cypress test results -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8749078413>
> Commit: b7546820a2a10eeaecb75a1e1df58f390be60468
> Cypress dashboard: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8749078413&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank"> Click here!</a>
> The following are new failures, please fix them before merging the PR:
<ol>
> <li>cypress/e2e/Regression/ClientSide/ExplorerTests/Hide_Page_spec.js
> <li>cypress/e2e/Regression/ClientSide/ExplorerTests/Page_Load_Spec.js
>
<li>cypress/e2e/Regression/ClientSide/SettingsPane/PageSettings_spec.ts
</ol>
> To know the list of identified flaky tests - <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">Refer here</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-04-19 12:29:54 +05:30
Shrikant Sharat Kandula
c2ba4fd093
fix: Add isHidden to PageUpdateDTO (#32802)
/ok-to-test tags="@tag.IDE, @tag.Git, @tag.Settings, @tag.GenerateCRUD"
2024-04-19 12:27:18 +05:30
Shrikant Sharat Kandula
4ce31870c2
chore: Replace more new ObjectId with UUIDs (#32793)
This refactor is in an effort to reduce the diff between `release` and
`pg` branches.

/ok-to-test tags="@tag.Sanity"
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8747276123>
> Commit: 1d34803416f34b17959c5b3b11c7c9eefc3e07ed
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8747276123&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit


- **Refactor**
- Updated identifier generation from `ObjectId` to `UUID` across various
services for consistency and improved performance.
- Simplified method signatures and removed unnecessary overloads to
enhance code maintainability and readability.
- **Bug Fixes**
- Adjusted method parameters from `Optional` types to direct assignments
to fix logical errors in entity fetching processes.
- **Chores**
- Removed deprecated code segments and unused dependencies to clean up
the codebase.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-19 11:53:37 +05:30
Shrikant Sharat Kandula
f339f9d4f2
chore: Page rename API client validation (#32788)
1. The page names can accept any character except for `/`, backslash and
`:`. This is the validation that the server does now. This PR fixes the
regex that checks the page name to align with this.
2. When typing a character that's not allowed, we end up with a space at
the beginning or end of the page name, that doesn't really make sense,
and is confusing. Then we end up with trailing or leading spaces in the
page name, making the page name display look misaligned. This PR will
make it so that the disallowed characters just can't be typed, and just
don't make a difference in the page name.
3. We're also adding server-side validation for the icon slug.

[Slack
conversation](https://theappsmith.slack.com/archives/C03RPDB936Z/p1713161688607509).

/ok-to-test tags="@tag.Sanity"
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8746416301>
> Commit: 21e8d3a0060b9b4721b49149f307354b073332d7
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8746416301&attempt=1"
target="_blank">Click 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 page name validation to improve naming consistency across the
application.
- Updated validation for page icons and custom slugs to allow more
flexibility and ensure inputs meet new standards.

- **Bug Fixes**
- Fixed issues in page naming functions to prevent the use of certain
special characters and limit the length, enhancing data integrity and
user experience.

- **Tests**
- Added new tests to verify the handling of invalid and empty custom
slugs, ensuring robustness in page management functionalities.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-19 11:23:14 +05:30
Abhijeet
01510d6f26
chore: Introduce IdPoliciesOnly record to handle projections (#32767)
## Description
PR to add IdPolicies record to make it easier to translate existing
queries using the projections to JPA.

## 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/8736013169>
> Commit: c2a024129eb899057db4dc1598515b90be567076
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8736013169&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-04-19 10:19:37 +05:30
Nidhi
3b45db6df6
fix: Make git push operation atomic (#32777) 2024-04-19 10:16:32 +05:30
Abhijeet
6e21516900
chore: Move non-permission repository method to generic repo class (#32738)
## Description
PR to add separate record class to implement the projection on
ApplicationSnapshot repository.

## 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/8735912421>
> Commit: 5baf4317e0bdb7179fe855c4fe108f9129a31f6b
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8735912421&attempt=1"
target="_blank">Click here!</a>

<!-- 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

- **Refactor**
- Enhanced the application snapshot feature to improve performance and
reduce data load by excluding unnecessary data from snapshots.
- **Documentation**
- Updated import statements and method return types for clarity and
consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-18 22:15:49 +05:30
Shrikant Sharat Kandula
dcada4522d
fix: Input validations on page update API (#32692)
[Slack thread with
details](https://theappsmith.slack.com/archives/C03RPDB936Z/p1713161688607509).
Not including details here.

Sanity passes on EE.

/ok-to-test tags="@tag.Sanity"<!-- This is an auto-generated comment:
Cypress test results -->
> [!WARNING]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8704837594>
> Commit: fb1724a0e93f21e25dd09f821b101438a8bee52f
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8704837594&attempt=1"
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/8704837594"
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 page update capabilities with new fields for page name, icon,
and custom slug.
- **Improvements**
- Improved text handling support for non-Latin characters and
punctuation in page names.
- **Tests**
	- Added test cases for new page creation scenarios and page updates.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-18 16:14:07 +05:30
Rajat Agrawal
d9a95c0427
chore: Add tags for consolidated api spans (#32739)
This PR adds tags for consolidated api spans so that slow spans can
debugged using pageID, applicationID and branchName

Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8732019146>
> Commit: 3fc5d68fe08d6f68cce2ecd68ee55502b935a15b
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8732019146&attempt=2"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->




<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Enhanced data tagging in API controller methods for improved data
management and retrieval.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-18 09:38:10 +05:30
Anagh Hegde
313338899e
fix: Unable to publish forked app to community portal (#32671)
## Description
The publish to community template flow does not allow users to publish
the same app multiple times to the portal. This is controlled via a
boolean flag in the Application object. But when the user forks this
app, it should be allowed for the new application to be published. This
PR fixes this issue by making sure the flag value is reset to null
during the fork flow.

Fixes https://github.com/appsmithorg/appsmith/issues/32221

## Automation

/ok-to-test tags="tag.Templates"

### 🔍 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/8684335987>
> Commit: 23acf129c6da337c8a198cdca63a1b0b3fbc9444
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8684335987&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-04-17 20:55:06 +05:30
Shrikant Sharat Kandula
8fe1e8c854
fix: Fix support for custom SSH port in Git URLs (#32678)
Support for custom SSH ports in Git URLs broken when we introduced the
regex to match the URLs. The tests were also checking for invalid URLs.
Ref: https://stackoverflow.com/questions/5767850/git-on-custom-ssh-port.

This PR fixes that validation error, and introduced tests with the
correct Git SSH URL with a custom port.

[Slack
thread](https://theappsmith.slack.com/archives/C0341RERY4R/p1713178681476249?thread_ts=1713175069.330019&cid=C0341RERY4R).

/ok-to-test tags="@tag.Git"
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8704854792>
> Commit: 48809d88619fa5d7d170e8f7d71297cccaecb353
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8704854792&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->





<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Enhanced SSH URL parsing and conversion to support more URL formats
and custom SSH ports, improving compatibility with browser-supported
HTTPS URLs.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-17 19:18:15 +05:30
Shrikant Sharat Kandula
048e3b0220
chore: Remove BaseController on WorkspaceControllerCE (#32254)
Continuation on https://github.com/appsmithorg/appsmith/pull/32216, for
`WorkspaceController`.

Cypress Sanity and Workspace tags passed on EE.
2024-04-17 11:49:01 +05:30
Nidhi
c51e4b810d
chore: Introduce changes to minimize git footprint (#32595) 2024-04-16 21:34:24 +05:30
Nirmal Sarswat
bc3d46d8c1
feat: Vision models support in Anthropic (#32103)
## Description
Adding new vision models support in Anthropic
<img width="1134" alt="Screenshot 2024-04-12 at 15 59 06"
src="https://github.com/appsmithorg/appsmith/assets/25587962/49110b9d-00ee-4210-9d43-bf2a832aee20">

 
Fixes https://github.com/appsmithorg/appsmith-ee/issues/3681

## Automation

/ok-to-test tags="@tag.Datasources"

### 🔍 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/8704175377>
> Commit: 2c393e7ffaf3d08fd8e945761206de76d3a13845
> Cypress dashboard: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8704175377&attempt=3&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank"> Click here!</a>
> The following are new failures, please fix them before merging the PR:
<ol>
> <li>cypress/e2e/Regression/ServerSide/GenerateCRUD/MySQL2_Spec.ts
</ol>
> To know the list of identified flaky tests - <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">Refer 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 chat functionality with version upgrade and refined message
creation process.
- Added vision-related commands for handling image and text data in the
Anthropic plugin.
    - Expanded constants to support new messaging and vision features.
- Introduced new fields in request models to support system prompts and
messages, while deprecating older fields.
- Implemented a `VisionCommand` in method strategy for better handling
of vision tasks.
- Improved utility functions for message handling and configuration
value extraction.

- **Refactor**
- Streamlined request URI construction to support new vision
functionality alongside chat commands.
    - Removed unused constants and methods to clean up the codebase.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-16 13:41:28 +00:00
sneha122
520cfa10a6
fix: Revert "feat: suggest queries query type added in action DTO" (#32711)
Reverts appsmithorg/appsmith#32593

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## 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/8705514361>
> Commit: 5788f9731859cffc7ec1e7ab8dd61effa17d6a66
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8705514361&attempt=2"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->




## Summary by CodeRabbit

- **Refactor**
- Removed unused `DatasourceQueryType` field and associated methods to
streamline backend services, enhancing overall system performance.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-16 19:07:45 +05:30
Manish Kumar
e98b824ecd
chore: uncommented the fix (#32703) 2024-04-16 17:01:14 +05:30
Jacques Ikot
0118051301
feat: implement dropping building blocks on canvas (#31857)
## Description
> [!TIP]  
**Goal**
To drag any building blocks from the explorer and drop at any position
on the users canvas with full implementation.

**Implementation**
- Show skeleton widget when building block is initially dragged unto the
canvas.
- Make API call to add datasources, queries, and JS to existing page of
users app
- Get returned widget DSL and use existing copy paste logic to display
widgets on the canvas
- Remove loading state, handle clean up for copy paste
- Run all queries newly created by the dropped building block

**Limitations**
- There is a loading state and the process is not instant like dropping
a widget

This PR is followed by this one
[here](https://github.com/appsmithorg/appsmith/pull/31406), which
displays the loading state when a building block is dragged unto the
canvas.

Fixes #31856
## Automation

/ok-to-test tags="@tag.Templates, @tag.MainContainer, @tag.Visual,
@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/8701664455>
> Commit: 456a7a0a322e76974a7f5c41a6c1e274ef82e4ea
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8701664455&attempt=1"
target="_blank">Click 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**
- Introduced a new "Building Blocks" category in the widget sidebar for
enhanced organization and accessibility.
- Added functionality to resize building blocks with new horizontal and
vertical limits.
- Implemented a "see more" button for "Building Blocks" to display all
associated widgets.
- Enhanced drag and drop functionality for building blocks on the
canvas.

- **Enhancements**
- Improved sorting logic for widgets, prioritizing "Building Blocks".
    - Enhanced widget search functionality within the sidebar.

- **Bug Fixes**
- Adjusted default rows and columns settings for explorer building
blocks to improve layout and usability.

- **Documentation**
- Updated messages and constants related to new features for clarity and
consistency.

- **Refactor**
- Refactored drag and drop handling logic to support new building block
constraints and features.
- Updated application state management to include building blocks
related data.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
2024-04-16 09:41:09 +01:00
Nidhi
e6c9efce50
chore: Move feature flag annotation and enum to interfaces (#32694) 2024-04-16 13:15:53 +05:30
Shrikant Sharat Kandula
f910a528e3
chore: Add separate request/response views (#32448)
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).
2024-04-16 12:47:16 +05:30
Nilansh Bansal
11ef1fcf70
feat: added updatedAt in actions (#32650)
## Description
> This PR introduces the updatedAt field in the consolidated api
response, `unpublishedActions` list.
The value of updatedAt will be consumed by the client to sort the
actions based on the recently updated ones in the suggested fetch
queries for widgets learnability task.

Fixes #32553 

## Automation

/ok-to-test tags="@tag.ImportExport, @tag.Datasource, @tag.Fork,
@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/8700455540>
> Commit: 45d7516ccf2b245bf93d66c767306732262ab131
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8700455540&attempt=2"
target="_blank">Click 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**
- Updated the display of the "Last Updated" timestamp with a specific
format and timezone across the application.
- **Bug Fixes**
- Ensured the "Last Updated" timestamp is accurately updated and
displayed when actions are modified.
- **Tests**
- Added and modified tests to verify the correct handling and display of
the "Last Updated" timestamp for actions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-16 11:45:06 +05:30
Shrikant Sharat Kandula
60790e2dc4
chore: Remove unused API route (#32676) 2024-04-15 15:15:54 +05:30
Shrikant Sharat Kandula
795db148da
chore: Fix warnings on @EqualsAndHashCode (#32667)
Fixes build warnings like these:

```
Generating equals/hashCode implementation but without a call to superclass, even though this class does not extend java.lang.Object. If this is intentional, add '@EqualsAndHashCode(callSuper=false)' to your type.
```

Why is this important?

1. Warnings are always a worse thing than errors, because they only fail
at runtime. And this is quite a significant warning, so should be fixed.
2. This _incorrect_ `equals` method screws up Hibernate's dirty checking
when working with Postgres.



/ok-to-test tags="@tag.Sanity"<!-- This is an auto-generated comment:
Cypress test results -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8679350830>
> Commit: 4f697fc3f9431fcfd35fc0f9814fce763382d06c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8679350830&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Enhanced data consistency across various models by ensuring that
equality and hash code calculations now consider superclass fields.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-15 13:46:37 +05:30
Manish Kumar
13ca80e91d
chore: flaky git test fix (#32606) 2024-04-15 13:02:22 +05:30
Shrikant Sharat Kandula
39fae54f67 chore: Revert all recent changes to SegmentConfig 2024-04-15 12:10:43 +05:30
Abhijeet
4848805364
chore: Use update clause from Bridge API (#32411)
PR to update Field usage and adding a UpdateBridge API while saving the
datasource structure.

## 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/8642139106>
> Commit: 90a85e25480d9a58ecdc64c24dd88ca9ee3367fd
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8642139106&attempt=1"
target="_blank">Click 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 data model to support default resources for pages and
actions, improving the management and organization of these elements.
- **Refactor**
- Improved code quality and maintainability by utilizing static
references and utility methods for field access in database queries,
leading to more robust and error-resistant code.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-12 16:39:16 +05:30
sneha122
76266d808a
feat: suggest queries query type added in action DTO (#32593)
## Description
This PR adds query_type to actionDTO, when fetching queries, query type
indicates whether it is a fetch query or any other query, this
information can be further used to suggest queries to user when they
bind data to widgets. This way we can suggest relevant queries to users
first and their chances of success with Appsmith are higher.

Note: This PR only introduces the field in actionDTO and returns
UNKNOWN, in subsequent PRs we will be adding plugin specific
implementation to return relevant query_type. I have not added any unit
tests as of now, we can add those once plugin specific implementations
are done.

Fixes #`Issue Number`  
_or_  
Fixes [`Issue
URL`](https://github.com/appsmithorg/appsmith/issues/32554)
> [!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/8643950238>
> Commit: 08e28bca9e4054ae78d4f4188cfecfc708a62608
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8643950238&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-04-12 13:04:16 +05:30
Abhijeet
cc0912b546
chore: Move migration helper method to respective class (#32607)
## Description
PR to move helper methods for actions to separate class, which can be
re-used in PG branch for JsonSchema migration.
 
## 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/8646294762>
> Commit: 8b22cfed9b98a283fab72ca54eea5723b505086c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8646294762&attempt=1"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-04-12 09:21:24 +05:30
Rudraprasad Das
f7118422c6
feat: granular git status (#31619)
## Description
Lists down changes in entity with level 1 granularity

Fixes #31644 

## 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/8642841391>
> Commit: dd9dd7abb619a4e62edd950cbc6e64e15b4a42e2
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8642841391&attempt=1"
target="_blank">Click 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**
- Introduced granular tracking of Git changes, including added,
modified, and removed pages, datasources, queries, JS objects, and JS
libraries.
- Implemented a new feature flag `release_git_status_granular_enabled`
to toggle granular Git status tracking.
- Added new components to display detailed Git changes with expandable
views for different types of entities.

- **Enhancements**
- Simplified the logic for determining if a commit is required by
enhancing the Git status checks.
- Enhanced Git status display to include specific messages and icons for
various types of changes.
- Improved the Git sync feature's user interface with updated components
and styling for displaying Git changes.
	
- **Bug Fixes**
- Corrected the display logic to accurately reflect when a JS library is
added instead of modified.

- **Refactor**
- Refactored Git status handling logic on both client and server sides
for improved performance and readability.
- Updated test suites to align with the new Git status tracking and
display functionalities.

- **Tests**
- Added and updated tests to cover new Git status functionalities and
components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-11 18:26:09 +05:30
Shrikant Sharat Kandula
c831644764
fix: Don't send events with null to Segment (#32600)
Recently, we made two fixes to `SegmentConfig` to fix NPEs that were
preventing some events from being sent to Segment.

1. https://github.com/appsmithorg/appsmith/pull/32498
2. https://github.com/appsmithorg/appsmith/pull/32351

But this ended up sending _too much_ to Segment now. That, and clearly
we weren't missing anything by not sending those events with `null` in
them.

So we're bringing back that protection of NPEs. The protection of not
sending value-less events to Segment. But in a more, educated way.

We're adding `null` checks, and not sending anything when we see a
`null`.

Considering that context, a more accurate diff to review would be
between the [`SegmentConfig` before those two
PRs](d6e74bf012/app/server/appsmith-server/src/main/java/com/appsmith/server/configurations/SegmentConfig.java),
and the `SegmentConfig` in this PR. This diff can be seen here.
2024-04-11 17:21:00 +05:30
Aman Agarwal
d8b07c4ce1
fix: commands title changed to command for each datasource query editor forms (#32526) 2024-04-10 17:05:01 +05:30
Nidhi
51b4a162bb
chore: Added NOOP behaviour for observation helper (#32534)
## Description
Make sure that observation helper bean can be created even when tracing
is turned off.

## 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  -->
2024-04-10 12:05:06 +05:30
Nidhi
6339b05670
chore: Added metrics on File I/O wrt git (#32433) 2024-04-09 21:16:10 +05:30
Manish Kumar
807f5606f0
chore: Git spans changed from enum to string (#32454) 2024-04-09 19:59:21 +05:30
Shrikant Sharat Kandula
eb84d5a537
chore: Remove stack trace in logs for action timeouts (#32523)
Remove stack trace for action timeout logs, since they don't add any
value. Example log here:


![shot-2024-04-08-13-37-10](https://github.com/appsmithorg/appsmith/assets/120119/cbe2b43c-bffe-4adb-a947-dc0b7934c740)
2024-04-09 19:09:43 +05:30
subratadeypappu
795b8a3aa1
chore: add code split for sending analytics for packages (#32516) 2024-04-09 12:24:27 +05:30
Shrikant Sharat Kandula
f2f52e2f48
fix: NPE in SegmentConfig (#32498)
Fixing this NPE:


![shot-2024-04-08-14-01-00](https://github.com/appsmithorg/appsmith/assets/120119/ad97ac2c-246a-46cd-82eb-95970914677b)
2024-04-08 20:04:24 +05:30
Shrikant Sharat Kandula
b8f0bfb0b3
chore: Add more Bridge APIs needed for EE (#32496) 2024-04-08 18:33:14 +05:30
Anagh Hegde
a10d26debd
fix: template name usage in analytics (#32446)
## Description
Fix NPE caused by the template name used for analytics PR. 

Fixes #32437 

## Automation

/ok-to-test tags="tag.Templates"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]  
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8567991310>
> Commit: `8e04b161dcacb89fb4c08ec8a32cbd4c2e7c4129`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8567991310&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 how the application name is handled when merging templates
with applications for enhanced reliability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-05 16:10:25 +05:30
Abhijeet
780884182a
feat: Add signature verification for user level flags (#32426)
## Description
PR to add signature verification for user flags to make it secure.

Fixes https://github.com/appsmithorg/cloud-services/issues/1394

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/8565508847>
> Commit: `90c695be64856d5599a0798bc4f8e39498e2ce8b`
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`

<!-- end of auto-generated comment: Cypress test results  -->


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Improved security by validating signatures for feature flags. Invalid
signatures now result in a clear error message.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-05 05:54:08 +00:00
Shrikant Sharat Kandula
e8c24d4fd8 Revert "chore: Add separate request/response views (#31781)"
This reverts commit 261700076e.
2024-04-05 11:08:26 +05:30
Manish Kumar
fbae2dc83c
chore: server autocommit (#32387)
## Description
The purpose of this test file is to detect if code in Appsmith has
changed in a way which would reflect as uncommitted changes in
git-connected applications.

This test case would fail if we have added new domains, changed the
underlying structure of the domains, or how it's represented in domains.

It is intentionally kept to fail so that developers could identify if
their code has brought about these changes.

In order to make the test case pass, we would need to add the following
steps:

Once the test starts failing, that would mean that we need to increment
the serverSchemaVersion which is a constant in JsonSchemaVersions.java
by 1 count. After that, do the needful in JsonSchemaMigrations to update
the version number in incoming imports.
This is important so that the server code could detect that an
auto-commit is required for git-connected applications for a seamless
experience.

After step 1, this test case would still fail. In order to make the test
case work again, please replace the respective JSON with the updated
application JSON. Please take note that the Serialisation Objective
should be VERSION_CONTROL. In order to retrieve the updated JSON, one
could simply copy the serialized files from the test case itself.

After this there would be one issue left to deal with:
https://github.com/appsmithorg/appsmith/issues/32401

Fixes #32416
## Automation

/ok-to-test tags="@tag.Git"

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added functionality to reconstruct metadata from a Git repository for
workspace, application, repository, and branch information.
<!-- 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/8552624183>
> Commit: `48c393eb726f8ecc32b9b5fe01a0e4d4606f6333`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8552624183&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉

<!-- end of auto-generated comment: Cypress test results  -->
2024-04-05 01:15:24 +05:30
Sumit Kumar
615992c4d9
chore: remove unused methods (#32252) 2024-04-04 15:59:18 +05:30
Anagh Hegde
8471ea6037
chore: add analytics events (#32385)
## Description
Add analytics event

Fixes https://github.com/appsmithorg/appsmith/issues/32018
## Automation

/ok-to-test tags="tag.Templates"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]  
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8540471637>
> Commit: `0a121e609363c33955d6abd36260ac13bcf7ae10`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8540471637&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 analytics event `TEMPLATE_FORK` to better track
template forking activities.
- **Refactor**
- Updated the event tracking in template forking processes to use the
new `TEMPLATE_FORK` event for enhanced clarity and specificity.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-04 15:38:59 +05:30
Shrikant Sharat Kandula
261700076e
chore: Add separate request/response views (#31781)
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).

 Server and Cypress **Sanity** tests pass on EE.
2024-04-04 15:10:38 +05:30
Shrikant Sharat Kandula
d12422dfdc
chore: Support localhost in git repo URLs (#32379)
Fixes two things in the way we're parsing the Git repo URL:

1. Allow hosts that don't have a `.` in them. Like `localhost`.
2. Support absolute repo paths, that is, ones that start with a `/`.

Added test cases for both of these.
2024-04-04 13:21:56 +05:30
Nidhi
9571ff0f7b
chore: Added trace and span info to context (#32399) 2024-04-04 12:02:06 +05:30
Shrikant Sharat Kandula
57b62797ff
chore: Minimal surface API for HealthCheckServiceCE (#32347) 2024-04-04 11:56:21 +05:30
Shrikant Sharat Kandula
b220151d3e
chore: Remove more MongoDB API uses in tests (#32403)
Removes a lot of API uses from MongoDB libraries, that don't strictly
have to depend on MongoDB dependencies.
2024-04-04 11:32:28 +05:30
Trisha Anand
68049d2ce0
fix: Moving datasource context creation synchronized call to boundedElastic threadpool (#32384)
## Description

Synchronized blocks shouldn't ever run on the main event loop threads.
Moving all the synchronized blocks during datasource context creation to
elastic thread pool to ensure event loop threads are always available to
servicing new requests.

Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]  
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8539901946>
> Commit: `6d23c5604ebd848dc7c934fb852ae9cb326fb131`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8539901946&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 the efficiency and thread safety in managing datasource
connections.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-04 10:24:22 +05:30
Anagh Hegde
9b14d13af8
feat: add form config for reading certs for PG (#31895)
## Description
Form config changes for the PG datasource to support reading certs from
user

Fixes #31400 

## 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/8538007537>
> Commit: `0fb57fe78e973db8a3df5f2e407b85eef4adb4e2`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8538007537&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 SSL configuration options for database connections, including
support for client and server CA certificate files.
- **Refactor**
- Improved handling and encoding of SSL certificate content for database
connections, ensuring compatibility and security.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
2024-04-03 20:04:49 +05:30
Shrikant Sharat Kandula
5767501060
chore: Refactor API for hiding logs (#32358)
Sorry for quickly changing the signature(s) of this.

1. The generic method in the super class just wasn't working well. The
generic return type needs to be set explicitly in some places, and is
inferred in some, and is just too volatile. So we replicate the method
definition in both the subclasses for better API usage code.
2. The field already has a getter with Lombok, I didn't need to write a
new one. 🤦
2024-04-03 13:08:29 +05:30
Shrikant Sharat Kandula
bfb424743a
chore: Get control over what stack traces show up in logs (#32352)
This should give us control over what exceptions print a stack trace and
what exceptions don't need to. Should help us get more control over our
logs and reduce noice.


![shot-2024-04-02-12-33-05](https://github.com/appsmithorg/appsmith/assets/120119/26214102-373a-452f-baa9-7c6492604e83)
2024-04-03 11:33:29 +05:30
Shrikant Sharat Kandula
0959160554
chore: Remove typecast (#32346) 2024-04-03 10:43:08 +05:30
Shrikant Sharat Kandula
8f478ce920
chore: Fix NPE in Segment exception logging (#32351)
NPE found in logs:


![shot-2024-04-02-13-02-58](https://github.com/appsmithorg/appsmith/assets/120119/dc0346e9-6218-45bc-a111-276eef454d84)
2024-04-03 10:38:55 +05:30
Manish Kumar
d0162013f6
chore: analytics for GIT FS (#32302) 2024-04-02 20:55:19 +05:30
Trisha Anand
12e36c97e9
fix: Scheduling synchronized block on bounded elastic threadpool instead of main event threadpool (#32343)
…

## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content 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.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]  
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8523943321>
> Commit: `03dc817039ee24159438e613320550620353a2b7`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8523943321&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 backend scheduling for datasource operations to enhance
performance without blocking the main thread.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-02 20:20:51 +05:30
Shrikant Sharat Kandula
7a90619b63
chore: Remove use of ErrorProne transitive dependency 2024-04-02 16:18:37 +05:30
Shrikant Sharat Kandula
640096870b
chore: Use Bridge.update() API (#32314) 2024-04-02 13:19:14 +05:30
Shrikant Sharat Kandula
d294b58e2c
chore: Add comment on using annotation injections of beans 2024-04-02 12:43:19 +05:30
Shrikant Sharat Kandula
d857d5d46d
chore: Autowire MongoDB beans with annotation (#32294)
The heart change of this PR is in
[`BaseAppsmithRepositoryCEImpl`](https://github.com/appsmithorg/appsmith/pull/32294/files#diff-5b9270d513f9654dd47da330dca88f1426fdbedf35dde0d5823ac29795b1bebb).

By using `@Autowire` annotation to inject the `mongoOperations` and
`mongoConverter` beans, we remove MongoDB imports and injections in all
the `Impl` classes. This is a whole lot of diff that shows up on
Postgres, that holds no semantic value.
2024-04-02 12:07:39 +05:30
Shrikant Sharat Kandula
4629dcf222
chore: Add Bridge Update APIs (#32291)
Just as we've developed querying APIs with `Bridge` to get rid of
MongoDB specific APIs, this PR introduces an update API to move away
from MongoDB specific `Update` APIs.

/ok-to-test tags="@tag.Sanity"
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8506783476>
> Commit: `644c923c6462e6cd6887c2ac44895dd3d4eda58c`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8506783476&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉
2024-04-01 17:04:28 +05:30
Shrikant Sharat Kandula
6bbf33bf9f
chore: Simpler sequence implementation (#32264)
Don't use MongoDB API to decide the key name to use for the sequence
name. This API is currently used only for datasources, so this
implementation will be compatible with both MongoDB and Postgres.

The actual sequence number generation, in the `getNext` method, will
basically need to be rewritten in the Postgres branch.
2024-04-01 10:17:23 +05:30
Shrikant Sharat Kandula
c6a3afdeac
test: Remove MongoDB API injections in tests (#32245) 2024-04-01 09:39:04 +05:30
Shrikant Sharat Kandula
970ac5d912
chore: Remove unused getIdCriteria 2024-03-30 20:46:50 +05:30
Shrikant Sharat Kandula
7e18b9e9c2
chore: Remove BaseController on ThemeControllerCE (#32243)
Continuation of https://github.com/appsmithorg/appsmith/pull/32216, for
`ThemeControllerCE`.

Server and Cypress Sanity passed on EE.
No conflicts or extra changes needed on EE for build to pass.
2024-03-29 17:05:59 +05:30
Sumit Kumar
c92dc4775e
chore: migrate CacheableRepositoryHelperCEImpl to use BridgeQuery (#32207) 2024-03-29 15:43:31 +05:30
Shrikant Sharat Kandula
af69c69f5c
chore: Don't use .subList like it's a List (#32238)
Instead or getting the sub-list and returning that, which would be an
instance of `ArrayList$SubList`, we instead remove the extra items in
the original `ArrayList` and return that itself.

This is because the `SubList` objects are just _views_ on the underlying
`ArrayList` object, and cannot be serialized by Hibernate directly.
2024-03-29 11:34:01 +05:30
Shrikant Sharat Kandula
77e7ebcd3d
chore: Remove BaseController on ApplicationControllerCE (#32236)
Continuation of https://github.com/appsmithorg/appsmith/pull/32216, for
`ApplicationController`.

Server and Cypress (Sanity and Git tags) tests verified to pass on EE.
No conflicts going to EE and no extra changes needed for build to pass.
2024-03-29 10:49:39 +05:30
Shrikant Sharat Kandula
adc999f542
chore: Remove varargs and List signatures for .criteria() (#32208)
These signatures don't translate very to the Postgres branch.

Server and Cypress tests verified on EE.
2024-03-29 09:20:47 +05:30
Shrikant Sharat Kandula
4d2594b894
chore: Remove BaseController on UserControllerCE (#32216)
The `BaseController` is used by only five controller classes. Regarding
the `GET /` route in the base controller,

- two override and block it (`Application` and `User`).
- two override with a custom implementation and logic, completely
ignoring the `params` object (`Theme` and `Workspace`).
- one appears to be using it (`Plugin`).

This makes it confusing and hard-to-maintain. This common route is
overridden more times than it's reused.

This PR removes the `BaseController` on `UserController` as step 1. We
intend to remove it from the remaining 3 in subsequent PRs.

Server and Cypress tests verified on EE.
2024-03-29 08:08:48 +05:30
Nidhi
a763a226a3
fix: Make sure order of vertices does not make opl calculations flaky (#32227) 2024-03-29 07:40:28 +05:30
Shrikant Sharat Kandula
773d0e718d
fix: Limit email length as per RFC 5321 (#32155)
Adds a length check on validating email addresses, as per [RFC
5321](https://datatracker.ietf.org/doc/html/rfc5321#section-4.5.3.1),
quoting here:

>
[4.5.3.1.1](https://datatracker.ietf.org/doc/html/rfc5321#section-4.5.3.1.1).
Local-part
> 
>    The maximum total length of a user name or other local-part is 64
>    octets.
> 
>
[4.5.3.1.2](https://datatracker.ietf.org/doc/html/rfc5321#section-4.5.3.1.2).
Domain
> 
>    The maximum total length of a domain name or number is 255 octets.
2024-03-28 13:35:25 +05:30
Shrikant Sharat Kandula
eba60585ab
chore: Move StringUtils to interfaces module (#32129)
This is a utility class with static methods, and we need them in domain
classes in the `interfaces` module as well.
2024-03-28 10:53:41 +05:30
Shrikant Sharat Kandula
062b67642b
chore: No X-Request-Id handling (#32128)
1. Don't copy request's `X-Request-Id` value in the response.
2. If missing in request, don't add a generated values either, but do
retain in internal request context.
2024-03-28 10:51:07 +05:30
Manish Kumar
8d45847b11
chore: git remote autocommit (#32111)
## Description
 - This Pr adds a remote comparison check in `autocommit` flow.
- When the remote is ahead of the local repository, the application
should not be commited to remote, local should pull the changes first
and then the respective commit & push should happen. Likewise in
autocommit the remote check has been placed.
- The check is meant to silently abort the autocommit if the remote is
found to be ahead of the local.

Fixes https://github.com/appsmithorg/appsmith/issues/32110

## Automation

/ok-to-test tags="@tag.Git"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8451614719>
> Commit: `4f696b752a8f3f847f2e6f8ff5acf9ef0e67a276`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8451614719&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 auto-commit functionality for Git integration, including
better handling based on branch and application states, and improved
remote changes fetching.
- **Refactor**
- Refactored Git-related services to support new auto-commit logic and
remote changes fetching.
- **Tests**
- Added new tests for the updated auto-commit functionality, ensuring it
behaves as expected under various scenarios.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-28 10:30:13 +05:30
Shrikant Sharat Kandula
9ef8398a97
chore: Remove unnecessary duplicate interface method definition (#32121) 2024-03-27 21:19:04 +05:30
Shrikant Sharat Kandula
54e2991f7b
chore: Cleanup unused, unneeded code (#31855) 2024-03-27 19:57:47 +05:30
Shrikant Sharat Kandula
062621f949
chore: Migrate CustomWorkspaceRepositoryCEImpl to Bridge API (#31767) 2024-03-27 18:38:27 +05:30
Shrikant Sharat Kandula
d02c1edf6a
chore: Inject AuthenticationPrincipal in controller method (#31742)
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"
2024-03-27 11:23:03 +05:30
Shrikant Sharat Kandula
69df22e218
chore: Migrate CustomDatasourceRepositoryCEImpl to Bridge APIs (#31741) 2024-03-27 09:25:50 +05:30
Shrikant Sharat Kandula
36577ad7cc
chore: Remove QueryDSL (#32074)
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.
2024-03-26 21:28:16 +05:30
Anagh Hegde
062aaeb6b5
fix: logic for fetching onPageLoadActions for blocks import (#32073)
## 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 -->
2024-03-26 19:51:04 +05:30
Anagh Hegde
4a260b577b
chore: add new fields of block metadata (#32072)
## 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 -->
2024-03-26 19:29:43 +05:30
Sumit Kumar
607672efcb
chore: migrate ActionCollectionRepositoryCEImp APIs to Bridge API format (#32044) 2024-03-26 15:45:30 +05:30
Shrikant Sharat Kandula
66a24c692a Revert "chore: Remove QueryDSL and add Errorprone (#31754)"
This reverts commit 7f9d31adbc.
2024-03-25 19:20:22 +05:30
Shrikant Sharat Kandula
7f9d31adbc
chore: Remove QueryDSL and add Errorprone (#31754)
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.
2024-03-25 17:05:34 +05:30
Shrikant Sharat Kandula
14463e8370
chore(deps): Update httpclient ahead of upgrading Spring (#31778)
All tests pass on [EE
PR](https://github.com/appsmithorg/appsmith-ee/pull/3698).
2024-03-25 14:25:18 +05:30
Shrikant Sharat Kandula
c85bf7ec0a
chore: Remove unused import missed by spotless 2024-03-25 11:12:11 +05:30
Sumit Kumar
be3ecb3b01
chore: Revert "chore: migrate few APIs to bridge API model" (#32020) 2024-03-22 15:52:12 +05:30
Sumit Kumar
921f7a4972
chore: migrate few APIs to brige API model (#31987) 2024-03-22 14:33:09 +05:30
Nilesh Sarupriya
856c2ced59
chore: use published or unpublished DTO based on input (#31888)
## 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>
2024-03-22 14:31:18 +05:30
Anagh Hegde
967148999b
feat: Migrate ApplicationSnapshot to bridge API (#32000)
## 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 -->
2024-03-22 13:04:01 +05:30