Commit Graph

1995 Commits

Author SHA1 Message Date
Nidhi
d6c23b05ab
chore: Renamed datasource storage doc for indexing needs (#23246)
This PR is simply a refactor to make sure index names are smaller.
2023-05-12 01:58:54 +05:30
Manish Kumar
1d1f01389c
chore: Adding CRUD for Dsconfig (#23138)
## Description

> TL;DR: Separating the DatasourceConfiguration as a new collection to
accommodate for environments

This PR adds services and models for DatasourceConfigurationStorage,
which will now hold the datasourceConfiguration previously held in
Datasource. Additionally, DatasourceConfigurationStorage will also hold
invalids and messages from the datasource. It's indexed on datasourceId
and environmentId.

This PR doesn't change the way Datasource consumes and keeps
datasourceConfiguration. This will be followed by other PR which will
change consumption of datasourceConfiguration into a transitory field
### Changes Made:

- Created DatasourceConfigurationStorage model with datasourceId,
environmentId, datasourceConfiguration, invalids, and messages fields.
- Created DatasourceConfigurationStorageRepository interface and
implementation for managing DatasourceConfigurationStorage in the
database.
- Added DatasourceConfigurationStorageService for performing CRUD
operations on DatasourceConfigurationStorage.
- TODO : Update DatasourceService to use
DatasourceConfigurationStorageService for managing
DatasourceConfigurationStorage.



#### PR fixes following issue(s)
Fixes https://github.com/appsmithorg/appsmith-ee/issues/1339

#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)

## Testing

#### How Has This Been Tested?
- [x] Manual
- [ ] Jest
- [ ] Cypress


## Checklist:
#### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-05-11 21:13:02 +05:30
PiyushPushkar02
6060ade54f
fix: CURL empty command error msg fix (#23119)
Changed the error message returned in case of empty input from the user for CURL import

Fixes #12008
2023-05-11 17:09:05 +05:30
Sanveer Singh Osahan
2a3bb4cf8f
feat: Added email bodyType to smtp action (#22749) (#23078)
## Description
Added a new field bodyType to SMTP action.
The bodyType field specifies the content-type for email body. Users can
choose between 2 options
- Plain Text (`text/plain`)
- HTML (`text/html`)

#### PR fixes following issue(s)
Fixes #22749 


#### Type of change
- New feature (non-breaking change which adds functionality)

## Testing
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] Manual
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## Checklist:
#### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-05-11 16:34:49 +05:30
Aswath K
36239d82cd
feat: Auto Layout editor for everyone (#23005)
This PR removes feature flag for Auto Layout so that the new Auto Layout
editor is available for all the users.
2023-05-11 10:55:13 +05:30
Nilesh Sarupriya
08ec16bd2d
fix: mongo no transaction found (#23083)
## Description
> The code changes made here are to cater to an intermittent issue
`Command failed with error 251 (NoSuchTransaction)` , which is observed
while changing the Default Role for User from the Workspace Members
Page.

### Issue
> We see an intermittent `Internal Server Error` on the Workspace
Members Page when changing the Workspace Role for the User.
### Root Cause: 
> On the server side, we observe the `Command failed with error 251
(NoSuchTransaction)`
### Analysis
> The method `updatePermissionGroupForMember` (this is the underlying
method which is called when changing the Default Workspace Role) is
annotated with `@Transactional`. What this does is that, it will make
all the DB operations happening inside the method into 1 transaction.
> But there is 1 limitation of the Mongo Transaction, i.e., there should
be one and only one DB operation which initiates the Transactional flow.
The reason being that the DB operation will create a Transaction Number
which is used further ahead in other DB operations.
> Now, the intermittent issue was happening because the method
`updatePermissionGroupForMember` had **2 first DB operations** which
were being called in parallel, which was leading to the intermittent
exception. This has now been fixed with making those calls sequential,
so that there is only **1 First DB operation**.

#### PR fixes following issue(s)
Fixes https://github.com/appsmithorg/appsmith/issues/22181

#### Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
>
>
#### Type of change
- Bug fix (non-breaking change which fixes an issue)
- Chore (housekeeping or task changes that don't impact user perception)

## Testing
>
#### How Has This Been Tested?
> Please take a look at the
https://github.com/appsmithorg/appsmith/pull/23083#issuecomment-1541351694
to see the testing strategy.

#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2023-05-10 20:02:21 +05:30
Nidhi
d99925cb25
fix: Spaces are disallowed when defining ff emails (#23197)
Bug in the way ME feature flags were defined.
2023-05-10 19:59:28 +05:30
Nilesh Sarupriya
feed046de6
chore: add logs to capture duration for operations (#23140)
## Description
> The code changes in the PR are supposed to capture duration of
business operation logics which are executed during the creation of
user.

#### PR fixes following issue(s)
Fixes #22147 

#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)

## Testing
> None. We are adding logs to capture duration of business operation
logic.

## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2023-05-10 17:47:01 +05:30
balajisoundar
afe3712b88
chore: Remove lazy canvas rendering feature flag - LAZY_CANVAS_RENDERING (#22354)
## Description
This PR removes the lazy canvas rendering feature flag and makes the
feature available for all the users.

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


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-05-10 17:36:30 +05:30
Nidhi
6742c7614f
chore: Refactored a few workspace related methods for reusability (#23157)
## Description
Only a refactoring task, does not require testing.

## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-05-10 17:23:56 +05:30
Abhijeet
467dc1d55b
fix: Email domain hash in analytics event (#23114)
## Description
We are solving 2 problems with this PR:
1. For `Installation Setup Complete` event email domain hash was
incorrect and earlier we were hashing the instanceId which means if user
with same email tries to run 2 different instances hash was different.
2. `IP` is a reserved keyword for tracking events in Mixpanel though
this is allowed in Segment. Instead of showing the ip as is, Mixpanel
provides derived property. As we want derived props alongwith the ip
address we are sharing the IP address in separate keys.
Ref:
https://help.mixpanel.com/hc/en-us/articles/360001355266-Event-Properties

#### PR fixes following issue(s)
Fixes https://github.com/appsmithorg/cloud-services/issues/675

#### Type of change
- Bug fix (non-breaking change which fixes an issue)

#### How Has This Been Tested?
- [x] Manual

## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed
2023-05-10 17:20:11 +05:30
Nilansh Bansal
2aaf77871b
fix: upload image logo fix (#23056)
## Description
> This PR fixes the logo upload failure for branding and app navigation.
> The cursor moves ahead when we read the file, it had to be resetted to
position 0 back again.

Fixes #23055 

#### Type of change
- Bug fix (non-breaking change which fixes an issue)

## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] Manual
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/Test-plan-implementation#speedbreaker-features-to-consider-for-every-change)
have been covered
- [ ] Test plan covers all impacted features and [areas of
interest](https://github.com/appsmithorg/TestSmith/wiki/Guidelines-for-test-plans/_edit#areas-of-interest)
- [ ] Test plan has been peer reviewed by project stakeholders and other
QA members
- [ ] Manually tested functionality on DP
- [ ] We had an implementation alignment call with stakeholders post QA
Round 2
- [ ] Cypress test cases have been added and approved by SDET/manual QA
- [ ] Added `Test Plan Approved` label after Cypress tests were reviewed
- [ ] Added `Test Plan Approved` label after JUnit tests were reviewed

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-05-08 17:28:55 +05:30
Abhijeet
34d9d3b11f
chore: Modify default seriliser to custom JsonSerialiser (#23029)
> Pull Request Template
>
> Use this template to quickly create a well written pull request.
Delete all quotes before creating the pull request.

## Description

> Please include a summary of the changes and which issue has been
fixed. Please also include relevant motivation
> and context. List any dependencies that are required for this change
> Links to Notion, Figma or any other documents that might be relevant
to the PR

> Add a TL;DR when description is extra long (helps content team)

Fixes # (issue)
> if no issue exists, please create an issue and ask the maintainers
about this first


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-05-08 12:55:07 +05:30
sneha122
a03cadcde7
fix: removed gsheet feature flag (#22758)
## Description

This PR removed google sheet feature flag, so that all new
functionalities are available to all users

Note: **We should test this PR only after all google sheet related PRs
have been merged**

> Add a TL;DR when description is extra long (helps content team)

Fixes #22478 


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- New feature (non-breaking change which adds functionality)


## How Has This Been Tested?

- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2023-05-05 20:38:04 +05:30
Manish Kumar
0b6a0f30af
chore: improving /actions endpoint performance (#22109)
## Description

/actions endpoint has very high response latency, The leading factor for
this latency is the DB calls to collections which have high volume of
data. i.e `actions` and `applications`. This Pr tries to address this by
optimising the flow to reduce db calls wherever possible.

The following strategies have been used to reduce the latency as much as
possible

- Reduced DB calls for fetching application and related permission
- Added Criteria for removing JS function from the repository call
- Added a in memory cache to hold default plugins. (this would be used
for filling missing details in action from plugin) resulted in 25-28%
performance advantage.
- **A good next step would have been adding index on all query
parameters, however have held on to that for some data.**

In the PR we have added Micrometer observability for /actions endpoint
as for more data.

> This PR addresses tries to improve the performance of the above
endpoints by means of reducing redundant calls to DB, and caching
wherever possible.

Fixes #21850 

## Type of change
- Chore (housekeeping or task changes that don't impact user perception)

## This has been tested:
- Manual

## Progress: 
The DP created with this PR was tested, however the results were not
consistent. waiting for testing dashboard to be ready to verify the
median/p95 timings from the data

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
2023-05-05 15:31:24 +07:00
Sanveer Singh Osahan
e7007bfb75
fix: Invalidated error state connection mono from cache (#20538) (#22718)
## Description
When the token fetched from client credentials grant type in oauth2 is
expired, a request to the token endpoint is made to fetch a new token.
But sometimes the token endpoint fail. It can be intermittent failure, a
retry will fetch the desired token.
When the failure occurs, the datasource context mono goes into an error
state. As this mono is cached, all the subsequent authenticated api
calls from the user fetches the cached error mono resulting in failures
and thus the token endpoint is never retried.
For the fix, while checking if datasource context is valid, added the
check if its in a failed state. If yes, then the context will be
considered invalid.

Fixes #20538 

## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested

- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-05-05 12:58:17 +05:30
Abhishek
94e4b8515e
fix: Error handling added with proper message when try to create application with duplicate name (#22632)
## Description

>TL;DR: Added suffix retry if name clashes on creating an application.

## Issue: 
When multiple users are trying to create an app on a common
organization, the changes for newly added app is not real-time hence
there's a conflict on app name causing an error. This error asks user to
contact Appsmith support, but a simple page refresh loads the new app.
Issue: #7401

## Solution: 
Added suffix retry if name clashes on creating an application. With this
change, the above issue will not happen and in case of name conflict new
application will be created with a suffix added in the name. E.g
UntitledApplication 1 (1).

## Changes:

1. Added retry suffix method in the ApplicationServiceCEImpl for name
clash only.
2. Renamed createDefault method to createDefaultApplication for better
readability.
3. Removed AppsmithError and AppsmithErrorCode. Not required with
current change.
4. Updated cloneApplicationDocument method in
ExamplesWorkspaceClonerCEImpl to directly call createDefaultApplication
with contains suffix retry logic.
5. Removed same retry suffix method which is used in
ExamplesWorkspaceClonerCEImpl. Not required.
6. Updated test case for this change.

Fixes #7401


## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Manual :  Tested by using backend api.
- JUnit

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-05-05 11:33:07 +05:30
Abhishek
0b541a562e
fix: added userPermissions in newPage Api (#22970)
## Description

### Issue:
Need to add userPermissions in response to newPages Api inside pages
array: These are the APIs
/v1/pages?applicationId={applicationId}&mode={mode} - Get method
/v1/pages/application/:applicationId - Get method

### Solution:
Added userPermissions in the response of the above APIs.

### Changes:
These are the changes done in the following file to add userPermission
in the newPage Api response
1. New FieldName added which is used in query
2. userPermission attribute added in PageNameIdDTO
3. userPermission coming from db set to response in NewPageServiceCEImpl
4. Test cases updated

Fix #21887

## How Has This Been Tested?
1. Manual testing through postman and UI
2. Junit
### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-05-04 17:31:44 +05:30
Nilansh Bansal
fd2ff82b0e
fix: advanced filetype validation (#22808)
## Description

> This PR adds a second layer validation to the basic mime type
validation that's in place which checks the file extension.
> If the `ImageIO.read()` library returns null for .png/.jpeg type
files, it indicates a corrupted file upload, hence it returns
VALIDATION_FAILURE.

Fixes #22592 


## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- JUnit

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Anand Srinivasan <anand.a.srinivasan@outlook.com>
2023-05-04 15:39:10 +05:30
Nidhi
a7546e3ccb
fix: Default to empty structure when not available (#22990)
Fix for Google Sheets generate CRUD
2023-05-04 14:28:07 +05:30
Nilansh Bansal
3915334dd9
fix: display name validation (server) (#22927)
## Description

> This PR adds a validation regex for display name, it allows for
Accented characters such as (ä ö ü è ß) etc, and alphanumeric with some
special characters dot (.), apostrophe ('), hyphen (-) and spaces.
> It also allows for chinese characters, eg. 황현미

Fixes #22578 

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

- JUnit

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Anand Srinivasan <anand.a.srinivasan@outlook.com>
2023-05-04 10:49:45 +05:30
Nidhi
cd96013b68
fix: Updated Template to create datasourceConfigurationStructureList (#22873)
This PR is a follow up to #22847 to make CRUD templates work again.

TODO:
- [x] Wait for #22847 to get merged and then uncomment generate CRUD
tests
- [ ] Test all generate CRUD flows

---------

Co-authored-by: Nikhil Nandagopal <nikhil.nandagopal@gmail.com>
2023-05-04 00:19:40 +05:30
Nidhi
c44a4a124b
fix: Removed structure data from within datasource collection (#22847)
## Description

This PR is a structural change to our database and introduces no change
in functionality.

Since generate CRUD functionality is controlled by an Appsmith app in
release env, this PR will end up breaking generate CRUD temporarily.

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

## Type of change
- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?
- Manual
- Jest

### Test Plan
Available
[here](https://docs.google.com/spreadsheets/d/1dP-x8b7gBFOfXtVBwr-A0I4M0nTiJmeysZO2ExI1Hhk/edit#gid=1966367141)

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [x] Test plan has been approved by relevant developers
- [x] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-05-03 10:18:29 +05:30
Nayan
82c660c759
fix: Fixed race condition in import application flow (#22764)
## Description

This PR fixes the import application failure issue due to the race
condition.

Fixes #21126
2023-05-02 15:34:09 +06:00
Sumit Kumar
cfe1c317dc
chore: remove Oracle integration feature flag (#22822)
## Description
- Remove Oracle integration feature flag. 
- Remove `Optional` qualifier from the SSL header on the datasource
config page.

Fixes #20797 

## How Has This Been Tested?
- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-05-02 08:51:04 +05:30
Abhijeet
9c40e61285
fix: Remove support for updating the Git connected application via file import (#22870)
## Description

We recently introduced a way to update the existing application via JSON
import. We want this feature to be available for only non-git connected
application. This is to avoid feature duplication in Appsmith platform
as Git connected application can perform the backup and sync with git
pull, git merge etc.

Fixes https://github.com/appsmithorg/appsmith/issues/22832,
https://github.com/appsmithorg/appsmith/issues/22831

## Type of change

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?
- Manual
- JUnit

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-05-01 20:21:37 +00:00
Shrikant Sharat Kandula
7558df366e
chore: Remove OAuth env variables from client (#20660)
Client will get supported OAuth list from the tenant API, instead of
from injected env variables like `APPSMITH_OAUTH2_GOOGLE_CLIENT_ID`.

This is a step towards moving OAuth configuration out of env variables
completely, and into the backend database, so their configuration can be
tenant-wide, instead of instance-wide.
2023-04-30 11:52:42 +05:30
Sumit Kumar
0e54c57ead
feat: Oracle integration: Add support for DB schema and update error infra (#22634)
## Description
- Update the Oracle plugin code to use newer error framework infra. 
- Add support to fetch DB schema and show dynamic query templates. 
- The following info is shown to the users as part of the DB schema:
table names, column names for each table, column types, primary key,
foreign key
- Update static query templates. 
- Update datasource form to show mandatory fields with asterik mark
- Update datasource validity check to return error on empty password
field
- Improve data read for the following types: `timestamp with local time
zone` , `clob`, `nclob`
- Minor refactor into modular re-usable functions

Fixes #20794 #20795 

## Type of change
- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?
- Manual
- JUnit TC to be added via separate PR. Another issue it open to track
it.

### Test Plan
[Test plan
links](https://github.com/appsmithorg/TestSmith/issues?q=is%3Aopen+is%3Aissue+label%3A%22Oracle+SQL+DB%22)

### Issues raised during DP testing
https://github.com/appsmithorg/appsmith/issues/21487


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [x] Test plan has been peer-reviewed by QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Added Test Plan Approved label after reviewing all Cypress tests
- [ ] Added Test Plan Approved label after developers review JUnit tests
2023-04-28 17:43:54 +05:30
Abhijeet
32e8224120
feat: Update existing app via JSON import (#22684)
## Description

When a user wants to develop in an instance and deploy in another, the
only way to update an app is via Git. In scenarios where this is not
possible (either in Airgapped scenarios or due to the user's choice),
the user cannot update the deployed app. This PR allows a user to update
an existing app via JSON import. The original references will be
maintained where applicable

> TL;DR: Provide a way to update the existing application via JSON
import in situations where Git sync is not an option.

Fixes #22075 

### How to test?
1. Create a new workspace `WS1`
2. Create new app
3. Generate CRUD page
4. Export the application
5. Create new workspace lets's call this as `WS2` and import the
exported app from step 4
6. Create another page `pageCreatedInWS2` in imported application in
`WS2`
7. Export the updated application from `WS2`
8. Update existing application created in step 2 in `WS1` by importing
the application which is exported from `WS2` in step 7
9. Updated application should have `pageCreatedInWS2` page

```
Curl for ref:
 curl --location '{{base_url}}/api/v1/applications/import/{{workspaceId}}?applicationId={{applicationId}}' \
--header 'Cookie: SESSION={{cookieSessionId}}' \
--header 'X-Requested-By: Appsmith' \
--form 'file=@{{JSON_FILE_TO_IMPORT}}'
```

## Type of change

- New feature (non-breaking change which adds functionality)
- This change requires a documentation update


## How Has This Been Tested?
- Manual
- JUnit

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-27 22:55:07 +05:30
Ayush Pahwa
ddfc329abe
feat: remove bloat from large files during upload (WIP) (#21757)
## Description

Currently, we try to upload large files by converting their binaries
into strings which leads to bloat in size. This is because converting to
bytes in a multi-byte encoding usually takes a larger space and white
characters are also included. We were also doing multiple modifications
which were just adding to the bloat.

Hence, we are now converting the binary data into an array buffer to
prevent this. This buffer is added to the multi-part form data request
as a new part and we add a pointer in the pace of the data which used to
be present earlier. This allows us to have minimal bloat on the payload
while sending the request.

TLDR: fix for uploading large files by changing the data type used for
upload.

*TODO:*
- [x] Client side payload changes
- [x] Server side double escape logic fixes
- [x] Server side tests
- [x] Server side refactor
- [ ] Cypress tests

Fixes #20642 

Media

## Type of change

- New feature (non-breaking change which adds functionality)


## How Has This Been Tested?

- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Nidhi Nair <nidhi@appsmith.com>
2023-04-27 10:33:32 +07:00
Nidhi
7d1c4d87b6
ci: Fixed external dependencies in tests partially (#22639) 2023-04-26 13:44:08 +05:30
Ankita Kinger
ae05e93ec9
chore: Removing feature flag for app level invites (#22650)
## Description

Removing feature flag for app-level invites. Also, updating import
statements to use `@appsmith/..` instead of `ce/..`

Fixes [#22657](https://github.com/appsmithorg/appsmith/issues/22657)

## Type of change
- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?
- Manual
- Jest
- Cypress

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-26 12:48:16 +05:30
Nilesh Sarupriya
a1bf46a850
chore: create a new index on permission groups for defaultDomainId & defaultDomainType (#22673)
## Description

> Create a new index on permission group with `defaultDomainId` +
`defaultDomainType` + `deleted` +`deletedAt` in order to improve the
performance of the queries which are used to find the permission groups
using `defaultDomainId` and `defaultDomainType`.

> Also, we are going to remove an already existing index:
`permission_group_workspace_deleted_compound_index` which was used
earlier, when we were still dependent on `defaultWorkspaceId`

Fixes #22674 


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?
> Tested locally by running the server.
> Indices post the server start:
```
db.permissionGroup.getIndexes()
[
  { v: 2, key: { _id: 1 }, name: '_id_' },
  {
    v: 2,
    key: { assignedToUserIds: 1, deleted: 1 },
    name: 'permission_group_assignedUserIds_deleted_compound_index'
  },
  {
    v: 2,
    key: {
      defaultDomainId: 1,
      defaultDomainType: 1,
      deleted: 1,
      deletedAt: 1
    },
    name: 'permission_group_domainId_domainType_deleted_deleted_compound_index'
  }
]
```

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2023-04-24 17:31:57 +05:30
Vishnu Gp
e651f6242e
feat: To store user's Intercom email share consent on backend (#22648)
## Description

Currently, there is no way for us to know any details about a user when
they reach out to support via Intercom. Thus, we are not able to offer
the right level of support to them basis their current plan.

The idea is to ask for consent to share user details with Appsmith
before Intercom is enabled for a user, the basis which support can
determine the right level of support.

This PR helps to store and retrieve the flag variable for a particular
user which says whether the consent was given or not.

Fixes #22611

## Type of change

- New feature (non-breaking change which adds functionality)


## How Has This Been Tested?

- Manual
- JUnit

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-24 12:04:09 +05:30
Nidhi
b3f1d53492
fix: Modified plugin documentation links (#22637)
## Description

New links will lead users directly to the most relevant sections in the
docs.

## Type of change
- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?
- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-24 12:03:02 +05:30
Manish Kumar
25513d169c
chore: update multiple-environments feature flag criteria (#22627)
## Description

As part of ongoing efforts to improve our feature flagging process, this
Pull Request updates the "multiple-environments" feature flag criteria
to limit access to a specific list of email addresses, rather than the
entire Appsmith domain. This will help to reduce the impact of the
latest merges and ensure that only authorised users have access to the
feature.

Specifically, this Pull Request modifies the existing criteria for the
"multiple-environments" feature flag and changes the access control from
email domains to individual email addresses. This ensures that only
users with approved email addresses can access the feature, and reduces
the risk of unauthorised access or unintended consequences resulting
from recent code merges.

description generated by chatGPT

The email addresses are as follows:
1. [me-eng1@appsmith.com](mailto:me-eng1@appsmith.com)
2. [me-eng2@appsmith.com](mailto:me-eng2@appsmith.com)
3. [me-qa1@appsmith.com](mailto:me-qa1@appsmith.com)
4. [me-qa2@appsmith.com](mailto:me-qa2@appsmith.com)
5. [me-demo@appsmith.com](mailto:me-demo@appsmith.com)

> changed the feature flag strategy from emailDomain to email and
assigned five emails

Fixes #22626

## How Has This Been Tested?
- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
2023-04-22 00:31:11 +05:30
Manish Kumar
77aeca27a0
feat: adding email property in google sheets (#22321)
## Description
As a part of google sheet scope limitation, the email address is being
added in datasource configuration. The email address
is being stored in a property, an element in properties
(`List<Property>`) with key: 'emailAddress' and value: (<emailId>) .

In order to retrieve this property a GET call to endpoint
`https://www.googleapis.com/drive/v3/about?fields=user` is being made.

This property is being saved while google sheet datasource gets
authorised, after access toke retrieval from cloud services.
in the endpoint `/saas/{datasourceId}/token`.

Since the flow is specific to google sheets, the main code is
implemented in googlesheetPluginExecutor. The flow has three steps

- Getting access token from datasourceConfiguration
- making the call to googleApis and obtaining the email address
- saving it back into datasource configuration

The authorisation flow itself saves the datasource later on.  


> TL;DR Adding emailAddress in properties of datasource configuration
when google sheets is authorised.

Fixes #21902 
- New feature (non-breaking change which adds functionality)

## This has been tested
- Manual
- JUnit

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag
2023-04-21 14:17:34 +05:30
Nilesh Sarupriya
b9cb7a7c86
chore: add helper method to be used in ee (#22303)
## Description

> Add a helper send analytics method for role assigned to users

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

Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?
> This is a utility which will be used in EE code and will be tested
there.

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2023-04-20 16:40:44 +05:30
Abhijeet
971eb06c08
feat: Update the Installation Setup Complete event to better track the analytics (#22572)
## Description
This PR adds/updates the fields which are getting reported as a part of
`Setup Complete Event` as a part of onboarding revamp project.

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

## Type of change

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?
- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-20 11:58:04 +05:30
Nilesh Sarupriya
b90a14ce00
chore: change workspace update from save to update object (#22549)
## Description

> Change the update workspace flow to update using the MongoTemplate
`updateFirst` rather than Repository `save`

Fixes # (issue)
> if no issue exists, please create an issue and ask the maintainers
about this first


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?
> `testWorkspaceUpdate_checkAdditionalFieldsArePresentAfterUpdate` 

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-04-20 11:34:08 +05:30
Abhijeet
e310b0a97d
feat: Add support for datasource which can't be self-hosted for air-gapped version (#22393)
## Description

In earlier PR we opted out for plugins that can't be self-hosted for
airgap thinking that as public internet is not available there might not
be any usecase for these plugins. But we are seeing multiple levels of
air gapping needed where customers still want the support for a few
plugins like S3, Redshift, Firestore etc. which are offered by hosting
providers.


https://theappsmith.slack.com/archives/C02K2MZERSL/p1681285395230519?thread_ts=1680632400.272319&cid=C02K2MZERSL

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

## Type of change

- New feature (non-breaking change which adds functionality)


## How Has This Been Tested?

- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-18 15:29:30 +05:30
Sumit Kumar
ce81f3856d
fix: fix oracle plugin info (#22432)
## Description
- Update plugin name to `Oracle` from `Oracle plugin`
- Update plugin icon

Related to #20796 

## Type of change
- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?
- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-17 11:18:15 +05:30
Nilansh Bansal
40bd7733b2
fix: App nav upload logo thumbnail false (#22342)
## Description

> This PR fixes the logo upload which was by default getting set to a
thumbnail type size.

Fixes #22293 

## Type of change
- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-14 12:02:05 +06:00
Ankita Kinger
49fbaea769
fix: Improving UX on the members page and the invite modal (#22268)
## Description

> Improving UX on the members page and the invite modal.

Fixes [#22306](https://github.com/appsmithorg/appsmith/issues/22306)

## Type of change

- Bug fix (non-breaking change which fixes an issue)
- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?
- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-13 09:42:37 +00:00
Nilansh Bansal
c552cb898f
fix: mixpanel publish event individual query counts added (#22341)
## Description
> This PR adds individual Action counts for DB, API, JS, SAAS and REMOTE
actions in mixpanel PUBLISH_APPLICATION event.

Fixes #21536 

## Type of change

- Bug fix (non-breaking change which fixes an issue)



## How Has This Been Tested?
- Manual


### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-13 09:42:10 +00:00
Nayan
67a8d3b7fd
fix: Moved gitSyncId from BranchAwareDomain to BaseDomain (#22335)
## Description
Moved `gitSyncId` from `BranchAwareDomain` to `BaseDomain` because it's
changing property order in the git files.

Fixes #22282

Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-13 13:52:09 +05:30
Abhijeet
2b83f265fd
chore: Add helper methods for instance configuration class (#22296)
## Description

For air gap instances, public internet will be restricted and as a
result, API calls which will be made during the instance registration
should be gracefully handled for air-gap isnatnce. As a part of this,
the current PR creates a helper class from Instance config class to have
a custom implementation on the EE repo.
Corresponding EE PR:
https://github.com/appsmithorg/appsmith-ee/pull/1263

Related issue: https://github.com/appsmithorg/appsmith/issues/21500

## Type of change

- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?

- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-12 20:48:30 +05:30
Nilansh Bansal
54dfd18de6
fix: Revert PR 22157 (#22280)
## Description


> This PR reverts the changes done in #22157 
> Another PR will be raised post the blockers are fixed to create the
`forkWithConfiguration` field as this can impact the users forking their
apps directly.

Fixes #21691 


## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-11 22:49:03 +05:30
Abhijeet
bf3cb2e804
refactor: Seperate out service level methods to helper classes to have custom implementation in business edition (#21884)
## Description

For air gap instances, public internet will be restricted and as a
result, cron jobs that depend on cloud-services won't be supported. As a
part of this, the current PR creates a helper class to have a custom
implementation on the EE repo.
Corresponding EE PR:
https://github.com/appsmithorg/appsmith-ee/pull/1252

Fixes #21522 #21521 #21882 

## Type of change

- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?

- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-10 16:30:16 +05:30
Nayan
a859f76343
chore: Move Git related meta data to new base domain class (#22065)
## Description
This PR creates a new base class `BranchAwareDomain` from the
`BaseDomain` class. This new base class will contain the Git related
metadata. Any domain class that needs to be tracked by git should extend
`BranchAwareDomain` class instead of `BaseDomain` class.



Fixes #22063
2023-04-08 23:39:54 +06:00
Nayan
12686a2855
chore: Moved common methods of permission classes to base class (#22120)
## Description

This refactoring PR moved common methods of permission classes to a new
base class.

Fixes #22127 


## Type of change

- Chore (housekeeping or task changes that don't impact user perception)



## How Has This Been Tested?
- Manual
- JUnit tests
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-07 15:31:49 +05:30
sneha122
67f7571f1e
fix: specific sheets to whole drive issue fixed (#21968)
This PR fixes the issue:
- Spreadsheet dropdown does not show all sheets, when google sheet
datasource is edited from specific sheets to all sheets.
- If files are picked in the file picker, no error message is shown on
datasource review page, but if files are not picked, error message is
shown on review page.

Fixes #21916
2023-04-07 07:31:27 +05:30
Nilansh Bansal
5645310887
feat: forkWithConfiguration flag added for forking app to a workspace (#22157) 2023-04-07 07:05:37 +05:30
Anagh Hegde
735d62d663
feat: exclude view mode only present resources during the export (#22133)
## Description

> When the file is exported we include view mode resources which are not
present in edit mode. This does not make sense and bloats the file. A
user does not have a way to recover these resources. Hence removing
these resources from the app export.

Fixes #21997 


## Type of change

- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?

- Manual
- JUnit

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-06 23:59:02 +05:30
Abhijeet
f66410ebcb
feat: Add functionality to opt out plugin from airgap instance (#22098)
## Description

As a part of supporting airgap instances we want to restrict the plugins
which have any public dependency. This PR introduces a config setting
for plugins to opt out of airgap.
Also as a part of this exercise we are also adding a setting for CS
dependency which can be utilised in future if our customers wants to opt
out of CS dependent plugins.
Corresponding EE PR:
https://github.com/appsmithorg/appsmith-ee/pull/1258

> TL;DR: Provide a way for plugins supported in Appsmith to opt-out of
airgap instances

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

## Type of change

- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?

- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes

### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-06 23:15:03 +05:30
Nilansh Bansal
f2b5931873
fix: Git Repo Not Found Error Message (#22116)
## Description
> This PR fixes the git repo not found error message.

Fixes #21338

## Type of change

- Bug fix (non-breaking change which fixes an issue)



## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-06 06:48:50 +00:00
Nilesh Sarupriya
72b820139e
chore: update workspace member comparator (#22009)
## Description

> Comparator for sorting the workspace members.
> The existing comparator in CE missed a few NULL conditions, for which
we had to introduce a new comparator in EE. But we will now be using the
updated comparator for both CE and EE.

Fixes # (issue)
> if no issue exists, please create an issue and ask the maintainers
about this first


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?
> Existing test cases pass.

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2023-04-05 20:36:43 +05:30
Nilesh Sarupriya
89bb0826af
fix: send additional data to analytics for cloud hosted instance (#21855)
## Description

> Send additional data required for cloud hosted instance.

Fixes #21857


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- Bug fix (non-breaking change which fixes an issue)
- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?
> Tested manually.

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2023-04-03 19:57:33 +05:30
Abhijeet
bc156a0766
fix: Build failure because of access token signature difference in EE repo (#22044)
This PR fixes the build failure which got introduced because of the
recent PR merged as a part of enabling default JsonView
https://github.com/appsmithorg/appsmith/pull/21766
2023-04-03 19:25:45 +05:30
Shrikant Sharat Kandula
4280ded88e
chore: Fix unnecessary re-shading of jars (#21994)
Solves a single thing in the build configurations, resulting in a few
wins.

1. Reduced number of warnings in the output.
   1. In release branch:
      ```
mvn clean package -DskipTests | grep --fixed-strings --count '[WARNING]'
      3233
      ```
   1. In this PR's branch:
      ```
mvn clean package -DskipTests | grep --fixed-strings --count '[WARNING]'
      172
      ```

2. All uber-jar files are shaded twice, currently. Once with the default
execution of `maven-shade-plugin`, and again with the `shade-plugin-jar`
execution in these `pom.xml` files. This is double-work, and is the
cause of most of the warnings we see.
1. This `shade-plugin-jar` was added to have the plugin information
included in the `/META-INF/MANIFEST.MF` file, since we can't configure
the default execution of the shade plugin (it comes to us from Spring
Boot).
2. Instead, we switch to configuring plugin information in a
`/plugin.properties` file.
3. Previously, we used `/plugin.properities` for plugin information in
dev time, and `/META-INF/MANIFEST.MF` in production. This PR will change
it so that we use `/plugin.properties` all the time. We configure PF4J
with a custom plugin manager to achieve this.

3. Moved all `plugin.properties` into `src/main/resources`, so that they
land up in the root of the final jar files. But this means, during
development, loading the plugin fails since it looks for a
`plugin.properties` at the root of the plugin module, i.e., next to the
`src` folder.
1. For this, in the custom plugin manager class, we change where we look
for the `plugin.properties` file during development mode. In this mode,
we look at the `target/classes/plugin.properties` file, which is where
maven saves this file, taken from
`src/main/resources/plugin.properties`.
2. This also solves the duplication of the plugin properties that's
currently present, between `plugin.properties` and the `<properties>`
section of `pom.xml` files.


Here's the shade plugin's default execution and configuration, from
Spring Boot:
https://github.com/spring-projects/spring-boot/blob/v3.0.1/spring-boot-project/spring-boot-starters/spring-boot-starter-parent/build.gradle#L174.
2023-04-03 17:49:21 +05:30
Anagh Hegde
439ceb5406
fix: Add null check before updating the body in actions (#21781)
## Description

> When an app which is connected to git which contains empty queries, is
imported shows uncommitted changes on opening git sync modal. This PR
fixes the issue.

Fixes #21742 

## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-03 16:50:53 +05:30
Nayan
22737e0aa5
chore: Add default view for JsonView (#21766)
## Description

This PR sets the `Public` as default view class for JsonView. It'll be
overridden if the controller has it's another view set. This will
prevent any accidental case when JsonView annotation is missing.

Fixes #21948
2023-04-03 15:37:14 +06:00
Nilansh Bansal
210a5a9eb8
fix: Login Redirection fixed for Authentication failure (#21495)
## Description
> This PR fixes the `redirectUrl` for the `/login` POST API in case of
an authentication failure.

Fixes #18670 

## Type of change

- Bug fix (non-breaking change which fixes an issue)



## How Has This Been Tested?

- Manual
https://github.com/appsmithorg/TestSmith/issues/2203

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Anand Srinivasan <anand.a.srinivasan@outlook.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-03-29 23:56:24 +06:00
Nilansh Bansal
ce9bc24dc7
fix: Removed applicationDetail empty object initialisation (#21828)
## Description

> This PR removes applicationDetail initialisation for empty object from
the publish application method.
> Due to the initialisation while publishing, git was detecting some
changes in the application json and only these two fields were getting
set in a separate commit.
> With this fix, these fields will be set only when a user explicitly
sets these properties.

Fixes #21727 

## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
- JUnit

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-28 23:58:11 +06:00
Shrikant Sharat Kandula
0b89d1595b
chore: Include user-agent in events from backend (#21756)
We get the `User-Agent` header for frontend events today, but not for
backend events. This PR get the `User-Agent` header value, from the
current request context, if any, and sends it along with any analytics
events.

[Relevant Slack
sonversation](https://theappsmith.slack.com/archives/C02MUD8DNUR/p1679579820266469?thread_ts=1679496974.642199&cid=C02MUD8DNUR).

Sample backend event with `userAgent`:

![Screenshot 2023-03-24 at 5 14 35
PM](https://user-images.githubusercontent.com/120119/227513810-b56acc15-4229-4dec-abc2-729ff22b4ecd.png)
2023-03-27 10:11:39 +05:30
Abhijeet
74102897a1
chore: Create a seperate constants for CE and BE for Urls (#21733)
## Description
As we are expanding the features which are supported in BE we may end up
in merge conflicts if we keep the Url references in a single file. This
PR separates the Url constants and also adds the URL path suffix for
mock DBs and release notes API as these features won't be supported in
aitgap instances and will help us to use the constants to block these
APIs.

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

## Type of change

- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?
- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-24 14:46:06 +05:30
Nilesh Sarupriya
97d2687743
chore: infra structure changes for the Application share (#21685)
## Description

> This is a helper PR which contains the following changes:
> - Remove Appsmith Roles: `APPLICATION_DEVELOPER`/ `APPLICATION_VIEWER`
> - `PolicyGenerator.getChildPermissions`: Get all hierarechical
permissions for an entity, given a permission.
> - Deprecate `permissions` data member in `PermissionGroup.java`
> - Refactor `MemberInfoDTO.java` to hold multiple roles.
> - Split `PermissionGroupInfoDTO.java`
> - `TextUtils. generateDefaultRoleNameForResource(String roleType,
String resourceName)` added

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

Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?
> The existing test cases should pass and the newer test cases have been
written in the EE PR

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
2023-03-23 15:03:14 +05:30
Nilansh Bansal
40adb64470
fix: NPE fixed for file uploads (#21697)
> This change was added in the EE repo as part of this PR:
https://github.com/appsmithorg/appsmith-ee/pull/992
But since the File uploads code is common in both the repositories, it
had to be updated in the CE as well but was missed.

Fixes #21695
2023-03-23 09:35:23 +05:30
sidhantgoel
c295d0618a
reverted jsonview changes on controllers (#21626)
This PR reverts the changes on controller method that happened by
mistake. It adds JsonView annotation on all controller methods.

Earlier PR: https://github.com/appsmithorg/appsmith/pull/20086
2023-03-22 13:42:50 +06:00
subratadeypappu
99b03f2fa0
fix: Don't disclose sensitive info in case of DuplicateKeyException (#21568) (#21596)
## Description

When data integrity is violated in the case of `DuplicateKeyException`
sensitive information like Appsmith URI is exposed to error messages.
This is a big security risk that needs to be fixed and any error message
shouldn't display Appsmith server credentials.


[RCA](https://github.com/appsmithorg/appsmith/issues/21568#issuecomment-1475746719)

[Slack
Thread](https://theappsmith.slack.com/archives/C0423TJFUJK/p1679082313650259)

Fixes #21568 


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)
- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?
- Manual
- JUnit

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-03-22 11:40:27 +05:30
Shrikant Sharat Kandula
6d65f4a7f1
chore: Add "Installation Started" event (#21620) 2023-03-21 13:58:18 +05:30
sneha122
86cbda5a8b
fix: fetch gsheet project id from cs added (#21361)
## Description

File picker implementation for Limiting Gsheet Access requires google
sheet project id. The changes in this PR gets the gsheet project id from
cloud-services and returns it back to client. Client then uses this
project id to open file picker and select required files.

Fixes https://github.com/appsmithorg/appsmith/issues/21298,
https://github.com/appsmithorg/appsmith/issues/21362


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2023-03-21 12:53:05 +05:30
balajisoundar
67bc60038b
chore: Add ONE_CLICK_BINDING feature flag for the one click binding e… (#21569)
## Description
- Add a feature flag to hide all the one-click binding changes until
properly integrated.

Fixes #21503 


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-21 10:33:50 +05:30
sidhantgoel
214fb1705a
feat: migrate JsonIgnore to JsonView (#20086)
In summary, the change comprises adding `JsonView` annotations on
domain/model fields, controller methods, and arguments.
applying JsonView annotation on controller methods will include fields
which are marked with the same view in domain objects.
Similarly, usage on controller method arguments will only deserialize
the fields which are marked with same view in Domain object, which is
helpful in case we don't want the client to send some fields for
security reasons.
This change replaces the previous use of JsonIgnore for restricting
fields in API response and allows for more flexibility and will enable
us to have fine-grain control over fields serialized for different
contexts, such as API response, export, and import.
The following views are defined as of now.
`View.Internal` - View used to serialize for internal use. It inherits
from `Views.Public` and `Views.Export`, so it will also include those
fields.
`Views.Public` - View used for API request/response.
`Views.Export` - View used for making field exportable, like in the case
of Git sync and file export.
Also, we can define more views by adding an interface inside the Views
class and Views can also inherit fields marked with different view by
simple interface inheritance.

A small tutorial on JsonView - [Jackson JSON Views |
Baeldung](https://www.baeldung.com/jackson-json-view-annotation)

---------

Signed-off-by: Sidhant Goel <sidhant@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Nayan <nayan@appsmith.com>
2023-03-17 17:19:24 +06:00
Nilesh Sarupriya
3ce5a7a7cf
chore: add utility to check if a permission is for an entity (#21514)
## Description

> add utility to check if a permission is for an entity

Fixes # (issue)
> if no issue exists, please create an issue and ask the maintainers
about this first


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?
> `testIsPermissionForEntity`

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2023-03-17 14:29:23 +05:30
Sumit Kumar
e3c8ca2d5c
feature: Introduce Oracle Integration behind feature flag (#21273)
- Introduce Oracle Integration behind feature flag.
2023-03-16 16:54:25 +05:30
Nayan
ab568573cf
chore: Refactored code for git discard flow (#21453)
## Description
This PR refactors the discard flow by removing the Pull flow. It'll only
discard local changes and revert to the last committed version.



Fixes #20622 
> if no issue exists, please create an issue and ask the maintainers
about this first
2023-03-16 09:03:35 +00:00
Nayan
e0bfdbe6c3
chore: Added tests for leave workspace flow (#21416)
## Description

Added and updated tests for the leave workspace flow. 

Fixes # (issue)
> if no issue exists, please create an issue and ask the maintainers
about this first


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Nilesh Sarupriya <nilesh@appsmith.com>
Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
Co-authored-by: nilansh <nilansh@appsmith.com>
2023-03-16 12:48:19 +05:30
sneha122
6ade2eab4d
chore: feature flag value updated for gsheets (#21391)
## Description

This PR updates the feature flag for Limiting Gsheet Access project,
earlier the feature flag was added for appsmith and moolya domain users,
but now it is updated to only for account integrations@appsmith.com

> Add a TL;DR when description is extra long (helps content team)

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


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?

- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2023-03-16 11:51:05 +05:30
Anagh Hegde
07224e58d6
fix: for SAAS plugins user configured values not separated (#21369)
## Description

> 
1. We're not showing the count for queries with just metadata files.
This needs to be handled. Try it for Twilio queries.
2. The user-configured values and system-generated metadata are not
split into two files
This PR fixes these issues. 


Fixes #21343 

## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-15 20:37:30 +05:30
Shrikant Sharat Kandula
7b56706717
feat: Add static header for CSRF protection (#20965)
We add a static constant value header, to all requests made by the
client, whose method isn't `GET` or `HEAD`.

More discussion in [this Slack
thread](https://theappsmith.slack.com/archives/C03RPDB936Z/p1669701485071579?thread_ts=1669460732.544859&cid=C03RPDB936Z).
2023-03-15 15:32:24 +05:30
Nilansh Bansal
3a22c4d91d
refactor: application detail refactor (#21130)
## Description

> This PR refactors the backend code and the `Application` model to
accumulate the newly added published and unpublished fields into
`ApplicationDetail`

Fixes #19280

## Type of change

- Breaking change (fix or feature that would cause existing
functionality to not work as expected)


## How Has This Been Tested?

- Manual
- JUnit

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-15 15:05:35 +06:00
Nayan
6158c49b05
fix: cloned application is not published (#21366)
## Description
When an application is cloned, it's not published. As a result if the
user tries to open the new application in view mode, it throws error.
This PR fixes it.

Fixes #21309

Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- JUnit test

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-14 13:20:40 +05:30
Nilansh Bansal
8a78450659
chore: fix flaky test publishApplication_withPageIconSet_success (#21355)
## Description
> This PR fixes the flaky test
`publishApplication_withPageIconSet_success` by maintaining the page
order of the application pages

Fixes #21220 

## Type of change
- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?

- JUnit

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-13 17:29:58 +00:00
Nayan
ba81cb2ea1
feat: Add option to delete a application snapshot (#21216)
## Description
This PR adds the option to delete an application snapshot in the
following cases:
    
- A DELETE API that'll delete an application snapshot
- The restore API should delete the underlying application snapshot if
the restore is successful



Fixes #21215


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- JUnit tests

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-09 11:16:43 +05:30
sneha122
0f838535c3
feat: file picker added and access token generation (#20778)
## Description

This PR includes following changes:

- In case of limiting google sheet access project, when user selects specific sheets as an option, they should be shown file picker UI once the authorisation is complete, In this file picker UI, users can select the google sheet files that they want to use with appsmith application and allow access to only those files.
- This PR contains the changes for file picker UI and updating datasource auth state based on the files selected by user.


TL;DR
Steps to test this PR:

- Create Google Sheet datasource
- In the datasource config form, select specific sheets as an option from the scope dropdown.
- Click on save and authorise
- This will take you to google oauth process

<img width="467" alt="Screenshot 2023-02-20 at 1 24 24 PM" src="https://user-images.githubusercontent.com/30018882/220045493-57b0ca6c-3f08-4963-af55-d603cf79bc43.png">

- Select the google account
- This will take you to google oauth2 consent screen

<img width="451" alt="Screenshot 2023-02-20 at 1 24 55 PM" src="https://user-images.githubusercontent.com/30018882/220045641-9f70dd29-6664-489a-b77b-df65445491df.png">

- Click on allow for all requested permissions
- This will take you back to appsmith's datasource config page in view mode and load the file picker UI
<img width="425" alt="Screenshot 2023-02-20 at 1 25 47 PM" src="https://user-images.githubusercontent.com/30018882/220045828-8b3e3e46-4ddc-4e30-b2f8-f12865395817.png">
- Select the files that you want to share with appsmith app
- Click on select
- You should see the new query button in enabled state, as datasource authorisation is complete

<img width="800" alt="Screenshot 2023-02-20 at 1 27 28 PM" src="https://user-images.githubusercontent.com/30018882/220046131-6ce99a85-cddc-4529-ae45-f9833aefd71b.png">

- In case you select cancel on google oauth2 consent screen, you should error message on datasource config page with new query button being disabled

<img width="810" alt="Screenshot 2023-02-20 at 1 28 49 PM" src="https://user-images.githubusercontent.com/30018882/220046385-6b8d636c-b517-44c3-a596-b52bc0084b94.png">

- In case you do give all the permissions but do not select any files in google file picker, then also you should see error message on datasource config page with new query button disabled.

Fixes #20163, #20290, #20160, #20162


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- New feature (non-breaking change which adds functionality)


## How Has This Been Tested?

- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or manual QA
- [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2023-03-08 10:55:17 +05:30
Nayan
ab19f80e93
Improved error log while import application (#21229)
## Description
Sometimes our users face an error Plugin not found. The error message
and logs lack which plugin is missing and why. This PR adds missing
plugins package name to the message. It also logs the same information
in the error log in addition to the list of available plugins. This will
help to debug this type of issues in future.

> Add a TL;DR when description is extra long (helps content team)

Fixes # (issue)
> if no issue exists, please create an issue and ask the maintainers
about this first


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.
- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Provide
instructions, so we can reproduce.
> Please also list any relevant details for your test configuration.
> Delete anything that is not important

- Manual
- Jest
- Cypress

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-03-07 22:37:15 +06:00
Nayan
e1d859acb4
feat: Add api to update mulitple layout (#21105)
## Description

We need an API to update multiple page layouts with a single request.
For the mobile responsiveness project, the client migrates an existing
app from fixed layout to auto layout. After the migration is done, it
needs to send the updated layout one by one. With this new API, the
client needs to make a single API call to update all the layouts.

Fixes #21104
2023-03-03 17:20:15 +06:00
Nidhi
ec351ccdb7
fix: Removed on page load edges from layout model (#21038) 2023-03-02 11:28:32 +07:00
Nayan
2116a2cc70
feat: Add a restore point for Applications (#20933)
## Description
This PR adds a way to take a snapshot of an application on the database.
That snapshot can be restored to the application.

Under the hood it uses the Export-Import feature.

Fixes #19720
2023-03-01 17:06:18 +06:00
Anagh Hegde
4f9fe83646
feat: file structure v2 for actions (#20606)
## Description

> Ignore the body field while committing the JS Object related actions
to git repo.


Fixes https://github.com/appsmithorg/appsmith/issues/20550
https://github.com/appsmithorg/appsmith/issues/19546


## Type of change

- New feature (non-breaking change which adds functionality)


## How Has This Been Tested?

- Manual
- JUnit

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-28 23:54:38 +05:30
Nilesh Sarupriya
fb9becec1d
fix: redirection to HomePage when CREATE WORKSPACE permission revoked from Default Role (#21004)
## Description

> Updating the SignUp success flow to take into account, if the new User
can create Workspace or not.
> Issue: 
> When the admin revokes the Create Workspace permission, the existing
flow is still trying to create the workflow post the signup, which
throws an Internal Server Error.
> Solution:
> A check has been introduced which will skip the Workspace Creation
step, if the admin has blocked Workspace Creation from the **Default
Role for All Users** role.
> Also, another change in behaviour is the redirection strategy.
> When the Create Permission is revoked, the user will land on the
HomePage.
> When the permission is not revoked, user will land on a new
Application with the Onboarding tutorial (this exists).

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

Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?
This has been tested manually on the local setups, and a QA has been
done on the same on the Deploy Preview.

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
2023-02-28 20:37:56 +05:30
Shrikant Sharat Kandula
629e804769
chore: Add email domain hash (#20745)
Adds hashed email domain to some events.
2023-02-27 21:08:54 +05:30
Shrikant Sharat Kandula
3f0c8dccdf
chore: Add version information in instance_stats (#20937) 2023-02-27 19:47:38 +05:30
Manish Kumar
ab0a289d3a
fix: enforcing content-type header while registering the instance id (#20947) 2023-02-27 13:36:45 +07:00
Nilesh Sarupriya
bc77a214b2
fix: remove sensitive information being sent to analytics (#20924)
## Description

> Earlier, we were sending the emails of the invited users to Telemetry,
which should not happen. They should only be limited to Audit Logs.
Hence we are removing this information from the Analytics Data and
making it part of the Event Data. This will ensure that the user emails
will only go to the Audit logs only.

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


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
> Tests cases have been updated in EE.

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2023-02-24 14:54:34 +05:30
Nilesh Sarupriya
5a31fd53a7
feat: migrate default workspace to default domain (#20501)
## Description

> Migrate the Default Workspace Id field in Permission Group to a
combination of Default Domain Id and Default Domain Reference field.

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


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?
> Tested manually

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2023-02-24 12:31:52 +05:30
Sangeeth Sivan
872f799778
feat: usage and billing ce (#20653)
### Description
 - Removes feature flags for usage & billing.
 - moves pricing url to constant.

---------

Co-authored-by: Vishnu Gp <vishnu@appsmith.com>
2023-02-20 22:29:06 +05:30
Manish Kumar
6282932c89
chore: refactoring workspace creation and archive methods to facilitate environment creation in EE. (#20494)
## Description

> In Enterprise edition, the environments will be created by default
when we create a new workspace.
However to facilitate those changes, and to keep code maintainable,
these snippets are neccesary.

> This PR has refactored workspace creation flow into separate methods
to
-  allow addition of resourceIds in `permissionGroup` permissions in EE.
-  added static method to reduce code repeatability

> This PR has changed some methods in workspaceServiceTest, those
methods were using same workspace object to create new workspaces when
called in a loop, however the workspace object used to create was
assigned id after first `workspaceService.create` call, the subsequent
create calls returned same workspace object, furthermore the linked
dependents were new each time causing problem.
As a fix, creating a new workspace object each time for create calls in
loop.

## TL;DR
> Refactor to facilitate the default environment creation PR in the EE 

Fixes https://github.com/appsmithorg/appsmith/issues/20790
> This issue is a facilitator PR for [default environments with
workspace PR](https://github.com/appsmithorg/appsmith-ee/pull/1027).

## Type of change
- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?
- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
2023-02-20 20:37:38 +05:30
Nidhi
412179d1fc
fix: Increased Nginx limit to 150 MB to allow 100 MB Base 64 encoded files (#20617)
## Description

We're increasing the default limit of request payload on cloud so that
100 MB files that are base 64 encoded can also be uploaded via Appsmith.

Fixes #20424

## Type of change
- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?
- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-20 20:34:02 +05:30
Shrikant Sharat Kandula
269ad319e1 chore: Fix compilation error 2023-02-20 19:30:35 +05:30
Shrikant Sharat Kandula
5b0d701a27
chore: Refactor tenant email param (#20759)
Refactoring to make the `updateTenantLogoInParams` function testable in
EE code.
2023-02-20 19:08:33 +05:30
Sumit Kumar
8b32fb6e59
fix: allow MsSQL plugin to connect with ssl encryption (#20568)
## Description
- Currently MsSQL plugin enforces SSL setting to be disabled when
connecting with a database, hence any database that does not allow
non-encrypted connection would fail the connection.
- This PR introduces SSL dropdown to MsSQL datasource config page with
two modes - (1) `disabled` (2) `encryption with no verify`
- `encryption with no verify` means that an encrypted connection would
be established but the client would not seek to verify the authenticity
of the database server.
- This PR also migrates the older existing MsSQL datasources to include
the SSL config with mode being `disabled` since this is how the plugin
is effectively configured at the moment.
- An attempt was made to use the new `ChangeUnit` way of writing the
migration but was abandoned in the interest of time after some re-tries
due to some error during runtime.

Fixes #19039 #20048

## Type of change
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?
- Manual
- Attempted to add JUnit TC but had to roll back because of some issues
with DB connections opened via other JUnit TCs. Tracking this issue
here: https://github.com/appsmithorg/appsmith/issues/20570

### Steps for manual testing
(1) Run MSSQL using docker cmd: `docker run -d --name sql_server -e
'ACCEPT_EULA=Y' -e 'SA_PASSWORD=someThingComplicated1234' -p 1433:1433
mcr.microsoft.com/mssql/server:2019-latest`
(2) Switch to `release branch`. 
(3) Create a MSSQL datasource and create valid connection to the DB
created in step (1). Check that the datasource has no SSL dropdown
config.
(4) Create a query on datasource created in (3). Verify that the query
runs.
(5) Switch to this PR branch. Spin up the sever. 
(6) Edit the datasource created in (3) and check that there is a SSL
dropdown with `Disabled` config set.
(7) Check that test datsource passes and query in (4) still works. 
(8) Create a new datsource and check that it has SSL option set to
`Enable with no verify`.
(9) Check that datasource in (8) works.

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-20 18:32:46 +05:30
Anagh Hegde
33940ea348
chore: Add missing log statements (#20766)
> Add missing log statement for the content type error scenario.
2023-02-20 13:21:02 +05:30
ChandanBalajiBP
b72dea33f3
feat: Error handling phase 1 (#20629)
## Description
This PR updates the error logs 
- Establishing a consistent format for all error messages.
- Revising error titles and details for improved understanding.
- Compiling internal documentation of all error categories,
subcategories, and error descriptions.

Updated Error Interface:
https://www.notion.so/appsmith/Error-Interface-for-Plugin-Execution-Error-7b3f5323ba4c40bfad281ae717ccf79b

PRD:
https://www.notion.so/appsmith/PRD-Error-Handling-Framework-4ac9747057fd4105a9d52cb8b42f4452?pvs=4#008e9c79ff3c484abf0250a5416cf052

>TL;DR 

Fixes # 


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- New feature (non-breaking change which adds functionality)


## How Has This Been Tested?

- Manual
- Jest
- Cypress

### Test Plan


### Issues raised during DP testing


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: subrata <subrata@appsmith.com>
2023-02-18 18:25:46 +05:30
Anagh Hegde
b56c227b9f
chore: update error message for git file lock error (#20746) 2023-02-17 13:57:55 +01:00
Vishnu Gp
bda10bb070
chore: Added extra analytics events for license (#20638)
## Description

Added extra events for license-related analytics events. Also did some
functional breakdown of code

## Type of change

- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?

- Manual


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-15 21:43:52 +05:30
Sumesh Pradhan
a846bd4952
fix: renamed rts port env to APPSMITH_RTS_PORT (#20121)
Issue: Nginx and RTS used the same env PORT for binding it's service,
while the backend server had the rts port hardcoded on its rts uri.
- Renamed env PORT to APPSMITH_RTS_PORT for starting the rts server.
- Updated nginx config templates to use env `APPSMITH_RTS_PORT`
- Added appsmith.rts.port property in server to use env
APPSMITH_RTS_PORT
- Updated CommonConfig.java rtsBaseDomain to use appsmith.rts.port

---------

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2023-02-15 07:06:02 +05:30
Anagh Hegde
34822d563a
fix: Add file system locks after the git operation (#12174)
## Description

> Add file locking using redis with retry. Helpful when multiple users
are trying to perform git actions in the Appsmith UI.

Fixes #10856 
Fixes #14366

## Type of change


- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

- Test A
- Test B

## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes

---------

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Sidhant Goel <sidhant@appsmith.com>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
Co-authored-by: System Administrator <root@Parthvis-MacBook-Pro.local>
2023-02-14 20:58:25 +05:30
Nilesh Sarupriya
291ba8d8a2
chore: use helper method for evicting all pg user related cache (#20546)
## Description

> The following code introduces a wrapper around the
`evictPermissionGroupForUser` cache which can then be extended for
further similar use cases with changes if required.

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

Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?
> Since this is just a wrapper around an existing function, there is no
change in User Experience.

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2023-02-14 17:13:16 +05:30
Abhijeet
3ec9154034
chore: Remove usage pulse logging for Appsmith cloud (#20588)
## Description

> We are working on usage and billing feature and as a part of usage
calculation, we are recording the usage pulses at 1 hr intervals today.
As the business cases are evolving we received a request to log the
pulses for every 5mins instead of an hour. Just to provide the existing
stats for the past month on our cloud alone we have received 155545
pulses with 1hr intervals between the pulses. Also going forward if are
doing it with 5mins intervals this count is going to increase by 12
folds. Now considering we will not be monetising the cloud platform
until multi-tenancy is out, do we have usecase where we still need the
usage data? If not we would like to stop recording these usage pulses on
Appsmith cloud and bring it back after multitenancy is live. Until then
self-hosted EE instances will report the pulses as expected.

> TL;DR: Remove logging of usage pulses for Appsmith cloud not to bloat
the cloud services DB, as these pulses will not be used unless the
multi-tenancy is introduced

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

## Type of change

- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?

- Manual
- JUnit

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-14 11:46:33 +05:30
Vishnu Gp
7d64944550
chore: Added AppsmithError for invalid license key entered (#20571)
## Description
Added a new AppsmithError to handle invalid license key.

## Type of change

- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?

- Manual

## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-11 14:21:44 +05:30
Nayan
d71fe7a883
chore: Removed comment feature codes (#20192)
## Description
Removed the codes related the comment feature
Fixes #20140
2023-02-09 22:54:21 +06:00
Abhijeet
9f6ef23f5a
feat: Support mongodb transactions for import application flow (#14939)
## Description

Import application flow is a multi-stage process where we touch all the
mongo DB collections required to store the application in DB, which
today includes pages, actions, JSObjects, etc. When the flow is complete
then only we can say the application is successfully imported and DB
won't have any stale objects stored. But in a negative scenario where
the flow might break because of some unknown exceptions, objects stored
earlier become stale and reside in DB forever. With this PR we are
establishing the infra for transactions to avoid saving stale DB
objects. This is achieved by a rollback mechanism in case an exception
is thrown in the middle of execution.

Note: Since transactions are built on concepts of logical sessions they
require mecahnics (like oplog) which are only available in replica set
environment.

You can always convert a standalone to a single noded replica set and
transactions will work with this one node.


[https://docs.mongodb.com/manual/tutorial/convert-standalone-to-replica-set/](https://docs.mongodb.com/manual/tutorial/convert-standalone-to-replica-set/?_ga=2.53712296.1453502529.1669195955-2065030687.1664009965)

```
For local dev earlier we used to run the single node without replica set. Henceforth if we want to take the advantage of transactions please follow the steps to run mongod single node in local with replica set:

- Upgrade the MongoDB version to 4.4 or higher if it’s 4.2 or lower (https://www.mongodb.com/docs/manual/release-notes/4.4/#std-label-4.4-upgrade)
- Close the mongoDB instance running in your local
- Start the mongoDB in replica set mode and initiate the replica set
    - mongod --port 27017 --dbpath <path/to/db> --replSet <replica-set-name> && mongo --eval “rs.initiate()”
- One can use following commands to check replica set status: 
    - mongo appsmith
    - rs.status()
- By this time you should have the mongo running with replica set
```
<img width="1788" alt="Screenshot 2022-07-01 at 10 31 27 PM"
src="https://user-images.githubusercontent.com/41686026/176944386-f9d94715-c0cf-4900-93b7-f73647132d60.png">

This also means mongodb connection string used in env file will now
include the replica-set name if one wants to leverage transactions:
`mongodb://localhost:27017/appsmith?replicaSet={replica-set-name}`

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

## Type of change

- Bug fix (non-breaking change which fixes an issue)
- This change requires a documentation update

## How Has This Been Tested?

> JUnit 
> Manual test

## Checklist:

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes

---------

Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-09 14:50:04 +05:30
balajisoundar
bacb77a352
chore: Render below the fold widget components when browser is idle using Intersection Observer (#18747)
## Description
In order to improve the first load of the applications, now we're only
rendering the widget components that are [above the
fold](https://en.wikipedia.org/wiki/Above_the_fold#In_web_design) right
away and rendering the other widget components whenever the browser is
idle. This decreases the amount of time it takes before the first paint
on the screen.

This is getting shipped behind a feature flag!
2023-02-08 16:53:39 +05:30
Nilesh Sarupriya
e39d6af9ef
fix: remove padding from state used in OIDC authorise (#20433)
## Description

> Cognito returns **Malformed URI** for redirect when User tries to
Login. Due to this, browser ends up throwing `400 Bad Request`. In order
to fix this, we have removed the padding from the `state` query
parameter which we send to the OIDC, in order to avoid the cases where
the additional `=` will lead to malformed URIs being created. Read
[here](https://stackoverflow.com/questions/6916805/why-does-a-base64-encoded-string-have-an-sign-at-the-end)
for Additional information on the Base64 encoding and padding.
> Also, we are changing the delimiter from `=` to `-` when server tries
to find the redirect URI for other use cases.
> Server uses `,` in order to split the state to get the `origin value`.
Now we will use `@` instead of `,`.

> TL;DR, remove `=` and `,` in order to avoid malformed URI strings.

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

Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video

## Type of change

- Breaking change (fix or feature that would cause existing
functionality to not work as expected)


## How Has This Been Tested?
> Tested manually with different use case scenarios.

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2023-02-07 19:20:00 +05:30
Sumesh Pradhan
fe0b641fb2
fix: minor update on APPSMITH_TRACING_ENDPOINT (#20437)
Removed api path from `APPSMITH_TRACING_ENDPOINT`
2023-02-07 17:13:54 +05:30
Shrikant Sharat Kandula
bb4ca19179
chore: Remove Maps API Key env variable for client (#19486)
Part of #11855.

Instead of getting the Google Maps API Key from runtime env variables,
we get it from the server, as part of the response of
`/api/v1/tenant/current`. This doesn't add a database call, just include
the env variable name in the response, so shouldn't have any performance
impact on the API.

On the client though, the Maps API key won't be available, until at
least the first call to `/tenant/current` is finished.

Also, first big PR in client code. 🙂

Edit: not `/me` anymore, but from `/tenant/current`.

---------

Co-authored-by: Pawan Kumar <pawan.stardust@gmail.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-07 14:53:15 +05:30
Nidhi
7e15d8b13d
feat: Server side observability (#19828)
## Description

TL;DR: This PR introduces metrics logging using native Spring support
for Micrometer. It includes a docker-compose to set up all the required
parts of this observability stack in the local environment as well.

In order to make use of this stack, please navigate to
`utils/observability` and execute the following command:
```
docker-compose up -d
```

The set up comes bundled with a default Grafana dashboard that can be
accessed at localhost:3001. Please feel free to switch the mapping ports
around in the docker-compose file.

This dashboard currently shows all http requests (sampled at 0.1 by
default), and the server side implementation has introduced some minimal
tracing for the `/api/v1/action/execute` endpoint. This means that you
can use the trace id from http server requests for this endpoint to
delve deeper into the spans exposed in this flow.

In case you would like to send trace information to another service,
please make use of the `APPSMITH_TRACING_ENDPOINT` variable. To override
the default sampling rate in your local (to say, 1), you can set that as
the value for the variable `APPSMITH_SAMPLING_PROBABILITY`.

Fixes #19153

## Type of change
- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?
- Manual

### Test Plan
No testing required, only needs regression after merge.

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag

---------

Co-authored-by: Sumesh Pradhan <sumesh@appsmith.com>
2023-02-07 14:26:18 +05:30
sneha122
008c0b6d22
feat: feature flag added for limiting gsheet access (#20223)
## Description

This PR adds feature flag for Limiting Google Sheet Access project.

Fixes #20156 


Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video


## Type of change

> Please delete options that are not relevant.

- New feature (non-breaking change which adds functionality)


## How Has This Been Tested?

- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2023-02-06 10:57:43 +05:30
Shrikant Sharat Kandula
6637716dea
chore: Increase Redis timeout in /health from 1s to 3s (#20383)
The current Redis timeout of 1s is triggering a lot of false-positives,
where we report as down, but operate just fine. In this PR, we change
this to 3s, in an attempt to reduce the number of such false-positives.

We increase it to 3s _only_, just so we don't change too much too fast.
If this also creates too many false-positives, we revisit.
2023-02-04 23:18:21 +05:30
Manish Kumar
1a1710f4bb
chore: Adding environmentName parameter in datasource test flow and required decomposition and refactors. (#19783)
## Description
- TL; DR , small Pr to add environmentName to Datasource-controller for
`test`, `structure`, and `trigger` flows. In order to adapt for
environments. There is a method addition in authenticationValidator, and
further refactor to avoid code duplicity.

- With Introduction of multiple environments we would have
configurations corresponding to each environment. In order to test these
configurations, we would require an environment parameter to be passed
as an argument, this could be done by passing an environment header with
the current datasource `test`, `structure`, and `trigger` flows,
however, since our community and enterprise flow uses the same code. We
require our community code to include the header which however, will not
be used in the community edition but it will have complete usage in
enterprise edition.
- A `validateAuthentication` method in `authenticationValidator`
interface has been loaded with an extra parameter (environmentId) for
environment support, EE changes will follow post the merge.
- `Datasource trigger and Datasource Structure flows`, required some
refactors to make it work with environments as well.

## Type of change

- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?
- Manual
- Jest
- Cypress

Existing test cases are adequate, just tweaked a few test cases to
accommodate changes.


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-03 18:43:34 +05:30
Shrikant Sharat Kandula
04f6208f86
chore: Add version to analytics events (#20295)
Currently, analytics events don't include Appsmith version information.
This PR adds version, and edition information to all events.
2023-02-03 10:45:39 +05:30
Sangeeth Sivan
ad5d236a05
chore: [Usage & billing] change upgrade hook link and refactor upgrade to BE page (#20312)
## Description

Updates the redirection link when the user clicks on `Upgrade`. Also
renders the background in CSS instead of using still image as an
placeholder.

Fixes #20313 


Media
![Screenshot 2023-02-02 at 2 09 25
PM](https://user-images.githubusercontent.com/74818788/216273606-99c88da1-c047-4940-ae24-4ba532c6a976.png)



## Type of change

> Please delete options that are not relevant.

- Chore (housekeeping or task changes that don't impact user perception)



## How Has This Been Tested?
- Manual


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-03 09:48:50 +05:30
Nilesh Sarupriya
68082175cc
feat: add centralised comparators (#20279)
## Description

> Making comparators centralised in order to reduce code duplication.

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

Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video

## Type of change

- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?
> This has been tested manually.

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-02-03 09:42:01 +05:30
Shrikant Sharat Kandula
0f5076064d
chore: Fix Installation complete event not being sent (#20301)
The problem was that the Mono returned by `analyticsService.sendEvent`
was returned inside a `.map` call, which, (almost) always results in a
bug.

This PR fixes that.
2023-02-02 12:09:01 +05:30
Nilansh Bansal
4034d9cc81
chore: Removed ShareApp Boolean Field (#20291)
## Description
> This PR removes the Boolean shareApp field from the Application Model

Fixes #20261 


## Type of change
- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?
- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-01 14:28:04 +00:00
Nayan
d79c1b918e
chore: Add photos of workspace members in homepage API response (#20132)
The homepage API is used to load list of workspaces, apps under those
workspaces and their members. The list of members is used to display a
profile photo of the members. The client loads the profile picture using
the email address of the member. This can lead to 404 if the member has
no photo set.

This PR includes the photo ids in the response so that client knows
whether the user has photo or not. If photo is not set, client will not
try to load it. So the 404 responses will no more be there.

Fixes #20127
2023-02-01 17:38:12 +06:00
Nidhi
5bb1a060f0
chore: Added total parameter size in execution DTO to analytics (#20129)
## Description
This property will give us an insight into what range of parameter sizes
users are working with.

Fixes #20128 

## Type of change
- Chore (housekeeping or task changes that don't impact user perception)

## How Has This Been Tested?
- Locally via Segment

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
2023-02-01 11:18:14 +00:00
Nilansh Bansal
eb9f4f5883
feat: Adding Icon to Application Pages (#20247)
## Description
> This PR implements the backend APIs for updating icon to a Page.

Fixes #20199 


## Type of change

- New feature (non-breaking change which adds functionality)

## How Has This Been Tested?

- JUnit
- Postman

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-02-01 11:17:56 +00:00
Shrikant Sharat Kandula
aff9f4bc0e
fix: NPE on server startup (#20288)
Fixes #20060.

Co-authored-by: Trisha Anand <trisha@appsmith.com>
2023-02-01 16:07:36 +05:30
arunvjn
7ca4f73cdf
fix: library installation failure in public apps (#20112)
- Feature flag API returns an empty response for public applications.
The API to fetch installed libraries was behind the custom JS library
feature flag and thus wasn't invoked. This PR removes all the references
to CUSTOM_JS_LIB feature flag in the code base.
- Add change to make Custom JS Lib view endpoint accessible without
login.
- Add JUnit TC to test for js lib presence in view mode.
2023-02-01 10:37:39 +05:30
Nikhil Nandagopal
e07dc1b516
chore: Changed Id of analytics to instance id from ip (#20266)
## Description

Updates the analytics tracking of instance stats to use the instance Id
instead of IP address

## Type of change
- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?
- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
2023-02-01 06:19:22 +05:30
Nayan
1a78741c4d
fix: Return system theme when application theme not found (#20170) 2023-01-30 19:26:29 +05:30
subratadeypappu
d25b476e0a
Fix unexpected cyclic dependency error due to server is not able to connect to the RTS server (#20012)
## Description
There’s a function named `checkInstanceSchemaVersion` in
`InstanceConfig.java `class which was not returning any signal due to
the use of `.then()`. Consequently, the RTS server checking wasn’t made
as it wasn’t receiving any signal/command to do so.

To know more about the error please check the details in the issue
itself.

Fixes #20010 



## Type of change

> Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?

- Manual

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test

---------

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-01-30 13:21:12 +05:30
Nilansh Bansal
ad2c9c060b
feat: Collapse invisible widgets Field for Auto-height (#20142)
## Description

> This PR implements the backend APIs for Invisible widgets in
Auto-height containers
> Notion doc here:
https://www.notion.so/appsmith/Invisible-widgets-in-auto-height-containers-460c6bf4e0a342e4a1fa4955f7f6c461
> Frontend feature implementation here:
https://github.com/appsmithorg/appsmith/pull/20118

Fixes #19983 


## Type of change

- New feature (non-breaking change which adds functionality)


## How Has This Been Tested?

- Manual
- JUnit

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-27 17:43:20 +00:00
Shrikant Sharat Kandula
0aa97324bf
fix: Fix Appsmith logo in emails (#20030)
SVG images don't load correctly in emails, so we're switching back to PNG.

Co-authored-by: Pawan Kumar <pawan.stardust@gmail.com>
2023-01-26 14:13:24 +05:30
Shrikant Sharat Kandula
de4f787a68
feat: Add instanceId in tenant response (#20039)
In the tenant response, this PR adds the current `instanceId` to the
tenant response.

Why do we need it? This will be used to power the `Upgrade` buttons in
Admin Settings to start the U&B flow.

Why add it to the tenant API? So that for U&B flows on the cloud, we can
add something like a `tenantId` there, in the same request, so this felt
like the right place.

Potential performance impact? Unlikely. The `instanceId` is permanently
cached in the process memory, so this is a one-time DB-call, in the
lifetime of the server process.
2023-01-25 18:50:31 +05:30
sidhantgoel
4b66d0c87f
fix: flaky tests due to startup happening async (#20079)
Testcases were flaky because loading cache after application is ready is
happening in async with testcases, so sometimes testcases fails if cache
is not loaded by the time testcase executes.
Testcases fail and gives the following error message `Appsmith server is
not ready. Please try again in some time`

This fixes the issue by running startup process in sync after
application is ready.

And there is a genuine failure of testcase
`exampleApplicationsAreMarked` which is fixed.
2023-01-25 17:42:25 +05:30
Nilansh Bansal
6531bd6aeb
feat: APIs to Upload/Delete App navigation logo (#19164) (#19771)
## Description

Implements backend APIs for Uploading and Deleting Navigation Logo

Fixes #19164

## Type of change

- New feature (non-breaking change which adds functionality)



## How Has This Been Tested?

- Manual
- Postman
- JUnit Tests

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-23 07:38:59 +00:00
sidhantgoel
e8d99205d3
feat: added models for export (#19963)
Added models for export, this will be used in Import/Export V2 service.
2023-01-21 13:11:53 +05:30
Nayan
89ae5ddf7f
fix: Forking fails when template has REST datasource with Bearer Token Authentication (#19930)
## Description
When an application is exported with credentials i.e. template
application, it does not contain the bearer token authentication
credentials. As a result, when user is trying to import this
application, the datasource configuration popup appears. This PR fixes
this issue.

TL;DR enable export-import application with bearer token authentication

Fixes #19415 

Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video

## Type of change
- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
- Manual
- Jest

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-20 15:36:49 +06:00
Sumit Kumar
89265391c4
fix: fix git related issues in Custom JS Library feature (#19886)
## Description
- Remove published JS libraries from becoming part of the exported application when exporting for Git. 
  - This was causing a problem with git status because git status would consider the published libraries as well when fetching git diff however, when creating commit only unpublished libraries are used. 
  - I am not sure why, but it seems to fix the git merge issue as well - not sure at the moment. Waiting for a verification from QA on this. (Update: QA has verified this as well)
 
Fixes #19764 #19766 

## Type of change
- Bug fix (non-breaking change which fixes an issue)


## How Has This Been Tested?
- Manual
- JUnit TC

### Test Plan
> Add Testsmith test cases links that relate to this PR

### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)


## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or manual QA
- [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-20 13:25:53 +05:30
Anagh Hegde
52e4d32a3f
feat: Separate the js object code and metadata when used with git sync (#19156)
As per current DB structure actions are embedded inside the JSObjects.
Every new method in JSObjects results in new action getting created in
DB. Consider user updates the JSObject.myFun1 then user will have
changes at 2 locations

Queries directory under myFun1 file
Body of JSObject1
We should not commit these duplicates and JSObject body should be
committed as is. These steps surely makes it easier to resolve the
conflicts even if occurs at same line.
2023-01-19 20:12:22 +05:30
Manish Kumar
f04552ae75
chore: formatting and access modifier changes (#19874)
## Description

- TL;DR formatting changes and added a protected 

## Type of change
- Chore 

## How Has This Been Tested?
- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-19 12:09:56 +05:30
Anagh Hegde
6400d8c7c1
fix:use correct error message for git import failures (#19848)
## Description

> Instead of the generic error message which confuses the user during
the git sync failure due to the hydration from file to db or vice versa,
we are now showing a better error message which does not confuse the
user.

## Type of change


- Chore (housekeeping or task changes that don't impact user perception)


## How Has This Been Tested?

- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-19 11:15:28 +05:30
arunvjn
b72ba55528
chore: disable JS Libs feature flag (#19884)
## Description
Enables JS libs for all users without removing the references of feature
flag code.

#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)

#### How Has This Been Tested?
- Manual

### Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-19 10:38:09 +05:30
Anagh Hegde
a60322948f
fix: Add support for the shh url that does not contain domain name (#19879)
## Description

> When the git service is self hosted, one can chose to not to set up a domain name. But this set up does not work with the current git sync feature. This PR fixes this bug by supporting such use cases. 

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

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

- Manual
- JUnit


## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or manual QA
- [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-18 19:46:53 +05:30
Nidhi
9e79b76403
fix: Modified upgrade path error for v1.9.2 (#19865)
Fixes #19862
2023-01-18 14:39:50 +05:30
Abhijeet
4feed5d01f
fix: Usage pulse delivery for invalid user where manage user permission is missing (#19852)
## Description

> As we are using updateUser method within UsagePulse
(`api/v1/usage-pulse`) API to update the hashedEmail. This requires the
user to possess required permission but as this is a internal usecase
it's safe to expose a method to perform the update operation.

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

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## How Has This Been Tested?

- Manual

## Checklist:
### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
2023-01-18 10:20:07 +05:30