Commit Graph

18234 Commits

Author SHA1 Message Date
Ravi Kumar Prasad
6ac99037b0
feat: Action selector (#21582)
## Description
Replaces the old boring action selector dropdown with a much more
sophisticated UI that is capable of going above and beyond. Users with
an aversion to code can now build their more complex workflows with a
click of a few buttons.

Consider this code snippet 
```javascript
Api1.run(() => {
  showAlert("Hello");
  navigateTo('Page1', {}, 'SAME_WINDOW');
}, () => {
  removeValue("test");
});
```
|**Old action selector** |**New action selector**|
|:-:|:-:|
|<img width="250" alt="Screenshot 2023-03-29 at 16 54 14"
src="https://user-images.githubusercontent.com/32433245/228520661-a639b580-8986-4aec-a0f5-e2786d1a0f56.png">|
<img width="250" alt="Screenshot 2023-03-29 at 16 55 15"
src="https://user-images.githubusercontent.com/32433245/228521043-5025aa42-af95-4574-b586-bc4c721240bc.png">|

**Click on an action block to edit its parameters.**
<img width="500" alt="Screenshot 2023-03-29 at 17 01 18"
src="https://user-images.githubusercontent.com/32433245/228522479-493769d0-9d2c-4b67-b493-a79e3bb9c947.png">

**Switch to JS mode to get the raw code**
<img width="273" alt="Screenshot 2023-03-29 at 17 05 51"
src="https://user-images.githubusercontent.com/32433245/228523458-13bc0302-4c94-4176-b5aa-3ec208122f57.png">

### Code changes
**New UI components**
  - ActionCreator component splits the code into block statements.
  - Each block statement is represented by ActionTree.tsx UI component.
  - ActionTree.tsx represents an action and its chains.
- ActionCard.tsx is the block that represents the individual action on
the UI.
- ActionSelector.tsx component is popover that contains the form for
editing individual action.
- TabView, TextView, SelectorView, ActionSelectorView and KeyValueView
are components that represent configurable fields in ActionSelector
form.
  
**AST methods**
  - Added methods to get/set function names, expressions, arguments.
- Added methods to get/set then/catch blocks to allow chaining of
actions.
  - Added methods to check if code is convertible to UI.

Fixes #10160
Fixes #21588 
Fixes #21392
Fixes #21393
Fixes #7903
Fixes #15895
Fixes #17765
Fixes #14562

Depends on https://github.com/appsmithorg/design-system/pull/306

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

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

### Test Plan
https://github.com/appsmithorg/TestSmith/issues/2296

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

---------

Co-authored-by: Rimil Dey <rimil@appsmith.com>
Co-authored-by: arunvjn <arun@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Co-authored-by: Parthvi Goswami <parthvigoswami@Parthvis-MacBook-Pro.local>
2023-04-06 22:19:12 +05:30
sneha122
49fb6ae852
feat: gsheet disable new query when no files selected (#21912)
## Description

This PR adds:
- When gsheet datasource is created with "Selected Sheets" Modality, and
if user fails to select any files from file picker
    - we should disable new query creation
    - we should show error message banner on datasource review page

**How to test:**
- Create google sheet datasource, break the authorisation flow, check
review page, error message like "Data source is not authorized, please
authorize to continue." would be shown.
- Edit datasource, complete the authorisation but do not pick any files
from file picker, error message like "Datasource does not have access to
any files, please authorize google sheets to use this data source" would
be shown


Fixes #20290

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-04-06 19:42:34 +05:30
Ankita Kinger
e5b7409d5f
fix: Alignment issues on the invite modal and the members page (#22122)
## Description

> Alignment issues on the invite modal and the members page

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

## 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-06 18:33:49 +05:30
Dipyaman Biswas
25024c0c79
fix: fix usage pulse fallback (#21735)
## Description

Added a fallback value (crypto.randomUUID) when there is an issue with
generating the key from segment

Fixes #https://github.com/appsmithorg/cloud-services/issues/582
Fixes #https://github.com/appsmithorg/cloud-services/issues/583


## 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
- 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
- [ ] 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: balajisoundar <balaji@appsmith.com>
2023-04-06 17:51:58 +05:30
Rajat Agrawal
5f9deae721
fix: improve documentation for setting Appsmith server locally (#22123)
There was an error setting up MongoDB replica on docker image in server
setup on a local machine.

The issue is highlighted in this link :
https://www.linkedin.com/pulse/single-node-mongo-replica-docker-sumit-sengupta/
2023-04-06 17:00:38 +05:30
allcontributors[bot]
1704f0c9a9
docs: [skip-changelog] add iSatVeerSingh as a contributor for code (#22158)
Adds @iSatVeerSingh as a contributor for code.

This was requested by riodeuno [in this
comment](https://github.com/appsmithorg/appsmith/pull/21992#issuecomment-1498874681)

[skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2023-04-06 16:33:12 +05:30
Aishwarya-U-R
f51c25f8e6
test: Cypress - EntityExplorer ExpandCollapse() improvement (#22149)
## Description

- This PR improves the ExpandCollpase() method - so the Expand method
does not fail in CI

## Type of change

- Script fixes

## How Has This Been Tested?

- Cypress CI runs

## Checklist:
### QA activity:
- [X] Added Test Plan Approved label after reviewing all Cypress test
2023-04-06 16:32:20 +05:30
SatVeer Singh
59eb56053c
fix: [Community Contribution] tooltip for the orange deviation dot prevent overflow out of screen fixed (#21992)
## Description

This PR fixes the tooltip overflows from the screen when hovering on it.
If the property name is a little long and the user has selected a value
that is different from the theme, the deviated form theme orange dot
appears. When hovering over it, the tooltip overflows from the screen.

Fixes #17604


Media
![tooltip
fix](https://user-images.githubusercontent.com/85070570/229344497-bc37aba1-dcbf-41c7-86ec-55c1d6b0842e.png)



## Type of change

- Bug fix (non-breaking change which fixes an issue)
2023-04-06 16:07:33 +05:30
arunvjn
385f73f9e8
chore: Added generic error handling logic to prevent evaluation worker crash (#22100)
## Description
When an action is invoked, for eg. `storeValue(key, value)`, we post a
message([postMessage](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage))
from worker to main thread to process the action. There are certain data
(non-serializable) that cannot be passed between threads, for eg.
function. This causes postMessage to throw a `DataCloneError` (from
internal
[structuredClone](https://developer.mozilla.org/en-US/docs/Web/API/structuredClone)
algorithm) and can potentially cause the worker to crash.
This PR adds a generic error handler to prevent the worker from crashing
at any point.

Fixes #22106

## 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
- [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-06 07:49:01 +00:00
SatVeer Singh
d92ebf8f1a
fix: [Community Contribution] Show more button should become show less when clicked (#21989)
Fix: Active datasource listing: Show more button should become show less
when clicked

## Description
In the active datasource listing page, when the user clicks on "show
more", the button name should be changed to "Show less".
In general, show more is changed to show less as a good usability
practice.

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

Fixes #21368


Media
[Screencast from 2023-04-01
23-01-04.webm](https://user-images.githubusercontent.com/85070570/229305889-e7e75150-2ce5-4139-90c5-d3f199ce446e.webm)



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



## How Has This Been Tested?
- Jest

## 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-04-06 13:01:01 +05:30
Arpit Mohan
5fd2e20e53
chore: Release v1.9.15 2023-04-06 12:45:05 +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
Favour Ohanekwu
f48972b81c
chore: lint bundling optimization (#22144) 2023-04-06 07:45:09 +01:00
Hetu Nandu
3e8ff46716
fix: Cannot navigate out of an error page (#22021)
## Description

When an error occurs, we take over the whole router and keep it the
error state till the errors are flushed. By default, we will flush out
the error state when a CTA on the page is clicked but in case the user
navigates via the browser buttons, this will ensure the errors are
flushed

> Clear out errors when using browser navigation buttons to avoid error
page persistence

Fixes #18564
Fixes #22068

Media


https://user-images.githubusercontent.com/12022471/229461625-d4bfc72f-c551-4063-aad8-8ba8b97f2db5.mov


## 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-06 11:50:35 +05:30
Aishwarya-U-R
ca6ab330c5
test: test: Cypress - Automated tests for Elasticsearch datasource (#22101)
## Description

- This PR includes tests for Elastic Search datasource - with querying &
usage of various fields in the query page

## Type of change

- New script

## How Has This Been Tested?

- Cypress local/CI runs

## Checklist:

### QA activity:
- [X] Added Test Plan Approved label after reviewing all Cypress test
2023-04-06 09:37:04 +05:30
Appsmith Bot
e1a70c57e2 Update top contributors 2023-04-06 06:58:04 +05:30
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
arunvjn
cce49a5f6a
fix: Removes aws from the list of recommended libraries. (#22054)
## Description
Most APIs that AWS library exposes expects the availability of XHR and
it cannot be safely enabled at the moment. This PR removes AWS from the
list of recommended libraries. We'll add it back in the future when we
can safely enable XHR.

Fixes #22045

## 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
- [ ] 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-05 20:32:23 +05:30
Shrikant Sharat Kandula
0b7bedf1fc
ci: Fix close-labeler to work on correct repo for issues 2023-04-05 19:08:39 +05:30
Sanveer Singh Osahan
c7f8b5b800
chore: Added test for various data types (#20069) (#21932)
## Description

Added tests for querying various data types in MySQL plugin
Fixes #20069

## 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
- [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-05 18:34:40 +05:30
Valera Melnikov
e50b31b65c
feat: wds button refactoring (#21849)
## Description

1. Moved `wds` to the `design-system` folder. 
2. Added `headless` package and `HeadlessButton`.
3. Added `theming` package. `ThemeProvider` and two classes were created
to work with
tokens([TokensAccessor](https://github.com/appsmithorg/appsmith/pull/21849/files#diff-58832e8b8e8017648929473a90eb716e6a2671ba1749be3d4c5665b093bc3dc3))
and
colors([ColorsAccessor](https://github.com/appsmithorg/appsmith/pull/21849/files#diff-f515e0eefc418c8bfc0710572e83a0029bd94f2fb975853f71730e5b11c774bd))
5. The token structure has been changed. The same class(TokensAccessor)
is now used to create CSS variables and tokens for
Figma([themeTokens.json](https://github.com/appsmithorg/appsmith/pull/21849/files#diff-5ad75b848cb4254c0bd0bb0bf6a89eeccb628dc0012752172654e12e62d570d9))

The final storybook is
[here](https://widget-design-system-b1p6g13iq-get-appsmith.vercel.app/?path=/story/design-system-widgets--button).

## Type of change

- New feature (non-breaking change which adds functionality)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update


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

---------

Co-authored-by: Valera Melnikov <melnikov.vv@greendatasoft.ru>
2023-04-05 18:09:11 +05:30
Ankita Kinger
c3f7d6c0cf
fix: Adding a permission check for creating new datasource on generate page (#22085)
## Description

Adding a permission check for creating new datasource on generate page.
When a custom role is assigned in GAC, where the user doesn't have
access to create a new datasource, in spite of that the create new
datasource option is showed in the dropdown on generate page with data.
This is fixed with this PR.

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

## Type of change

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


## How Has This Been Tested?
> Tested it manually and it works fine.

- 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-05 17:22:43 +05:30
Saroj
292c32407b
ci: Added 'Workflow run' and 'Commit' for the failed spec comments (#22128)
## Description
- Added 'Workflow run' and 'Commit' for the failed spec comments

## Type of change
- YML Changes

## How Has This Been Tested?
- CI run

## Checklist:
### 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-04-05 14:45:59 +05:30
Saroj
33514cbde3
test: Disable the gsheet test (#22111)
## Description
- Disable gsheet tests

## Type of change
- Cypress


## How Has This Been Tested?
- Cypress

## Checklist:
### 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-05 14:34:24 +05:30
Ayangade Adeoluwa
9566e54a19
fix: fix package.json file for ast build (#22119)
This issue fixes RTS build failure due to `(node:3527) [DEP0128]
DeprecationWarning: Invalid 'main' field in @shared/ast`. More
information can be found
[here](https://nodejs.org/api/deprecations.html#dep0128-modules-with-an-invalid-main-entry-and-an-indexjs-file).

The bug here was that, when the ast package was built, we were not
updating the package.json of the build to point to index.js directly,
instead it was pointing to `build/index.js`. This was not a problem in
nodejs 14, However new versions of nodejs requires we drop the "build/"
and simply make it `index.js`.

Before:
<img width="694" alt="Screenshot 2023-04-05 at 08 14 15"
src="https://user-images.githubusercontent.com/37867493/230008234-8fc9537a-e94f-4477-a4a5-8a7e857d481b.png">

After: 
<img width="694" alt="Screenshot 2023-04-05 at 08 14 29"
src="https://user-images.githubusercontent.com/37867493/230008259-be3bcee0-e68c-4240-b330-8fe49fda95d5.png">


Fixes #22118

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

- 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-05 14:14:36 +05:30
Hetu Nandu
8dd33068ab Remove server error cases 2023-04-05 14:09:00 +05:30
Anand Srinivasan
69f7b5ff86
chore: fix tests in ee (#22071)
Updated imports.

Fixes `WindowMessageListener_spec.ts`.

Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
2023-04-05 11:08:25 +05:30
Shrikant Sharat Kandula
1836a44577
ci: Remove license in ci-test.yml (#21938)
The License key is unused in this repo. Setting it here is misleading,
and can cause confusions at best, or missed accidental License failures
at worst.

This PR removes the License key occurrences from `ci-test.yml`.

Note: Please review/approve only. Don't merge. This will likely cause a
conflict, so I'd like to be available when this is merged so I can
resolve the conflict. Thanks!
2023-04-05 09:38:44 +05:30
Shrikant Sharat Kandula
164a724969
ci: Add inhouse close-labeler workflow 2023-04-05 07:14:08 +05:30
Appsmith Bot
f70ab742c7 Update top contributors 2023-04-05 06:52:36 +05:30
Aishwarya-U-R
85f3ebc1f3
ci: Starting ElasticSearch DB container for running test scripts in CI runs (#22102)
## Description

- This PR includes ElasticSearch as separate docker container inside CI
that can be used for running ElasticSearch datasource test cases in CI

## Type of change

- Yaml file update


## Checklist:
### QA activity:
- [ ] Added Test Plan Approved label after reviewing all changes
2023-04-05 01:36:57 +05:30
Vijetha-Kaja
ef680d176b
test: Cypress - Flaky test fix (#22059)
## Description

**Fixed below flaky tests**

- Command_Click_Navigation_spec.js
- List4_spec.js
- Select_spec.js
- PassingParams_Spec.ts

## Type of change

- Flaky test fix

## How Has This Been Tested?
- Cypress test runs

## Checklist:
### 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-04 23:01:14 +05:30
Aishwarya-U-R
83ea3c04cf
test: Cypress - Automated tests for Firestore datasource (#22057)
## Description

- This PR includes tests for Firestore ds - with querying & usage of
various fields in the query page

## Type of change

- New script

## How Has This Been Tested?

- Cypress CI runs

## Checklist:

### QA activity:
- [ ] Added Test Plan Approved label after reviewing all changes
2023-04-04 21:26:57 +05:30
Sanveer Singh Osahan
30750dc640
chore: Removed server url from start-https command in ClientSetup (#21957)
## Description

In the Client Setup Document section for [Create local HTTPS
certificates](https://github.com/appsmithorg/appsmith/blob/release/contributions/ClientSetup.md#if-you-would-like-to-hit-a-different-appsmith-server),
removed the URL https://release.app.appsmith.com/ from the command
./start-https.sh as this step is already mentioned in the section [If
you would like to hit a different Appsmith
server](https://github.com/appsmithorg/appsmith/blob/release/contributions/ClientSetup.md#if-you-would-like-to-hit-a-different-appsmith-server)

Fixes #21955

## Type of change

- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update


## How Has This Been Tested?
 
 - NA

## 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-04 17:51:55 +05:30
sneha122
c8cd459f39
feat: Added file id mapping in datasource config (#21699)
## Description

This PR adds:
- File Id mapping of the google sheets selected by user, in datasource
configuration, so that when creating queries on top of such gsheet
datasource, only the selected spreadsheets can be seen in the
spreadsheet dropdown.

Changes done on client side:
- As soon as user selects file in file picker popup, the callback will
get the file ids and update the datasource to contain file ids as a part
of datasource configuration properties.
- If user cancels the file selection, file ids is sent as empty array
and datasource is updated.

Changes done on server side:
- In `GoogleSheetPlugin.java` where we have defined execute and trigger
methods for gsheet query, here I have added a new variable
allowedFileIds, which gets the list of authorised file ids from
datasource configuration object and the same list is passed to functions
like `transformTriggerResponse` and `transformExecutionResponse`, which
returns file list data based on the allowedFileIds. In FileListMethod
class, these methods contain the logic to send only authorised file
data.
- Since these two methods are a part of triggerMethod and
executionMethod interfaces, all gsheet query operation classes that
extend this method, their function definition needed to be updated with
this third allowedFileIds parameter.
- Similarly all gsheet query operations test classes were using these
two methods, and hence this third parameter needed to be added there as
well.

How to test:
- With this improvement, when we select `file1` and `file2` for one
datasource and `file3` and `file4` for another datasource, In the query
dropdown for first ds, we should only see `file1` and `file2`, for
second datasource, we should only see `file3` and `file4`.
- Please check following gsheet operations:
    - Fetch Many
    - Fetch Details
    - Update One
    - Update Many
    - Insert Many

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

Fixes #21074


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
- 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
- [ ] 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-04-04 13:43:49 +05:30
Nikhil Nandagopal
78a210e12e Updated Label Config 2023-04-04 13:23:50 +05:30
Nikhil Nandagopal
3b86afb4d1 Updated Label Config 2023-04-04 13:23:17 +05:30
Aishwarya-U-R
8c242c67ad
test: Cypress - Fix reference issue in spec for Sanity suite (#22067)
## Description

- This PR fixes the reference issues for the Sanity suites

## Type of change
- Script update

## How Has This Been Tested?
- Cypress local run

## Checklist:
- [X] Added Test Plan Approved label after reviewing all changes
2023-04-04 12:10:04 +05:30
Nikhil Nandagopal
d885b479c7 Updated Label Config 2023-04-04 11:44:31 +05:30
Aishwarya-U-R
ceefaa00bc
Test: Adding Smoke & Sanity suites into the CI pipeline (#22029)
## Description

- This PR introduces smoke & sanity tests into the CI pipeline, to
capture the failures early.

## Type of change

- CI Improvements


## How Has This Been Tested?

- Cypress runs on local PR workflows

## Checklist:

### QA activity:
- [X] Added Test Plan Approved label after reviewing all changes

---------

Co-authored-by: Saroj <saroj@appsmith.com>
2023-04-04 10:39:40 +05:30
Hetu Nandu
0094aab735
fix: [Git] Avoid 404 when checking out a branch (#21894)
## Description

After checkout, we will now check if the resource the user was accessing
is available in the incoming branch. Instead of calling the apis to
check this, we will listen to the success action and then handle check
if the current resource is still available in the branch. If not, we
will navigate the user to the home page of the app so that they do not
see a 404 error


> Don't show a 404 error when a resource is not available in the checked
out branch, instead take them to the home page of the app

Fixes #17234
Fixes #20883


Media



## Type of change

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


## How Has This Been Tested?

- Manual
   - Have a git connected app
   - Create a new branch 
   - Create a new API/Query/Page on the new branch
   - Switch back to the original branch
- Test: The app should not show 404 error but be navigated to the home
page of the app

- Cypress
Updated the existing cypress tests that avoided the error to make sure
they test the fix instead

### 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-04 10:29:00 +05:30
Appsmith Bot
0b9a9a2da1 Update top contributors 2023-04-04 06:58:18 +05:30
Anagh Hegde
641ca391f5
fix: Git connected apps are showing a status error (#22046) 2023-04-04 06:09:43 +05:30
Aishwarya UR
a5f0689a24 Adding FIRESTORE_PRIVATE_KEY to git 2023-04-04 03:12:46 +05:30
arunvjn
0bc324b8ba
fix: fixed broken file downloads for urls containing "(" or ")" (#21752)
## Description
- fixed broken file downloads for urls containing "(" or ")"
- Modified regex that checks to see if a string is a URL.
- Added unit tests for isURL utility method.

Fixes #13915 

## 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
- [x] 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
- [x] Added Test Plan Approved label after reveiwing all Cypress test
2023-04-03 23:23:10 +05:30
Ankita Kinger
d41e3d94e3
chore: Updating empty state for members in the invite modal (#22026)
## Description

Updating empty state for members in the invite modal. Earlier, we used
to show a message that email setup needs to be completed to invite
users, but this doesn't hold true today. So we are removing this and
adding the message "You haven't invited any users yet" in case there are
no members to show in the invite modal.

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

## Type of change

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


## How Has This Been Tested?
> This has been tested manually and works as expected.

- 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-03 20:09:13 +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
Ankita Kinger
5bd6e357ba
fix: Updating logic for redirection on Members settings page on Workspace settings (#22039)
## Description

> Updating logic for redirection on Members settings page on Workspace
settings

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

## Type of change

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

## How Has This Been Tested?
> Tested it manually on my local and works as expected now.

- 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-03 19:56:34 +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