Commit Graph

9439 Commits

Author SHA1 Message Date
Pawan Kumar
2e2f4419bd
chore: add tests for app theming (#34839)
/ok-to-test tags="@tag.Anvil"

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

- **New Features**
- Introduced theme setting and snapshot verification for various widgets
in different modes (Canvas, Preview, Deploy).
- Added a new CSS rule to enhance the styling of input elements based on
specific conditions.

- **Refactor**
- Renamed existing snapshot verification methods to more descriptive
names across multiple widget snapshot files.
- Added methods to handle theme settings and detailed snapshot matching.

- **Tests**
- Enhanced testing functionality for widgets with updated methods for
snapshot verification across different themes.

These updates ensure more detailed and theme-specific snapshot testing
for various widget states, improving test coverage and accuracy, as well
as enhancing the layout consistency of input elements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10046186626>
> Commit: a6232ae795f77bd46bff4c854f46c5671a518ff6
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10046186626&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Mon, 22 Jul 2024 18:43:52 UTC
<!-- end of auto-generated comment: Cypress test results  -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
Co-authored-by: Valera Melnikov <valera@appsmith.com>
2024-07-22 22:08:48 +03:00
Rishabh Rathod
d30191c287
chore: apply spotless precommit (#35054)
## Description

This change will remove applying spotless when compiling code and
instead will apply spotless in the precommit hook.
This will lead to faster build times and DX improvement as developer
need not to manually run spotless anymore.

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

## Automation

/test sanity

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


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


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

## Summary by CodeRabbit

- **New Features**
- Improved the formatting application process for server files,
providing clearer feedback on success or failure.

- **Bug Fixes**
- Adjusted the build process to ensure a more streamlined execution of
plugin goals.

- **Chores**
- Enhanced messaging and readability in scripts for better user
experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-22 18:58:59 +05:30
Valera Melnikov
ae9742194a
chore: update wds icon component (#34950)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


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

## Automation

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

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


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced icon library with new thematic icons and improved
accessibility features.
- Introduced a default option in dropdowns for color selection in the
property pane.
  
- **Bug Fixes**
	- Corrected naming inconsistencies in icon entries.

- **Improvements**
- Streamlined color handling for icon and text components, enhancing
visual coherence.
- Update to the icon component's logic for improved maintainability and
clarity.

- **Documentation**
- Added comments for better understanding of the handling of type errors
in the icon component's story.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-22 11:56:07 +03:00
vadim
01d5275170
fix: WDS TextArea inner spacing (#34901)
## Description

Fixes #34584
| Before | After |
|--------|--------|
|
![before](https://github.com/user-attachments/assets/b0d58e3b-006e-49cc-af7f-5c600326caed)
|
![after](https://github.com/user-attachments/assets/935590ea-2a3b-4912-a28c-16b47ba9d83c)
|

We had [a CSS
rule](f6d62e5cdc/app/client/packages/design-system/widgets/src/styles/src/text-input.module.css (L27-L30))
that was imitating CapSize behavior.

It worked okay with regular input but had no effect on TextArea. Fixing
it to work for TextArea did not seem possible no matter what CSS rules
or additional markup I threw at it:
<details><summary>Dev tools screenshots</summary>
<p>
<table>
<tr>
<td>
<img width="1252" alt="Screenshot 2024-07-12 at 10 32 30"
src="https://github.com/user-attachments/assets/c529f8b9-b129-4358-88e1-cee59a0797a6">
</td>
<td>
<img width="1270" alt="Screenshot 2024-07-12 at 10 32 40"
src="https://github.com/user-attachments/assets/52cc122e-cc0b-4e18-84d5-006b5ed56ef1">
</td>
</tr>
</table>
</p>
</details>

Changing the inner spacing and removing that rule achieves the desired
results: elements are neatly aligned with similar/equal paddings. See
the example with additional elements alongside TextInput and TextArea
that verifies that vertical alignment is consistent:

![after-extras](https://github.com/user-attachments/assets/8fa7e867-22a8-4790-a0fc-daf76ccd5dbc)

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9906310028>
> Commit: 0c83d24dd5247ac962f2b73baefb734471e1c3b0
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9906310028&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Fri, 12 Jul 2024 10:43:05 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **Style**
- Updated vertical padding for text input fields to improve spacing and
visual clarity.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-22 11:15:17 +03:00
vadim
78413ab4c0
chore: WDS outline buttons color adjustment (#34615)
## Description
Fixes #34336 

~It was rare before, but with some lighter seeds borders could be
perceivably more prominent than fg. I made sure this can't be the case.~

Borders are now lighter and less saturated than accents to emphasize the
text label.

| Before | After |
|--------|--------|
|
![before-light](https://github.com/appsmithorg/appsmith/assets/80973/627b3dae-287a-464d-89bb-0b3f0fbada79)
|
![after-light](https://github.com/appsmithorg/appsmith/assets/80973/b4ffda8d-bc4b-4e84-a863-f22de3dce9b1)
|
|
![before-dark](https://github.com/appsmithorg/appsmith/assets/80973/f5897183-0f39-4b34-a6f6-3ef4f8c05fdb)
|
![after-dark](https://github.com/appsmithorg/appsmith/assets/80973/6f07ffff-081b-4c0b-91a4-74edcf8d0995)
|

## Automation

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

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



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


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

- **New Features**
- Enhanced snapshot testing with a new `comparisonMethod` parameter for
improved image comparison in `AnvilSnapshot`.

- **Improvements**
- Adjusted color calculations in Light Mode and Dark Mode themes for
better contrast and visual consistency.

- **Tests**
- Updated color tests to align with new RGB values reflecting changes in
lightness, chroma, and hue for both Light Mode and Dark Mode themes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Valera Melnikov <valera@appsmith.com>
2024-07-22 11:14:43 +03:00
Ashit Rath
e49809b9e8
chore: add default name prop to js object debugger logs (#34973)
## Description
Adding a prop to JSResponse View component to accept the default search
text for the logs tab

PR for https://github.com/appsmithorg/appsmith-ee/pull/4695
## Automation

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

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


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced Debugger Logs: Users can now see a default name in the
debugger logs if provided, improving clarity and traceability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-22 13:42:48 +05:30
albinAppsmith
67f16f8497
fix: Add & list tabs padding fixes (#35057)
## Description

Fixed padding for add and list view of tab as per design.


Fixes #34529

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10035415378>
> Commit: 03296dd5822b1d77342b243e1e606d29a66487f7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10035415378&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IDE, @tag.Sanity`
> Spec:
> <hr>Mon, 22 Jul 2024 07:39:55 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **User Interface Enhancements**
- Adjusted padding and layout properties across various components to
improve visual alignment and spacing.
- Simplified component structures by removing unnecessary padding
properties.

- **Bug Fixes**
- Resolved potential issues related to visual inconsistencies caused by
previous padding configurations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-22 13:11:05 +05:30
albinAppsmith
0fca4b08c5
fix: Tabs icon alignment (#35059)
## Description

Fixed the alignment of icons inside tabs container.


Fixes #34532

## Automation

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

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


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


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

## Summary by CodeRabbit

- **Style**
- Improved visual alignment of icons within the tab by adjusting padding
in the `StyledTab` component.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-22 13:08:37 +05:30
albinAppsmith
57deccef3b
fix: Removed switch for overflow list when there are no files (#34983)
## Description

Tabs overflow switch was staying active when no tabs is selected. This
was confusing users and was grabing attention towards it. This PR
removed the list button when there are no tabs.

Fixes #34624

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9970645051>
> Commit: 00ca00327095807d91964f191e898e0fee36be54
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9970645051&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.IDE`
> Spec:
> <hr>Wed, 17 Jul 2024 08:44:15 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- Improved the conditional rendering of the `ToggleButton` in the
`EditorTabs` based on `ideViewMode` and file presence for a more
intuitive user experience.

- **Tests**
- Simplified and generalized the test cases for `EditorTabs` to ensure
more reliable test results.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-22 11:24:30 +05:30
Rajat Agrawal
1b44d2c871
Revert "ci: Add a pre-push hook to check for only ce changes" (#35053)
Reverts appsmithorg/appsmith#34992
2024-07-22 09:43:25 +05:30
Rishabh Rathod
404e6e6ad9
fix: JSObject function is not defined error (#35035)
## Description

- Add the initial fetch all entity completion to the affectedJSObject
logic to make sure the JSObjects are defined on page change

Fixes #34681 
Fixed #34933 
## Automation

/test js

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


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


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

## Summary by CodeRabbit

- **Bug Fixes**
- Improved handling of specific action types to ensure correct
identification of affected objects.
- Enhanced logic to address cases where action types are not included in
the predefined set, providing more accurate results.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-19 20:25:39 +05:30
NandanAnantharamu
345372d49f
test: increased timeout for Sidebar (#35013)
/ok-to-test tags="@tag.All"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9986238309>
> Commit: 5ec099d5e44a0483a575ee41f6c88cf01241ed9f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9986238309&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 18 Jul 2024 07:28:51 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2024-07-18 12:59:50 +05:30
Rajat Agrawal
9ca49b88a5
ci: Add a pre-push hook to check for only ce changes (#34992)
## Description
This PR checks for file changes when pushing in CE repo and passes if
the changes are present only in CE folder. To override the check,
developers can use --no-verify check when pushing the changes. This PR
is an extension of https://github.com/appsmithorg/appsmith/pull/32791


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

## Automation

/ok-to-test tags=""

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

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


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


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

## Summary by CodeRabbit

- **Chores**
- Implemented a pre-push Git hook to check for specific file changes and
provide feedback before pushing to a remote repository.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-18 10:18:34 +05:30
Pawan Kumar
045e68f56c
chore: add zone, section, table, button, modal in data requried's exclude list (#34997)
/ok-to-test tags="@tag.Anvil"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9973739413>
> Commit: 7257b78f685484fdd32a1e451e33f514af92ded7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9973739413&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Wed, 17 Jul 2024 12:19:38 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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

## Summary by CodeRabbit

- **New Features**
- Added exclusion of new widget types (Zone, Section, Modal, Button, and
Table) from the Property Pane view.

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

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-07-17 21:05:20 +05:30
Anna Hariprasad
a46c731179
feat: add clear all option to columns field in google sheets plugin (#34620)
HI  @Nikhil-Nandagopal @rohan-arthur @btsgh ,

Fixes #15030 

What's in this PR?

- Add Clear all option to the columns field by using allowClear prop to
select component in google sheets datasource.
- Add clearAllOptions function to apply the clear all options
functionality.

**Screenshots :**

Earlier :

![image](https://github.com/user-attachments/assets/32174a2a-d707-459c-b51f-7a61376ab4cd)


Now :

![image](https://github.com/user-attachments/assets/78496815-08d6-4242-b021-0c5fc61729c2)


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

- **New Features**
- Added a clear selection functionality to the dropdown, allowing users
to easily clear all selected options.

- **Tests**
- Implemented new tests for the dropdown functionality to ensure proper
rendering and user interactions, including selecting and clearing
options.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-17 16:14:37 +05:30
Saicharan Chetpelly
e58b10da6a
fix: expose isVisible field in JSONFom widget autocomplete (#34869)
Fixes [#31114](https://github.com/appsmithorg/appsmith/issues/31114)
Added missing field isVisible in getAutocompleteDefinition fn
Added cypress test

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

## Summary by CodeRabbit

- **New Features**
- Enhanced autocomplete functionality in the JSONForm Widget to include
the `isVisible` property.

- **Tests**
- Added a new test case to verify object properties in the autocomplete
list for the `isVisible` field in the JSONForm Widget.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-17 10:54:23 +05:30
Shivam kumar
eff3c5969e
fix: Wrong evaluated value after binding checkbox group widget with… (#33906)
## Description

- In this PR I have fixed wrong evaluated value after binding checkbox
group widget with query

Output:
[Loom](https://www.loom.com/share/ddcc10c5ab8b4ead8ef5d10843671d95?sid=6346b4a9-9a89-4c7d-bdcd-73c428f17626)

> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


Fixes #24620  
_or_  
Fixes https://github.com/appsmithorg/appsmith/issues/24620
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags=""

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

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


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


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

- **New Features**
- Introduced comprehensive snapshot tests for Anvil Widgets in Canvas,
Preview, and Deploy modes.
	- Added test cases for Anvil modals in the Anvil editor.
	- Enabled filtering functionality for TableV2 widgets by default.

- **Bug Fixes**
- Addressed issues with Git sync tests by updating selectors and
function calls.
	- Fixed control flow in various Cypress tests by removing `cy.pause()`.

- **Chores**
- Updated Dockerfile to ensure custom command-scripts have executable
permissions.
- Added environment variable `DP_POSTGRES_URL` to Docker deployment
configuration.

- **Refactor**
- Refined job configurations and script executions in GitHub Actions
workflows for improved performance and clarity.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-17 10:54:03 +05:30
saiprabhu-dandanayak
6494b76634
fix: replaced all edit name with Rename (#34570) 2024-07-17 08:49:44 +05:30
Pawan Kumar
c041360b6c
chore: Add tests for copy paste for anvil widgets. (#34895)
Fixes #33982 

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

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


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

- **New Features**
- Introduced tests for paste functionality in the Anvil editor, covering
various scenarios to ensure correct behavior when pasting widgets.

- **Improvement**
- Enhanced the paste function in Anvil editor to skip processing when no
copied widgets are present.

- **Tests**
- Added comprehensive test cases to verify the paste functionality,
including drag-and-drop, keyboard shortcuts, and validation of widget
placement and attributes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-07-16 15:55:28 +05:30
Ilia
48c782a07f
chore: Anvil only: Automatically delete redundant zones (#34879)
## Description
Delete redundant zones when drag last widget out or remove it.


https://www.notion.so/appsmith/Removing-redundant-zones-8a2cf907c97246adb618664940e298b0

Fixes #34854 


https://github.com/user-attachments/assets/686dbee3-d16c-4ea1-bbd1-b9e48c73ea8f


https://github.com/user-attachments/assets/c2fe52b8-6a3e-4dcb-993a-03cb65e9672c


## Automation

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

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


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


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

- **New Features**
- Improved widget management by adding new functions to handle deletion
of redundant zones and manage widget children.

- **Bug Fixes**
- Enhanced widget dragging and deletion logic to ensure redundant zones
are properly handled.

- **Tests**
- Added tests for new utility functions to validate their behavior in
different scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Ilia Znamenskii <ilia@appsmith.com>
2024-07-16 11:16:50 +02:00
NandanAnantharamu
3ba2f2551d
test: upgraded cypress to 13.13.0 (#34861)
Upgraded cypress from 13.5.1 to 13.13.0
EE PR: https://github.com/appsmithorg/appsmith-ee/pull/4676
/ok-to-test tags="@tag.All"

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9935965252>
> Commit: 9577297de122be1ae7810f9387ae8c79c95c42a4
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9935965252&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 15 Jul 2024 09:10:06 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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

- **New Features**
- Enhanced stability for test assertions with a default timeout in the
Sidebar component.
  
- **Chores**
- Upgraded Cypress to version 13.13.0 for improved testing performance
and new features.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-16 10:12:52 +05:30
Abhinav Jha
d858eee763
chore: Reduce DSL size by removing runtime values from the DSL. (#34894)
## Description
Today, the DSL contains many properties that are not necessary to be
persisted, as these are properties which are inherent to the widget type
and are statically available in the codebase and during runtime.

`getChildWidgetProps` is the lowest level function the widget addition
flow that is not used in recursion and does not need to return these
runtime properties for proper functioning of the widget addition flow.

The flow is as follows:
`addChildSaga` -> `getUpdateDSLAfterCreatingChild` ->
`generateChildWidgets` -> `getChildWidgetProps` -> `generateWidgetProps`
(Don't understand the distinction in the names of the functions? Me
neither)

In this PR, we're selectively deleting the properties which are going to
be set into the DSL and are not required by the DSL. This is done in the
`getChildWidgetProps` function.


DSL Before:
```{
        "isVisible": true,
        "type": "BUTTON_WIDGET",
        "animateLoading": true,
        "text": "Submit",
        "buttonVariant": "PRIMARY",
        "placement": "CENTER",
        "widgetName": "Button1",
        "isDisabled": false,
        "isDefaultClickDisabled": true,
        "disabledWhenInvalid": false,
        "resetFormOnClick": false,
        "recaptchaType": "V3",
        "version": 1,
        "responsiveBehavior": "hug",
        "minWidth": 120,
        "searchTags": ["click", "submit"],
        "tags": ["Buttons"],
        "hideCard": false,
        "isDeprecated": false,
        "displayName": "Button",
        "key": "yngxey92vx",
        "iconSVG": "https://release-appcdn.appsmith.com/static/media/icon.7a418b9e1899a550d7e8f33b48cbde12.svg",
        "thumbnailSVG": "https://release-appcdn.appsmith.com/static/media/thumbnail.a348658e996feaad96cadc30d99374ff.svg",
        "needsErrorInfo": false,
        "onCanvasUI": {
          "selectionBGCSSVar": "--on-canvas-ui-widget-selection",
          "focusBGCSSVar": "--on-canvas-ui-widget-focus",
          "selectionColorCSSVar": "--on-canvas-ui-widget-focus",
          "focusColorCSSVar": "--on-canvas-ui-widget-selection",
          "disableParentSelection": false
        },
        "widgetId": "3du74sjd24",
        "renderMode": "CANVAS",
        "buttonColor": "{{appsmith.theme.colors.primaryColor}}",
        "borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
        "boxShadow": "none",
        "isLoading": false,
        "parentColumnSpace": 16.21875,
        "parentRowSpace": 10,
        "leftColumn": 16,
        "rightColumn": 32,
        "topRow": 27,
        "bottomRow": 31,
        "mobileLeftColumn": 16,
        "mobileRightColumn": 32,
        "mobileTopRow": 27,
        "mobileBottomRow": 31,
        "parentId": "0",
        "dynamicBindingPathList": [
          { "key": "buttonColor" },
          { "key": "borderRadius" }
        ]
      }
```

DSL After:
```
{
        "isVisible": true,
        "type": "BUTTON_WIDGET",
        "animateLoading": true,
        "text": "Submit",
        "buttonVariant": "PRIMARY",
        "placement": "CENTER",
        "widgetName": "Button1",
        "isDisabled": false,
        "isDefaultClickDisabled": true,
        "disabledWhenInvalid": false,
        "resetFormOnClick": false,
        "recaptchaType": "V3",
        "version": 1,
        "responsiveBehavior": "hug",
        "minWidth": 120,
        "key": "gtjsfondgr",
        "needsErrorInfo": false,
        "widgetId": "cszodka6p1",
        "renderMode": "CANVAS",
        "buttonColor": "{{appsmith.theme.colors.primaryColor}}",
        "borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
        "boxShadow": "none",
        "isLoading": false,
        "parentColumnSpace": 16.21875,
        "parentRowSpace": 10,
        "leftColumn": 18,
        "rightColumn": 34,
        "topRow": 28,
        "bottomRow": 32,
        "mobileLeftColumn": 18,
        "mobileRightColumn": 34,
        "mobileTopRow": 28,
        "mobileBottomRow": 32,
        "parentId": "0",
        "dynamicBindingPathList": [
          { "key": "buttonColor" },
          { "key": "borderRadius" }
        ]
      }

```

Fixes #21825
## Automation

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

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


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


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

- **Refactor**
- Improved the drag state generation logic for fixed layouts to enhance
performance and maintainability.
- Simplified the `widget` object in the `WidgetAdditionSagas` to remove
unnecessary properties, improving clarity and efficiency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-16 09:47:55 +05:30
Ashit Rath
81d738d1de
chore: Buffer first eval action to fix race condition with setup worker (#34891)
## Description
Check the issue description for the actual problem.

Solution:
To mitigate the race condition; instead of using `take` post setup
worker an `actionChannel` is used to create a queue to detect any first
eval action dispatched while the code path completes the worker setup.
This queue is then picked by and the action is processed and the
`actionChannel` is closed.

The baseline theory of the solution is to create a queue of any first
eval action dispatch throughout the lifecycle of the setup process but
act only when the setup is complete

The problem is not that evident in applications but in packages it's
highly reproducible as there are less api fetches to start eval

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

## Automation

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

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


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


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

## Summary by CodeRabbit

- **Bug Fixes**
- Improved reliability and performance of evaluation change listener by
optimizing action handling.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-15 22:34:27 +05:30
Ashit Rath
70f8777afd
chore: Compute default value for jsaction params (#34708)
## Description
This PR adds the values to jsArguments. The logic for this is
- If the value is string then it is kept as is
- For non-strings they are wrapped with `{{ }}` do maintain the data
type integrity when evaluated.

This property is currently not used anywhere in the platform and this is
intended to be used by js modules to identify the default values of
parameters and provide support to alter then in a UI in the app.

This PR also splits `workers/Evaluation/getJSActionForEvalContext.ts` to
override in the EE for modules

PR for https://github.com/appsmithorg/appsmith-ee/pull/4612

## Automation

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

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


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


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

- **New Features**
- Added support for additional node types (`RestElement`,
`ObjectPattern`, `ArrayPattern`) in our AST processing.
- Introduced `addPropertiesToJSObjectCode` function to enhance
JavaScript object property management.

- **Updates**
- Enhanced `myFun2` function with new parameters and default values to
improve flexibility and usage.
- Improved `parseJSObject` function with additional parameters for
better functionality.

- **Tests**
- Added a new test suite for `addPropertiesToJSObjectCode` function to
ensure robust property management in JavaScript objects.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-15 21:01:42 +05:30
NandanAnantharamu
bb2f3b1406
test: added a validation post fork (#34857)
Added validation post fork app for one of the RBAC test
EE PR: https://github.com/appsmithorg/appsmith-ee/pull/4689

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



<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9875287311>
> Commit: e70666d24fe5ed382827c28246752e7ee060b0e6
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9875287311&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 10 Jul 2024 14:38:50 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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

## Summary by CodeRabbit

- **New Features**
- Improved user experience by ensuring the page waits until the fork
modal disappears after clicking the "Fork" button.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-15 17:32:17 +05:30
NandanAnantharamu
9979d241a2
test: fixed failing GitImport test (#34589)
RCA:
Gitimport test was failing at the place of reconnect DS
And also later in 4th test during commit and push

Solution:
replaced some js helper with ts helper
updated commit and push to fix the test

Equivalent EE PR: https://github.com/appsmithorg/appsmith-ee/pull/4683

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

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9936172520>
> Commit: bb039490207a71fa4e411da1fb3ebe222c2ed2de
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9936172520&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 15 Jul 2024 09:03:21 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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

- **Tests**
- Updated Git import flow test scenario to enhance control flow and
method calls.
- Improved commit and push command with additional assertions for
element visibility and input in Git sync tests.
  - Updated spec name for limited tests in Cypress test configuration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-15 15:34:59 +05:30
Aman Agarwal
3767a62763
fix: modal rename update references (#34855) 2024-07-12 22:22:02 +05:30
Vemparala Surya Vamsi
4c40aab464
chore: trigger linting actions in any non published mode (#34903)
## Description
The CE's selector implementation has been changed to lint actions for
all non published app modes.

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

## Automation

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

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


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


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

## Summary by CodeRabbit

- **Bug Fixes**
- Adjusted linting trigger conditions to ensure linting is activated for
all modes except the published mode.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-12 17:41:20 +05:30
Rahul Barwal
083cea19d3
feat: Remove editable checkbox from PrimaryColumnsControlV2 and update imports (#34586)
## Description
One of the findings in usability tests is that editable fields in table
tend to confuse our users. With this PR, we attempt to remove editable
option in table cols.

<ins>Summary of code changes</ins>
This PR consists of code changes to `PrimaryColumnsControlV2.tsx` to
hide the editable checkboxes in the table.
All cypress changes just make sure that the we use the colSettings view
to make the column editable(earlier we used checkbox there.
* Removed unnecessary cypress command as well.

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

## Automation

/ok-to-test tags="@tag.Widget, @tag.Table, @tag.Binding"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9904610336>
> Commit: 890d9355b375e66e5e56a52464d8c0f19c759b9f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9904610336&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Widget, @tag.Table, @tag.Binding`
> Spec:
> <hr>Fri, 12 Jul 2024 09:16:41 UTC
<!-- end of auto-generated comment: Cypress test results  -->




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


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

- **Refactor**
- Improved inline editing functionality test by updating the method used
to toggle column editability for better accuracy and maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-12 15:29:01 +05:30
Sagar Khalasi
3078d81104
test: Updated file name for remove duplicate (#34821)
## Description
Renamed the file name to remove duplicity for FileNames.

Fixes #`34799`  

## Automation

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

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


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


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

- **Tests**
- Updated import paths in testing files to ensure compatibility with the
latest data structure.
- Enhanced test descriptions and scenarios for the Admin settings page
in the Enterprise context, including redirection and button
functionalities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-12 10:07:17 +05:30
Anna Hariprasad
5d9382b54b
fix: Update datasource deletion message for clarity (#34822)
Fixes #34604 

Hi @nidhi-nair , 

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

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

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

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


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

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

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

- **Documentation**
- Improved error message documentation for better user understanding
during datasource deletions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-11 19:42:27 +05:30
Diljit
6f856b5ab5
chore: Add newrelic tracking spans to AppViewer engine and AppEditor engine (#34716)
## Description
Add new relic tracking spans to all fn calls in Appviewer and AppEditor
engine.


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

## Automation

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

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


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


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

- **New Features**
- Enhanced app performance tracking with added telemetry spans for key
functions.

- **Tests**
- Updated test cases to include telemetry span tracking, ensuring better
performance monitoring and validation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-11 15:37:25 +05:30
Jacques Ikot
34f6e32d6d
revert: change value to label in onItemSelect inside SelectCell of table widget (#34872)
Reverts appsmithorg/appsmith#34743

## Automation

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

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

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

## Summary by CodeRabbit

- **Refactor**
- Improved test cases for select options in the table widget for better
clarity and organization.
- Updated `SelectCell` component to use option values instead of labels
for item selection.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-11 15:08:53 +05:30
albinAppsmith
fd486f3828
fix: Added tests for EditorTab component (#34834)
## Description

This PR added unit test for EditorTab component.


Fixes #34870

## Automation

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

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


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


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

- **New Features**
- Modified the `EditorTabs` to display a list view when all tabs are
closed and a specific condition involving `currentEntity.id` is met.
- Improved the logic for handling hamburger click events based on the
same condition.

- **Tests**
- Added test cases for rendering different views and components in the
`EditorTabs` component, covering various editor modes such as split
screen and full screen.

- **Chores**
- Added `data-testid` attribute to the `ListContainer` component for
better testability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-11 13:54:49 +05:30
albinAppsmith
36c1e01c61
fix: Rbac git test failure (#34862)
## Description

Fixed RBAC git failure due to recent IDE search changes.

## Automation

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

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


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


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

- **Bug Fixes**
- Updated navigation command to JavaScript Editor to improve reliability
by removing unnecessary click action.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-11 13:52:07 +05:30
albinAppsmith
b8f161c0e7
feat: IDE tab list search view (#34759)
## Description

This PR adds search functionality to the overflow list of tabs.


Fixes #34293

## Automation

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

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


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


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

- **New Features**
  - Implemented fuzzy search functionality within the editor pane.
- Added a search bar to the editor pane for improved query and file
searching.

- **Improvements**
- Enhanced empty state handling to display more informative messages
when search results are empty.
- Updated button elements to use consistent test IDs (`"t--add-item"`)
for improved testability.

- **Bug Fixes**
- Refactored rendering logic in various components to ensure accurate
results based on search input.

- **Tests**
- Added comprehensive tests for the new fuzzy search functionality and
updated test assertions to align with new button test IDs.
  
- **Chores**
  - Updated `design-system` dependency to version `2.1.43`.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-10 18:58:30 +05:30
Hetu Nandu
00a7d3c9a8
chore: Move Sidebar to IDE/Components (#34487)
## Description

Separate the Sidebar Component from the various IDEs and move it to the
IDE module.

Fixes #34554

## Automation

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



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


<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9869212078>
> Commit: 0b685d46ba18bb98e37fde87a96c930172fc5c15
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9869212078&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IDE`
> Spec:
> <hr>Wed, 10 Jul 2024 06:47:16 UTC
<!-- end of auto-generated comment: Cypress test results  -->





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

- **New Features**
- Introduced a new sidebar component (`IDESidebar`) managing button
states and handling interactions.
- Added `Condition` enum for better condition management with icons and
colors in the sidebar buttons.
  
- **Enhancements**
- Improved click handling for sidebar buttons with a new `handleOnClick`
function.
  
- **Tests**
- Added test cases for `SidebarButton` component to validate different
conditions and click behaviors.

- **Components**
- New React components and interfaces for managing the IDE's sidebar
functionality and state.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-10 14:22:58 +05:30
Hetu Nandu
cdd33a846f
feat: cURL import now happens via a modal (#34830)
## Description

Adds the cURL import flow to go through a modal instead of editor level
screen. This is done to ensure the IA is correct as per IDE 2.0
standards

Fixes #32942

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9869174972>
> Commit: 6143c1c79c0bb7c6a4899fc477985d0ed23699df
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9869174972&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.All
> Spec: 
> The following are new failures, please fix them before merging the PR:
<ol>
> <li>cypress/e2e/Regression/ClientSide/OtherUIFeatures/Omnibar_spec.js
>
<li>cypress/e2e/Regression/ClientSide/PartialImportExport/PartialExport_spec.ts</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.
> <hr>Wed, 10 Jul 2024 07:56:03 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **Refactor**
- Updated test case function calls and refactored imports to improve
code structure and maintainability in multiple files related to CURL
import flows.
- Consolidated and rearranged steps in CURL import flow test cases for
better readability and organization.

- **New Features**
- Introduced `AppCURLImportModal` component to handle CURL command
imports within the API editor.
- Added constants `SET_CURL_MODAL_OPEN` and `SET_CURL_MODAL_CLOSE` for
managing the state of the CURL modal.

- **Style**
- Updated selector formats and added proper commas in the `ApiEditor.js`
file.

- **Chores**
- Removed unused constants and functions related to CURL import page
paths across multiple files for cleaner codebase.
- Streamlined the management of the CURL import modal state in the
reducer and added relevant selectors.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-10 14:22:39 +05:30
Abhinav Jha
8a4f1b0a5d
feat: Add WDS Table Widget to list of suggested widgets (#34816)
## Description
- The Bind Data menu in the query pane did not list the WDS Table Widget
when looking for existing widgets to which to bind the query.
- This PR fixes this by adding `WDS_TABLE_WIDGET` to the following
- `SUPPORTED_SUGGESTED_WIDGETS` - Because the code checks if the key
(widget type) exists in this list before listing them
- `WIDGET_DATA_FIELD_MAP` - Because the code gets the info necessary to
bind data to the widgets using this list

This PR does not effect the functionality of Fixed mode, and only
effects Anvil apps.

Fixes #34164 

## Automation

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

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


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


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

## Summary by CodeRabbit

- **New Features**
- Added support for the `WDS_TABLE_WIDGET` in the data binding feature,
enabling enhanced widget configurations and transformations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-10 12:30:09 +05:30
Sagar Khalasi
5379ceb312
test: Remove pause from code (#34798)
## Description
Removed the cy.pause() which is not needed in running test cases.
Locally developer can use but it should never be pushed as part of PR.

Fixes #`@tag.sanity`  

## Automation

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

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


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


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

## Summary by CodeRabbit

- **Tests**
- Removed pause commands in multiple test files, ensuring smoother and
uninterrupted test executions.

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

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

**/test all**



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


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

## Summary by CodeRabbit

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

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

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-10 10:59:55 +05:30
Shrikant Sharat Kandula
d64ddee67a
chore: Don't duplicate the URL parsing Regexes (#34788)
This code duplication meant that we missed updating the regexes to the
ones that support UUIDs, and so the caching functionality broke.

This PR removes the duplication and imports the regex constants from a
single place.

/test sanity


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


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

## Summary by CodeRabbit

- **Refactor**
- Improved maintainability by importing path constants from a
centralized location.
- Replaced hardcoded `pageId` and `applicationId` with variables for
better code clarity and flexibility.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-09 17:47:04 +05:30
Valera Melnikov
08c3ea9b94
chore: cypress snapshot types (#34722)
## Description
1. Add scripts for local e2e testing in the docker container. 
2. Add types for cypress-image-snapshot

In this PR, I also added the following PRS as they affect screenshot
tests as well. I did this to speed up the process and unblock the team.

#34528
#34546
#34676
#34729
#34638
#34639
#34511

To run E2E tests locally in docker, you need to do the following:
1. Run FE locally and prepare the tests for local launch. See the
instructions
[here](https://github.com/appsmithorg/appsmith/blob/release/contributions/ClientSetup.md).
2. Run `yarn cypress:snapshot:docker:build` — this will create a docker
container with the necessary environment.
3. Run `yarn cypress:snapshot:docker
"./cypress/e2e/Regression/ClientSide/Anvil/Widgets/*_spec.ts"
updateSnapshots=false`. Here we can use the path to a specific file, or
set `updateSnapshots=true` flag to update the screenshots.

## Automation

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

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


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


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

- **New Features**
- Added support for image snapshot testing with the
`@types/cypress-image-snapshot` dependency.

- **Refactor**
- Updated test specifications by removing unnecessary
`triggerInputInvalidState()` calls.
- Reorganized and improved efficiency of image snapshot methods for
various devices.

- **Chores**
- Updated `Dockerfile` to configure the Cypress environment with
specific versions for dependencies.
  - Changed import paths in `e2e.js` for better module resolution. 

- **Style**
  - Fixed a comment typo in Cypress plugin configuration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
Co-authored-by: unknown <vadim@appsmith.com>
2024-07-09 12:06:59 +03:00
Jacques Ikot
b7853a99b2
feat: change value to label in onItemSelect inside SelectCell of table widget (#34743)
## Description
**Issue**
In the table widget, the select column currently displays the value from
the dropdown when a user makes a selection, rather than the label. This
behaviour is inconsistent with the standalone select widget, which
correctly renders the label upon selection.

**Fix**
This PR addresses the inconsistency by modifying the table widget's
select column to display the label of the selected item, ensuring
alignment with the behaviour of the standalone select widget.


Fixes #26188

## Automation

/ok-to-test tags="@tag.Table, @tag.Binding, @tag.Widget, @tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9843945454>
> Commit: 330d0d3f82ea7a8769c350f7caa0714959838f12
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9843945454&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Table, @tag.Binding, @tag.Widget, @tag.Sanity`
> Spec:
> <hr>Mon, 08 Jul 2024 18:21:02 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **Bug Fixes**
- Updated the `SelectCell` component to use the `option.label` instead
of `option.value` for item selection.
  
- **Tests**
- Revised test descriptions and assertions for select options in Table
Widget to reflect the new functionality of using labels as values in
select cells.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-09 09:00:00 +01:00
Shrikant Sharat Kandula
ed42302323
chore: Fix regexes for APIs needing environment (#34800)
The regex used to identify if an API needs environment information,
doesn't support UUIDs. This PR adds that.

Ideally, we should pass this information from where we're calling
`Api.get()`, not via an interceptor that matches certain very specific
API paths. Especially since the regex isn't matching generic paths. Add
to that, headers is the wrong place for things like this, because this
is essentially a "query param", it's a parameter to the query in the GET
API call, on equal footing with `datasourceId`. The generic Axios
interceptors being aware of the concept called environments, itself is
an abstraction leak, in my opinion. Problem for another day though.

/test sanity


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


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

## Summary by CodeRabbit

- **Improvements**
- Enhanced dynamic route matching for data source structures and
triggers, making the application more flexible and robust.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-09 11:17:07 +05:30
Jacques Ikot
9766775d05
fix: hide generate page button in DSFormHeader (#34780)
## Description

In PR #34655, the "Generate Page" button was removed from the datasource
preview page (Footer). However, the `DSFormHeader` for other datasource
types still included this button, leading to inconsistencies across the
application.

This PR addresses the issue by removing the "Generate Page" button from
the DSFormHeader for all datasource types, ensuring uniformity in the
datasource preview pages and aligning with the changes made in PR
#34655.

Fixes #34771

## Automation

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

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


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


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

## Summary by CodeRabbit

- **New Features**
- Introduced a feature flag to control the visibility of the "generate
page" button in the DataSource Editor.
- **Tests**
- Added a new test case to ensure the "generate page" button is hidden
when the `release_drag_drop_building_blocks_enabled` feature is enabled.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-08 11:10:09 +01:00
Pawan Kumar
b610ebdab1
fix: Unable to select table rows (#34753)
Fixes #34616

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

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

- **Bug Fixes**
- Improved row selection in the table widget to ensure consistent
behavior when clicking and selecting rows.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9807025998>
> Commit: 0886840489bcd17e9eba4e8626456b095f48e52d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9807025998&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> <hr>Fri, 05 Jul 2024 10:57:35 UTC
<!-- end of auto-generated comment: Cypress test results  -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-07-08 12:46:50 +03:00
Apeksha Bhosale
87b473c9a6
revert: test: small change in common method (#34649) (#34773)
## Description

1325f652fd


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

## Automation

/ok-to-test tags=""

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

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


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


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

## Summary by CodeRabbit

- **Bug Fixes**
- Improved reliability of element appearance validation on the Home
Page, ensuring smoother user experience by handling potential `null`
values.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-08 11:28:49 +05:30
Vemparala Surya Vamsi
2edfd6c1ec
chore: remove unevalTree (#34605)
## Description
evalTreeWithChanges is sending a redundant property unevalTree in the
payload, we should remove this property to reduce the serialisation cost
of including this property in the payload.

Fixes #34766

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

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9807127090>
> Commit: 73e226d70644bd0995e5c1c0b5b1d9c73e93e83a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9807127090&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.All
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/PartialImportExport/PartialExport_spec.ts
> <li>cypress/e2e/Regression/ClientSide/Workspace/MemberRoles_Spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Workspace/ShareAppTests_Spec.ts</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.
> <hr>Fri, 05 Jul 2024 11:46:05 UTC
<!-- end of auto-generated comment: Cypress test results  -->






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


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

- **Refactor**
- Improved the handling of `unevalTree` by accessing it from
`unEvalAndConfigTree` instead of directly from the message data in
message handling logic.

- **Tests**
- Updated tests to reflect the removal of the `unevalTree` property and
related assertions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-08 11:26:45 +05:30
sneha122
37715085f3
fix: snowflake imports issue fixed (#34745)
## Description


This PR fixes the intermittent issue in snowflake, where if we import
the app containing snowflake and if we open the datasource it in edit
mode, password field was not there.

Root cause:
When we are on slow 3g and when we don’t wait for datasources to load in
reconnect dialog and quickly go to application, the authentication
object does not get set, which causes snowflake password conditions to
break and it does not show up.
We tried by simulating slow 3g on all environments and were able to
reproduce it

Steps to test:
- We can try importing following app json and simulating slow 3g in
network tab
- Once app is imported, when we see reconnect modal, quickly click on go
to application before the datasources are loaded in the modal
[Snow
issue_aparna.json](https://github.com/user-attachments/files/16107584/Snow.issue_aparna.json)



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

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9805844586>
> Commit: 9868be55568774565f9c675d8cec92b12eb55d70
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9805844586&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> <hr>Fri, 05 Jul 2024 09:38:19 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- Introduced a new comparison operation `DEFINED_AND_NOT_EQUALS` for
form controls.
  
- **Bug Fixes**
- Updated the Snowflake plugin to use `DEFINED_AND_NOT_EQUALS` for
better validation of authentication type configurations.

- **Improvements**
- Enhanced form control logic to support more precise comparison checks.

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

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-07-05 15:09:39 +05:30
Abhinav Jha
d6f2d7ed7a
fix: Changes for Anvil Alpha release (#34211)
## Description
This PR makes the following changes to prepare for the Anvil Alpha
release
- Add a toggle to the applications page header that allows us to toggle
the Anvil feature flag from the UI.
- Enable the above toggle if the toggle feature flag is enabled
- When the toggle is enabled the following changes occur in the UX
- Import application via Git is disabled and a callout is shown to the
user
  - Git features are unavailable for users in Anvil applications
- Copying and pasting widgets between two different layout systems is
disabled and a warning message is shown to the user
- Partial import export of widgets between two different layout systems
is disabled and a warning message is shown to the user
  - CRUD page generation is disabled from datasources
- Anvil applications and classic applications are separated into their
own sections in the workspace.
- In case any of the above sections are empty, an appropriate message is
displayed in the empty section

### Screenshots

![Alpha
Toggle](https://github.com/appsmithorg/appsmith/assets/103687/6bc887e7-eff6-41c2-98a9-ddd5826d4d1a)
![Import from Git
Callout](https://github.com/appsmithorg/appsmith/assets/103687/42cd05c8-da90-4e2e-93be-f4038b1f21f3)

![Paste-callout](https://github.com/appsmithorg/appsmith/assets/103687/031ee732-4ad5-4a03-88bf-d02bab1d3faa)
![Screenshot from 2024-07-03
14-39-13](https://github.com/appsmithorg/appsmith/assets/103687/037585d0-1470-47f7-81b2-c0cf4c7901f9)

### Other details  
- Toggle feature flag - `release_anvil_toggle_enabled`
- Anvil feature flag - `release_anvil_enabled`


Fixes #34578 
Fixes #34576 
Fixes #34575 
Fixes #33718

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9793128338>
> Commit: 09401272c1d52c915aee3b68925406f2f5f962ba
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9793128338&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.All
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/PartialImportExport/PartialExport_spec.ts</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **New Features**
  - Added Anvil toggle functionality to the page header.
  - Introduced layout compatibility checks for pasting widgets.

- **Enhancements**
  - Updated widget paste action to verify layout system compatibility.
- Improved handling and processing of user-uploaded JSON files for
widget import.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-05 13:57:59 +05:30
carinanfonseca
a2f2f795c8
chore: Turn off Allow filtering property on Table widget (#34593)
https://github.com/appsmithorg/appsmith/issues/34591

## Description
Making _Allow filtering_ option false by default.

<img width="798" alt="Allow filtering off"
src="https://github.com/appsmithorg/appsmith/assets/121817440/8ac64773-2385-433d-96fa-0a90080e2462">


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

## Automation

/ok-to-test tags="@tag.Table, @tag.Widget, @tag.Binding, @tag.Sanity"

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




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


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

- **Bug Fixes**
  - Filtering is now disabled by default for the `TableWidgetV2`.

- **Tests**
- Updated test scripts to enable filtering for `TableWidgetV2` in
multiple scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Jacques Ikot <jacquesikot@gmail.com>
2024-07-05 08:46:11 +01:00
NandanAnantharamu
1325f652fd
test: small change in common method (#34649)
/ok-to-test tags="@tag.All"



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


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

## Summary by CodeRabbit

- **Bug Fixes**
- Improved reliability of waiting for elements to appear on the Home
Page by adding a conditional check, reducing potential errors related to
undefined elements.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-05 12:20:13 +05:30
albinAppsmith
a1b3109449
fix: Overflow list new UI restore (#34658)
## Description

Overflow list view changes was reverted because of Anvil failures in EE.
This PR add the changes back.


Fixes #33432 

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9802067318>
> Commit: 18b7a5780abca4e5813d9089c31a01a31f1d348a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9802067318&attempt=1&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.All
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/PartialImportExport/PartialExport_spec.ts</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.
> <hr>Fri, 05 Jul 2024 03:11:20 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **New Features**
- Introduced several new React components (`FileTab`, `AddTab`, `List`,
`ScreenModeToggle`, `EditorTabs`) to enhance the IDE tab management and
user interaction.

- **Bug Fixes**
- Improved drag-and-drop (DnD) simulation logic by using `realMouseMove`
method.

- **Refactor**
- Simplified and refactored the `FileTabs` component, improving its
encapsulation and rendering logic.
- Enhanced state and props handling across various tab components and
hooks.

- **Tests**
- Updated test IDs and test logic to ensure consistency and correctness
for tab interactions and states.
  
- **Style**
- Updated styled components, replacing tab-related styles with
list-related styles to improve UI consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-05 11:55:29 +05:30
Ashit Rath
73788f91f4
chore: add notification prop to js object (#34640)
## Description
The PR adds a new prop to be passed to the JSObject editor to show a
banner or notification. This also adds uniform styling to the other
editors

PR for https://github.com/appsmithorg/appsmith-ee/pull/4485

## Automation

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

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


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


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

## Summary by CodeRabbit

- **New Features**
- Introduced styled notification components across various editor forms
to enhance user alerts and notifications.
	
- **UI Enhancements**
- Improved the visual presentation of notifications within the Editor by
wrapping them in a new styled notification wrapper.

- **Bug Fixes**
- Ensured that notifications are conditionally displayed, improving the
clarity and user experience in the Editor forms.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-05 07:26:59 +05:30
Hetu Nandu
52e8cda21d
fix: Avoid collapsing widget tags when in Anvil (#34718)
## Description

Based on [this
discussion](https://theappsmith.slack.com/archives/C02JT9CSE6L/p1720083186027799)
we are changing
[this](https://github.com/appsmithorg/appsmith/issues/34386) behaviour
to not apply on Anvil Layouts


## Automation

/ok-to-test tags="@tag.Anvil, @tag.Widget"

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

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


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


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

## Summary by CodeRabbit

- **New Features**
- Improved logic for widget tags based on the new `isAnvil` layout flag.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-04 10:51:59 +00:00
Rishabh Rathod
65eefed978
fix: Update SelfReferenceRule to show entity's other property completion (#34686)
## Description

Update the selfReference autocomplete rule to show completion for the
entity's other property when writing JS in one of its property.

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

## Automation

/test js

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


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


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

## Summary by CodeRabbit

- **Bug Fixes**
- Improved accuracy of autocomplete suggestions by refining
self-reference detection logic.

- **Tests**
- Added new test cases to verify proper blocking of self-referencing
completions.
- Updated existing tests to include `propertyPath` in entity sorting
validation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-04 15:07:11 +05:30
Ashit Rath
4bbe28a4f3
chore: update local uneval tree only for jsObjects and exit early for other entities (#34524)
## Description
When a new evaluation cycle starts the uneval tree goes through a
processing for updating the js objects in the right format. But the
update condition depends on values present in `JSObjectCollection`.
Due to the nature of evaluation for modules; when a JSModule is opened
in an editor then the JSModule in evaluation is treated as a jsobject
but when a different JSModule is opened then the previously opened
JSModule is treated as a JSModule instance. Since in one of the eval
cycle the first JSModule was treated as an JSObject so it's functions
made it's way into the `JSObjectCollection` and now when it was treated
as `JSModuleInstance`, due to it's functions present in
`JSObjectCollection` during previous eval cycles; it's values gets
altered which is undesirable.

The change here dictates that if an entity is a JSObject, then only
proceed for any alteration else the dataTree for the entity stays
intact.


PR for https://github.com/appsmithorg/appsmith-ee/pull/4547

## Automation

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

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

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






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


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

- **Bug Fixes**
- Enhanced stability and control flow in the `DataTreeEvaluator` to
prevent issues when processing non-JSAction entities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-04 12:30:21 +05:30
Hetu Nandu
fe0ccaaf0a
chore: Show only a limited set of widgets in the beginning (#34644)
## Description

Controls the collapsible sections of the Widget Add pane. This will
ensure we do not show all the widgets for add when a new user is
exploring for the first time. Once the users adds a widget, the other
sections opens up automatically.

Also removes List and JSONForm widgets from the SuggestedWidget tag

Fixes #34386

## Automation

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

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


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


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

- **New Features**
- Sidebar and tag groups now dynamically open based on widget presence.
  
- **Improvements**
  - Enhanced initial open state control for tag groups.
- Updated widget tag assignments to prioritize layout and display
widgets.

- **Bug Fixes**
- Corrected widget tag selectors to ensure accurate UI element
targeting.
  
- **Tests**
- Refactored and updated test cases for widget sidebar functionality and
UI consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-04 10:19:41 +05:30
Shrikant Sharat Kandula
0b4d664558
chore: Remove strict payload parsing (#34680)
Reverting https://github.com/appsmithorg/appsmith/pull/33724
temporarily, until we gain more confidence.

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



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

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

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

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-07-03 19:11:41 +05:30
Jacques Ikot
5d879ec670
feat: clean up datasource review page (#34655)
## Description
Remove the "Generate new page" button from the datasource review page
and make the "New Query" button a primary button. Tests related to the
removed generate CRUD page feature have been removed.


Fixes #31801 

## Automation

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

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


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


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

## Summary by CodeRabbit

- **New Features**
- Introduced a feature flag to conditionally show the `Generate Page`
button based on the drag and drop building blocks setting.
  
- **Tests**
- Added tests to verify the rendering of components and buttons based on
feature flags and plugin types.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-03 10:41:46 +01:00
Rahul Barwal
9f3c5bd26d
fix: update widget sidebar for airgapped environment (#34656)
## Description
The widget sidebar has been updated to display a different set of
widgets when running in an airgapped environment. This change ensures
that the widget sidebar remains consistent and functional in both
regular and airgapped environments.


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

## Automation

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

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


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


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

- **Bug Fixes**
- Improved widget handling in airgapped environments by applying a
direct filter to the widget catalog instead of filtering out specific
widgets.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Jacques Ikot <jacquesikot@gmail.com>
2024-07-03 10:13:46 +01:00
sneha122
daeeb21fdb
fix: selected gsheets issue fixed (#34659)
## Description
Fixes release blocker issue:
https://github.com/appsmithorg/appsmith/issues/34654


Fixes #`Issue Number`  
_or_  
Fixes [`Issue
URL`](https://github.com/appsmithorg/appsmith/issues/34654)
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

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

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


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


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

## Summary by CodeRabbit

- **New Features**
- Improved handling of authentication status in data source management.

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

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-07-03 13:56:26 +05:30
Rahul Barwal
ce930598a1
feat: Refactor SelectWidget sourceData handling (#34619)
## Description
This pull request refactors the sourceData handling in the SelectWidget
component. It introduces a dynamic property path for the sourceData in
the SelectWidget configuration, allowing it to be passed as a JSON
string.

This change ensures that the source data matches the sample data passed
for the widget configuration, enabling the switching back of the JS
toggle button.

Additionally, it fixes cypress tests: opening of the prop pane in JS
mode.


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

## Automation

/ok-to-test tags="@tag.Widget, @tag.Select, @tag.Binding"

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


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


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

## Summary by CodeRabbit

- **Bug Fixes**
- Improved stability of test scenarios by ensuring JavaScript mode is
toggled appropriately.

- **Tests**
- Updated test cases to include JavaScript mode toggling for more
accurate test outcomes.
- Renamed and restructured test files to enhance clarity and
maintainability.

- **New Features**
- Enhanced `SelectWidget` to initialize `sourceData` with a stringified
array and made `sourceData` dynamically configurable.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-03 13:31:35 +05:30
Alex
5cc4734f23
fix: fix split mode resizing inconsistency (#34517)
## Description
Fixes a "weird resizing bug" described in related issue.

Fixes #33483

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9683985775>
> Commit: 4fe7b5ffb1e98f9b82f6198790554131f95404ba
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9683985775&attempt=6&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: ``
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/BugTests/Binding_Bug28731_Spec.ts
>
<li>cypress/e2e/Regression/ClientSide/OneClickBinding/JSEnabledByDefaultExperiment_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/OneClickBinding/SelectWidget/mongoDB_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/OneClickBinding/SelectWidget/postgres_spec.ts
</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.

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











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


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

## Summary by CodeRabbit

- **Refactor**
- Improved the app's layout resizing performance by optimizing debounced
functions and updating the ResizeObserver usage for better
responsiveness.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 20:12:30 +05:30
sneha122
19623ddd7a
fix: added backwards compatibility for older snowflake datasources (#34628)
## Description
This PR adds backwards compatibility for older snowflake datasources so
that we wont need migration.

With new updates on snowflake plugin for key pair authentication, we
have introduced a new field in authentication object called
authenticationType, this field is responsible for telling us whether
it's a basic authentication or key pair authentication. For older
datasources, this field wont be there, so in order to ensure that those
datasource continue to work smoothly, we have added a fallback
mechanism, where if any datasource does not have authentication field,
it will be considered as basic auth and we will set its properties
accordingly. This PR adds that support


### Steps to test:
1. Create a snowflake datasource along with queries on app.appsmith.com
2. Attach these queries to table widget so they run on page load
3. Export this app and get json
4. Import this json on the DP of this PR, the queries should work


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

## Automation

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

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



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


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

- **Bug Fixes**
- Enhanced backward compatibility for Snowflake plugins by handling
cases where `authenticationType` is not present in older datasources.

- **New Features**
- Improved datasource configuration by cleaning the authentication
object in the `DatasourcesApi`.

- **Refactor**
- Simplified authentication type handling by removing unused
`USERNAME_PASSWORD` and `KEY_PAIR` enums in `DBAuth`.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-07-02 17:27:46 +05:30
Jacques Ikot
562c524010
revert: clean up datasource review page (#34642)
Reverts appsmithorg/appsmith#34348

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

## Summary by CodeRabbit

- **New Features**
- Enhanced button display conditions based on plugin permissions in the
Data Source Editor.

- **Bug Fixes**
- Corrected logic for feature flags in Data Source Editor to ensure
consistent button behavior.

- **Refactor**
- Improved import structure and code readability in Data Source Editor
components.

- **Chores**
- Removed outdated feature flag checks for
`releaseDragDropBuildingBlocks` across multiple files.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 17:00:11 +05:30
Valera Melnikov
32e266222d
fix: anvil canvas highlight (#34553)
## Description
Chang Anvil highlight behaviour:
- Chang the behaviour for an empty canvas
- Fix the behaviour inside the zone


https://github.com/appsmithorg/appsmith/assets/11555074/9f4697ec-b84a-4d3c-a568-42cf2006528f

Fixes #33443  

## Automation

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

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



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


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

## Summary by CodeRabbit

- **New Features**
- Improved padding and dimension calculations for better highlight
accuracy in the canvas editor.
- **Bug Fixes**
  - Adjusted highlight width calculations for empty canvases.
- Corrected compensators for widget alignment to ensure precise
positioning.
- **Tests**
- Updated test cases to reflect changes in highlight width calculations
and widget dragging behavior.
- **Refactor**
- Renamed variables and adjusted identifiers for clarity and consistency
in highlight tests.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 13:33:27 +03:00
Jacques Ikot
3075803b95
test: adjust widget sidebar cypress tests to account for custom widget removal from Airgapped (#34612)
## Description
This [PR](https://github.com/appsmithorg/appsmith/pull/34540) removed
custom widgets from Airgapped versions and this caused the widget
sidebar tests to fail. This PR updated the required tests to account for
this change.


Fixes #`Issue Number`  
_or_  
Fixes `Issue URL`

## Automation

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

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




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


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

- **New Features**
- Updated widgets catalog to display different widgets based on the
airgapped environment.
- Adjusted widget search behavior to align with the airgapped
environment, enhancing search accuracy and display.

- **Bug Fixes**
- Fixed widget card display consistency when the `AIRGAPPED` environment
variable is enabled.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 15:55:21 +05:30
Jacques Ikot
ec5244ce30
feat: clean up datasource review page (#34348)
## Description
Remove the "Generate new page" button from the datasource review page
and make the "New Query" button a primary button. Tests related to the
removed generate CRUD page feature have been removed.


Fixes #31801

## Automation

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

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

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




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


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

- **Bug Fixes**
- Removed outdated test cases that were no longer relevant or causing
issues in MongoDB and S3 CRUD operations.

- **New Tests**
- Added `HideGeneratePageButton.test.tsx` to verify the visibility of
buttons based on feature flags and user permissions.

- **Refactor**
- Improved code structure by reordering imports and simplifying logic in
various datasource-related components.
- Removed deprecated methods and functions related to page generation
from datasource components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 08:43:01 +01:00
albinAppsmith
84bcb84066
fix: Revert "feat: Overflow tabs list view" (#34613)
## Description
This reverts commit 519b53ea9b.


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

## Automation

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

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

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











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


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

- **Refactor**
  - Improved tab closing interaction in the IDE pane.
- Updated components for better consistency and performance in the
Editor.
  - Renamed and reorganized components for clarity.

- **New Features**
- Added `FullScreenTabs` component for a more immersive tab management
experience.

- **Style**
- Enhanced styling for tabs and related UI elements to improve user
experience.
  
- **Tests**
  - Refined test cases for better accuracy and reliability.

- **Performance**
- Enhanced selector functions for better memoization and performance in
the IDE.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 12:56:36 +05:30
Shrikant Sharat Kandula
b5c5fb2fb3
chore: Revert "Add dynamic property path for sourceData in SelectWidget (#34574)" (#34618)
**/test binding**



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

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



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

## Summary by CodeRabbit

- **Refactor**
- Improved the internal handling of `sourceData` within the Select
widget for better performance and maintainability.

- **Tests**
- Updated test cases for the Select widget to reflect the new handling
of `sourceData`.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 09:45:30 +05:30
Shrikant Sharat Kandula
55b6e6d8d8
test: Extract pageId with regex to cover more cases (#34521)
There's a few places in Cypress tests that are trying to extract the
page ID using `.split`, especially with just the path information,
instead of the whole URL. So this PR changes the extraction
implementation to use a regex, to support all three cases we need:

1. Full absolute application+page URL.
2. Just the path of an application+page URL.
3. Just the path of an application with a custom slug.
4. Full absolute application with a custom slug. (Supported, but we
don't need this today).

We've also fixed the URL parsing for the (very) old application URLs
that didn't use slugs in the URL at all. This was making
`FocusEntity.test.ts` fail.

Fixed that test as well as improved it's error reporting.

Before this PR:

![shot-2024-06-27-05-02-16](https://github.com/appsmithorg/appsmith/assets/120119/f3363376-a74d-4f3e-8196-5e72a9e758de)


After this PR:

![shot-2024-06-27-05-03-15](https://github.com/appsmithorg/appsmith/assets/120119/8dc1be04-c60f-4251-acf0-e4fd962f4f00)

No conflicts to EE.

/test all

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

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












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

## Summary by CodeRabbit

- **Refactor**
- Improved URL handling by centralizing page ID extraction logic across
various tests and components.
- Updated deprecated path constants to include ID extraction patterns
for better consistency.
- Enhanced code readability and maintainability by moving page ID
extraction to a helper method.

- **Tests**
- Modified test cases to dynamically set `applicationId` and `pageId`
instead of hardcoding values, ensuring more flexible and maintainable
test scenarios.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-02 06:31:59 +05:30
sneha122
eaf1fa495c
feat: snowflake key auth server (#34548)
## Description
This PR adds new authentication method for snowflake: Use of public and
private keys to authorise a snowflake database.

Snowflake provides a couple of authentication mechanisms in order to
authenticate the DB. Currently appsmith only provides a way to authorise
using username and password. This PR adds support for private key
authentication, where by user can set a public key on their DB and they
can use corresponding private key in appsmith to authorise the
datasource.

In snowflake DB form, we have added a new field for authentication type
which has two options: Basic and Key pair. Basic will allows us to
authenticate using username and password. Key pair will provide us a way
to upload the private key along with input field for adding passphrase
(In case of encrypted private key).

More info: https://docs.snowflake.com/en/user-guide/key-pair-auth



https://github.com/appsmithorg/appsmith/assets/30018882/99774925-12a3-4cc0-af0a-614c3574cdc3


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

## Automation

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

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

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




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


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

- **New Features**
- Enhanced Snowflake integration with improved connection creation and
authentication handling (key pair and basic auth types).

- **Bug Fixes**
- Fixed issues related to handling authentication objects within
datasource configuration to ensure more reliable connections.

- **Documentation**
- Added new error messages for passphrase requirements and incorrect
passphrase or private key for encrypted private keys.

- **Tests**
- Updated tests to verify the correct setting of authentication types in
the Snowflake plugin.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Rishabh-Rathod <rishabh.rathod@appsmith.com>
Co-authored-by: Aman Agarwal <aman@appsmith.com>
Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-07-01 19:39:14 +05:30
Diljit
f25cae0513
chore: Change the default value of isLoading in settings reducer to true (#34490)
## Description
This PR makes sure that the initial value of `isLoading` in the settings
reducer is set to true.
This flag is used to conditionally render the loading component and the
AdminSettings component in
`app/client/src/pages/AdminSettings/index.tsx`. This change makes sure
that the Admin Page components are not mounted and unmounted on initial
render. The mouting and unmounting used to happen earlier because the
flag switched from false => true => false.

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

## Automation

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

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

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




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


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

## Summary by CodeRabbit

- **Bug Fixes**
- Improved initial loading state of settings to enhance user experience
during app startup.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-01 12:57:36 +05:30
Rahul Barwal
938e7b4dca
feat: Add dynamic property path for sourceData in SelectWidget (#34574)
## Description
Add dynamic property path for sourceData in SelectWidget.

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

## Automation

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

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

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









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


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

- **New Features**
- Enhanced the Select Widget with a new property to support dynamic
property paths.
- **Tests**
- Added new tests to validate the dynamic property paths functionality
in the Select Widget.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-01 12:02:21 +05:30
Shrikant Sharat Kandula
4c073129fc
chore: Fix datasource creation throwing 400 (#34588)
The recent changes to deny any requests that have unrecognized fields in
the body, is making the datasource creation API fail. This is because we
are sending extra fields that shouldn't be sent.

[Slack
conversation](https://theappsmith.slack.com/archives/CPQNLFHTN/p1719577339838649?thread_ts=1719466294.012589&cid=CPQNLFHTN).


**/test sanity datasource**



<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9714799545>
> Commit: 85495fbcf6ec641162c7c30ea8f758dcaee380e3
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9714799545&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Datasource`
> It seems like **no tests ran** 😔. We are not able to recognize it,
please check <a
href="https://github.com/appsmithorg/appsmith/actions/runs/9714799545"
target="_blank">workflow here</a>.

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




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

- **New Features**
- Enhanced data security by adding a method to sanitize and retain only
necessary authentication information for various authentication types.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-29 14:27:36 +05:30
Ayush Pahwa
e662e7edc7
fix: workflow js func rename code split (#34512)
## Description
This is a code split PR for [EE
change](https://github.com/appsmithorg/appsmith-ee/pull/4536) which
fixes rename of functions inside of a js object.


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

## Automation

/test sanity

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

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




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


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

- **New Features**
- Added an optional `workflowId` field to enhance the functionality of
JavaScript actions and workflows.

- **Tests**
  - Updated tests to include the new `workflowId` field.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-28 17:38:35 +05:30
NandanAnantharamu
65e28b4c1a
test: updated js methods to refer ts locators for Git Tests (#34577) 2024-06-28 16:34:07 +05:30
Shrikant Sharat Kandula
8979e0738f
test: Fix Anvil DSLs used for testing (#34569)
**/test anvil**



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

<!-- end of auto-generated comment: Cypress test results  -->
2024-06-28 11:14:51 +05:30
NandanAnantharamu
d8b9eed1e6
test: updated flow for GitSync (#34239)
RCA:
Click on the dropdown was not working intermittently

Solution:
updated the flow,
1. Wait for the destination dropdown
2. Click on the destination dropdown
3. Assert the branch name visible post dropdown has opened
4. Click on the destination branch

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

- **Bug Fixes**
- Enhanced the `mergeBranch` process in GitSync to ensure better
stability and accuracy by adding assertions for element appearances,
disappearances, network status, and the presence of a destination
branch.

- **Tests**
- Switched limited test spec from `Fork_Template_spec.js` to
`GitSyncedApps_spec.js` and added `GitBugs_Spec.ts` for improved test
coverage and accuracy.

- **Refactor**
- Changed `className` attribute to `data-testid` in the `Select`
component within the GitSync merge tab for improved testing and
readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com>
2024-06-28 10:29:12 +05:30
Rahul Barwal
6f9e4503a5
fix: Update BuildingBlockSagas to handle nested object value replacement in queries (#34563)
## Description
This pull request updates the BuildingBlockSagas module to handle nested
object value replacement in queries.

Previously, the module only replaced values at the top level of the
object, but now it correctly handles nested values as well. This
improves the accuracy and reliability of the queries.

The changes include adding a new utility function,
`accessNestedObjectValue`, which is used to access and update nested
values in the `actionConfiguration` object.
Additionally, the `updateWidgetsNameInNewQueries` function has been
modified to use this utility function when replacing widget names in
queries.

Overall, these changes enhance the functionality of the
BuildingBlockSagas module and ensure that queries are properly updated
with the new widget names."


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

## Automation

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

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

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




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


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

- **Refactor**
- Enhanced internal logic for updating nested object values in widget
names.

- **Tests**
- Added new test case for handling `null` or `undefined` inputs in
utility functions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-28 08:47:45 +05:30
Rahul Barwal
b693377e82
fix: Truncate title in tooltips in table cell if it exceeds 200 characters (#34507)
## Description
Truncate the title in tooltips if it exceeds 1000 characters to improve
readability.

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

## Automation

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

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

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







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


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

- **New Features**
- Improved tooltip functionality to automatically truncate text that
exceeds a set character limit, enhancing readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 20:52:50 +05:30
Valera Melnikov
6835804f79
fix: jest ci script (#34562)
## Description
Now, all unit tests will continue to be run in the CI pipeline, even if
they fail.

## Automation

/ok-to-test tags=""

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

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


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


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

## Summary by CodeRabbit

- **Chores**
- Updated test script in `package.json` to improve test execution
environment.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 18:20:11 +03:00
Jacques Ikot
8d9900598b
fix: update newly created queries body with correct widget bindings (#34248)
## Description
When multiple blocks of the same type are dropped unto the canvas right
after each other, the query body of the newly created query does not
update the binding to the latest version of the widgets.

## Solution
We have gotten the newlyUpdatedQueries from the block API, then we
update the actionConfiguration.body and the jsonPathKeys to match the
updated binding name for the block and implement the action in the local
state.


Fixes #34237

## Automation
/ok-to-test tags="@tag.Widget"

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

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






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


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

- **New Features**
- Enhanced functionality for saving building block widgets to the store.

- **Tests**
  - Updated and added new test cases for pasting building block widgets.

- **Bug Fixes**
- Fixed issues with the import and usage of action types and selectors
in the building block sagas.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 15:30:19 +05:30
Rahul Barwal
2f12030a9a
fix: Disable custom widgets for airgapped environments (#34540)
## Description
Since custom widgets rely on react delievered from
`https://cdn.jsdelivr.net`, it can't work in airgapped edition.

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

## Automation

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

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

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




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


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

- **New Features**
- Custom widgets will now hide specific cards if the environment is
air-gapped.

- **Tests**
- Updated test tags for custom widgets to exclude tests in air-gapped
environments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 13:47:32 +05:30
Shrikant Sharat Kandula
0747702519
test: Use deep.eq for comparing DSLs (#34523)
Failures in these specs show up like this today:

![22733323_6413959_1](https://github.com/appsmithorg/appsmith/assets/120119/170aefe3-d496-4cfd-ad61-68713751ccbe)

![22733540_6413960_1](https://github.com/appsmithorg/appsmith/assets/120119/7352c4e9-bba2-4674-9a4f-2807bd58f86a)

Which are practically impossible to troubleshoot, assert the order of
keys in objects which we don't really want/need, and is failing on
Postgres.

Instead, in this PR, we use `.deep.eq` to assert them, which is almost
the same thing in practice, but doesn't assert the key order in
serialization.


![shot-2024-06-27-03-56-15](https://github.com/appsmithorg/appsmith/assets/120119/fd10b402-1006-48c1-ac02-743e5fcd8f5a)

/test fork


<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9691146519>
> Commit: d3da957b5362e0314e11c7589e43fb526e4317d6
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9691146519&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Fork`
> It seems like **no tests ran** 😔. We are not able to recognize it,
please check <a
href="https://github.com/appsmithorg/appsmith/actions/runs/9691146519"
target="_blank">workflow here</a>.

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




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

## Summary by CodeRabbit

- **Tests**
- Refactored test cases to improve the scope management and comparison
logic within the test blocks. This change enhances the reliability and
maintainability of the test suite.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 13:17:49 +05:30
Rishabh Rathod
cb3ddf1cb3
chore: Add evalTreeWithDiff to evalWorkerAction (#34403)
## Description

These changes add evalTreeWithDiff to evalWorkerAction. Using this
method it will be possible to send the unevalTree and configTree updates
from mainThread to trigger evaluation.
- This will skip diffing complete unEvaltree

### Next steps after this PR
- [ ] Rename EvalTreeWithChanges to evalTreeWithDiff
- [ ] Generate Diff instead of updatedValuePaths for the current
evalTreeWithChanges references.
- [ ] Handle evalTreeWithDiff for
	- [ ] JSObject updates 
	- [ ] updateDependencyMap

Fixes #

## Automation

/test js

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

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


















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


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

- **New Features**
- Enhanced widget evaluation logic and improved handling of dynamic
bindings and dependencies.

- **Bug Fixes**
- Corrected type handling in various evaluation functions to improve
stability and accuracy.

- **Tests**
- Updated test cases for widget property setters to include additional
tags for better categorization.

- **Refactor**
- Streamlined function signatures and improved type safety across
evaluation utilities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 12:08:53 +05:30
Shrikant Sharat Kandula
8971dbe99d
chore: Fail on unknown fields in request body (#33724)
Currently, if the incoming request body contains fields that aren't
recognized by the backend, we just ignore them, and deserialize what we
_can_. This has lead to subtle bugs and wasted a lot of developer time
in the past, and added little value in return.

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

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

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

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

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

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

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

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


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

**/test all**
























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

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



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

## Summary by CodeRabbit

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

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

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 11:46:31 +05:30
Shrikant Sharat Kandula
f351008b94
chore: Don't rely on key order in objects (#34522)
The way the border-radius selector in Theme settings is built, it relies
on the `borderRadius` object to show up like this:

```js
{
  none: "",
  M: "",
  L: "",
}
```

And the order options is relying on that. So if we get back the
following from the server:

```js
{
  L: "",
  M: "",
  none: "",
}
```

The options are reversed.

This may/may-not be a problem, but we're asserting in our tests (see
below) that the first option be `none`, so clearly we want a predictable
order here. This predictable ordering isn't available anymore with
Postgres.

From
[FilePickerV2_Widget_Reskinning_spec](6f67dbd85e/app/client/cypress/e2e/Regression/ClientSide/Widgets/Filepicker/FilePickerV2_Widget_Reskinning_spec.js (L19)):

![shot-2024-06-27-02-50-26](https://github.com/appsmithorg/appsmith/assets/120119/882ea82d-b88d-4cd9-935a-09d0f92306e4)

from
[Theme_FormWidget_spec](6f67dbd85e/app/client/cypress/e2e/Regression/ClientSide/ThemingTests/Theme_FormWidget_spec.js (L32)):

![shot-2024-06-27-02-52-55](https://github.com/appsmithorg/appsmith/assets/120119/63f35bbd-5902-4dfd-a394-92af17cd94ea)

This PR "fixes" this by not relying a predictable order at all. We
expect `none`, `M` and `L` only, and in that order, so that's exactly
what we show in the UI. No shenanigans, no moving pieces.

I don't know if there's more places in the theme settings that suffer
from this (likely there are), but I haven't seen anything else asserted
in tests, so I don't know.

/test theme widget


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

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



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

## Summary by CodeRabbit

- **Refactor**
- Improved the creation of button group options for the SegmentedControl
component in the Theme settings.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 10:53:55 +05:30
Pawan Kumar
963ae31b11
chore: add snapshots for input type widgets (#34436)
/ok-to-test tags="@tag.Anvil"

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

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




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

- **New Features**
- Introduced comprehensive test cases for Currency Input, Phone Input,
and General Input Widgets in the Anvil editor covering Canvas, Preview,
and Deploy modes.
- Added complex layout structures for Currency and Phone Input Widgets
in the "MainContainer" canvas widget.

- **Enhancements**
- Implemented debouncing for validation status and error message
handling in the Currency Input Widget to improve timing accuracy.
- Added `defaultValue` property to Currency Input Widget configurations.
- Corrected typos and improved clarity in widget property names and
validation logic.

- **Bug Fixes**
  - Fixed validation status typo in Phone Input Widget.
  
- **Refactor**
- Reordered static property declarations in Input Widgets for better
code organization.
  - Modified method access controls in AnvilSnapshot for external usage.
  
- **Tests**
- Added snapshot testing for Currency, Phone, and General Input Widgets
within the Anvil editor.
  
- **Chores**
- Added a new method `Createpage(pageName: string)` to streamline page
creation in tests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-06-27 10:51:28 +05:30
Shrikant Sharat Kandula
6f67dbd85e
test: Use deep.eq for comparing objects (#34513)
The JSON string comparison is flaky because it depends on the order of
keys in serialized objects. We actually don't care for the order the
keys are serialized, just that the keys and values are as we want.

This PR should fix that.

[Slack
conversation](https://theappsmith.slack.com/archives/C0134BAVDB4/p1719409620659339).

/test table


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

<!-- end of auto-generated comment: Cypress test results  -->
2024-06-26 21:16:29 +05:30
Shrikant Sharat Kandula
57f86debae
test: Really empty DSL (#34510)
Part of #33724, and extension to #34405.

This file's contents are used to call the endpoint:

```
/layouts/{layoutId}/pages/{pageId}?applicationId={applicationId}
```

But this endpoint accepts request payload as `LayoutUpdateDTO`, which
only has one single field, `dsl`, and nothing else.

But the way we use this JSON, is that we're sending the body as this:

```json
{
  "widgetName": "MainContainer",
  "backgroundColor": "none",
  "rightColumn": 1296,
  "snapColumns": 64,
  "detachFromLayout": true,
  "widgetId": "0",
  "topRow": 0,
  "bottomRow": 440,
  "containerStyle": "none",
  "snapRows": 125,
  "parentRowSpace": 1,
  "type": "CANVAS_WIDGET",
  "canExtend": true,
  "version": 47,
  "minHeight": 420,
  "parentColumnSpace": 1,
  "dynamicBindingPathList": [],
  "leftColumn": 0,
  "children": []
}
```

Not as this:
```json
{
  "dsl": {
    "widgetName": "MainContainer",
    "backgroundColor": "none",
    "rightColumn": 1296,
    "snapColumns": 64,
    "detachFromLayout": true,
    "widgetId": "0",
    "topRow": 0,
    "bottomRow": 440,
    "containerStyle": "none",
    "snapRows": 125,
    "parentRowSpace": 1,
    "type": "CANVAS_WIDGET",
    "canExtend": true,
    "version": 47,
    "minHeight": 420,
    "parentColumnSpace": 1,
    "dynamicBindingPathList": [],
    "leftColumn": 0,
    "children": []
  }
}
```

Which means that we aren't sending anything useful.


/test widget ide

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

<!-- end of auto-generated comment: Cypress test results  -->
2024-06-26 20:01:30 +05:30
Shrikant Sharat Kandula
e63a2a3361
chore: More strict payloads in JSActionAPI (#34506)
Part of #33724. This is fix for `JSEditorContextMenu_Spec`.

/test ide




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

## Summary by CodeRabbit

- **Refactor**
- Improved payload handling for `createJSCollection` and
`copyJSCollection` methods to better manage nested objects.

These changes optimize data handling within the app, ensuring smoother
and more reliable performance when creating or copying JavaScript
collections.

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

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

<!-- end of auto-generated comment: Cypress test results  -->
2024-06-26 19:02:36 +05:30
Shrikant Sharat Kandula
f8f5ebbbef
chore: Strict API payloads for JSObjects and more (#34471)
Part of #33724. Fixes for JSObject API calls and
`EvaluatedValuePopUp_spec` test.

**/test sanity binding**



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

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



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

## Summary by CodeRabbit

- **Refactor**
- Improved the structure of API request payloads for JS collections,
ensuring more efficient data handling.
- **Bug Fixes**
- Removed unnecessary parameters from dynamic value fetching functions,
streamlining the process and reducing potential errors.

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

/test sanity js



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

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






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

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

- **Logging Improvements**
- Updated log messages in the `removeJSLibFromApplication` method to
exclude version information for better clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-26 10:58:01 +05:30
albinAppsmith
519b53ea9b
feat: Overflow tabs list view (#34150)
## Description

This PR implements the new design for the list view.


Fixes #33432  

## Automation

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

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

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










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


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

- **New Features**
  - Introduced `AddTab` component to add new JavaScript or Query tabs.
- Added `ScreenModeToggle` for switching between full-screen and
split-screen modes.
  - Added `FileTab` component for improved tab interactions.
- Introduced `List` component for conditional rendering based on editor
state.

- **Bug Fixes**
- Corrected test assertions and tab names in `JSRender.test.tsx` and
`QueryRender.test.tsx`.
- Fixed tab closure and interaction flow in
`IDE_Add_Pane_Interactions_spec.ts`.

- **Refactor**
- Simplified selector functions and updated component imports for better
readability and performance.

- **Tests**
- Updated tests to include `currentEntity` props and use
`sanitizeString` for tab titles.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-25 16:00:41 +05:30
Shrikant Sharat Kandula
d0c2d40c7b
chore: Logs and potential fix for CI startup flakiness (#34461)
The `tlog` command isn't predictably getting the executable permission,
so we're explicitly setting that up in `Dockerfile` here.

As well as in the setup script for Cypress, if we get a 502 even after
90 seconds, we print the logs of the `appsmith` container, so we're not
guessing the causes. This should provide us more information next time
we see such flakiness.

**/test sanity**



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

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



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

## Summary by CodeRabbit

- **Chores**
- Updated Dockerfile to ensure custom command-scripts in `/opt/bin/`
have executable permissions.
- Enhanced `setup-test-ci.sh` script to output `appsmith` logs when the
server connection fails.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-25 14:03:56 +05:30
albinAppsmith
1ba8672bec
fix: Focus retention issue after delete datasource (#34460)
## Description

This PR fix the invalid URL issue after deleting the last datasource.
This is caused by the focus retention delete order. Whenever a focus
history is being deleted, it should be done after redirection to the new
URL.

Fixes #33994   

## Automation

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

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

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



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


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

## Summary by CodeRabbit

- **Bug Fixes**
- Improved the deletion process of data sources to ensure proper
handling of focus history and redirects.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-25 13:46:27 +05:30
Aman Agarwal
8a68347952
feat: added key pair auth for snowflake behind feature flag (#34399) 2024-06-25 13:30:46 +05:30