Commit Graph

17861 Commits

Author SHA1 Message Date
Shrikant Sharat Kandula
50150f79e2
ci: Use the newer DB URL 2024-07-01 21:36:43 +05:30
Shrikant Sharat Kandula
56b0d7f5b1
chore: Use id argument to find action collections (#34595)
This is causing a test failure in `pg` because we're trying to extract
the `id` out of a DTO that was originally passed to `.save()`, which
doesn't work with Hibernate. This failure in `pg` got introduced by the
test class changes in appsmithorg/appsmith#34535.


/test sanity


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

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



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

- **Bug Fixes**
- Corrected the method call to ensure the correct parameter is used for
updating unpublished action collections.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-01 19:51:29 +05:30
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
Shrikant Sharat Kandula
dc99eb1ac4
ci: Use latest version of helm chart for DPs (#34608)
If we don't specify a version with `--version`, the `help upgrade`
command takes the latest version. [Ref
documentation](https://helm.sh/docs/helm/helm_upgrade/).



![shot-2024-07-01-09-51-35](https://github.com/appsmithorg/appsmith/assets/120119/4d916c41-5b47-495a-bf06-cdd4d5205484)
2024-07-01 15:26:02 +05:30
Shrikant Sharat Kandula
ff44b4f60f
chore: Fix quoting in deploy_preview.sh (#34592)
**/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/9716093497>
> Commit: f2381c9e21f3a2ab89a0de63375bbe58dc1fe726
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9716093497&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 deployment script to improve environment variable handling and
AWS configuration for preview environments.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-01 15:06:56 +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
Shrikant Sharat Kandula
a8da148b41
ci: Add Postgres URL for DPs 2024-06-28 23:49:21 +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
Aman Agarwal
a9baac651c
chore: added validation of key pair auth for snowflake and updated auth keys for form (#34491) 2024-06-28 15:33:26 +05:30
Abhijeet
b856dbd841
chore: Cleanup unused method (#34428)
## Description
PR to remove unused method `saveAll` from DatasourceServiceCE. I have
checked this is not being used on EE repo as well.

/test sanity

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

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



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


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

## Summary by CodeRabbit

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

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


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

## Automation

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

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

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



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


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

## Summary by CodeRabbit

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

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

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

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2024-06-27 15:46:28 -05:00
Shrikant Sharat Kandula
32147ddfdb
ci: Write Cypress status with the GitHub Script (#34559)
Replacing more of `nefrob/pr-description@v1.1.2` with our GitHub Script.
This is moving towards Javascript CI, and hopefully an unit-testable CI.




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

## Summary by CodeRabbit

- **Chores**
- Replaced `nefrob/pr-description` action with `actions/github-script`
for handling test responses in PR automation.
- Improved guidance on modifying PR body for correct tag usage and
linked to relevant documentation.
- Enhanced script content to handle warnings and failures more
effectively in PR workflow automation.

- **New Features**
- Updated the `write-cypress-status` script to support different alert
types and prefixes, ensuring better validation and formatting of alerts.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 23:32:30 +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
Arpit Mohan
e72be3473d
Revert "chore: Introducing ReactorDebugAgent to improve the stack traces and make them easier to debug" (#34560)
Reverts appsmithorg/appsmith#34485 because this may be causing some delays in running the JUnit tests on CI.

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

## Summary by CodeRabbit

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

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

Fixes #34480 

## Automation

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

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

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




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


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

- **New Features**
- Introduced user span control flow constants for improved monitoring
and performance tracking.
  
- **Refactor**
  - Renamed tenant-related span constants for consistency and clarity.
  
- **Enhancements**
- Improved super user checks with added telemetry using Micrometer for
better observability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 15:33:07 +05:30
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
Shrikant Sharat Kandula
36ee1be478
ci: Remove impact-less message about using @tag.All (#34547)
This message goes in the PR description, and the immediate next step
happily overwrites it. People never get to see this message at all
(unless we check the description history, of course).

Removing it as we likely don't need this reminder anymore.




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

## Summary by CodeRabbit

- **Chores**
- Removed outdated PR automation code related to test response tagging.


<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-27 14:26:09 +05:30
Anagh Hegde
c3047e8e57
chore: refactor to use layout service for onPageLoad actions calculations in blocks API (#34269)
## Description
Refactor the consolidated API for importing blocks


Fixes 
## Automation

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

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

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










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


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

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

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

---------

Co-authored-by: Abhijeet <41686026+abhvsn@users.noreply.github.com>
2024-06-27 14:08:35 +05:30
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
67d80c3c2a
chore: Add CE Repository for GitDeployKeys (#34475)
The repository for `GitDeployKeys` domain doesn't have a corresponding
CE class. This is breaking expectations on class hierarchy, and so
complicating the `*Cake` class generation on `pg` branch. This PR fixes
this inconsistency.


**/test sanity**



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

## Summary by CodeRabbit

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

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

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

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

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

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

> [!WARNING]  

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

## Automation

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

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

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



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


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

## Summary by CodeRabbit

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

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


<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-26 16:35:17 +05:30
Rishabh Rathod
379596d5fa
chore: Add KeyPairAuth as snowflake auth type document (#34466)
## Description

Add a KeyPairAuth class to use for snowflake plugin when authentication
type is key-pair

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

## Automation

/test 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/9675114982>
> Commit: 3ef273564f2b3fa04f43f5b65d6219aa5cdddac1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9675114982&attempt=2"
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 key pair authentication for enhanced security.
  - Added support for Snowflake key pair authentication.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-26 16:24:53 +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
Nilansh Bansal
f109c2fd55
chore: added classes for ce and ee spans (#34484)
## Description
The spans directory currently did not have a way to add EE-specific
spans.
<img width="340" alt="SCR-20240626-j4l"
src="https://github.com/appsmithorg/appsmith/assets/25542733/610dd7d4-2309-4fed-8dce-7faf1c02b6a7">


**This PR fixes the span directory to add ce and ee spans support.**



Fixes #34483  

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

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



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


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

## Summary by CodeRabbit

- **Refactor**
- Improved code structure by extending specialized classes
(`ActionSpanCE`, `DatasourceSpanCE`, `TenantSpanCE`) for `ActionSpan`,
`DatasourceSpan`, and `TenantSpan`.
  
- **New Features**
- Introduced new constants for tracing various action executions and
data fetching related to datasources and tenants.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-26 14:56:37 +05:30
Shrikant Sharat Kandula
9c16e4f365
ci: Do case-insensitive tag matches (#34481)
Specifying the `/test` command like this:

```
/test IDE
```

Doesn't pick up the `@tag.IDE` tag, but using `/test ide` does. This is
because of incorrect case-matching logic. This PR fixes this.





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

## Summary by CodeRabbit

- **Bug Fixes**
  - Enhanced case-insensitivity for tag matching to reduce errors.
- Improved error messaging for unmatched tags to provide clearer
feedback.

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

/test sanity js



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

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






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

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

- **Logging Improvements**
- Updated log messages in the `removeJSLibFromApplication` method to
exclude version information for better clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-26 10:58:01 +05:30
Nidhi
6edea92517
fix: Add a back up for isAtomicPushAllowed as false (#33647) 2024-06-26 04:31:30 +00:00
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
Shrikant Sharat Kandula
3a8139e3be
chore: Fix .equals on subclasses of AuthenticationDTO (#34451)
**/test sanity datasource**



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

- **Enhancements**
- Improved equality and hashing behavior for various authentication
classes, enhancing data integrity and consistency across the app.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-25 13:06:13 +05:30
Shrikant Sharat Kandula
064d74c833
chore: Remove current symlink to Postgres (#34454)
Reason for this previously documented at
https://github.com/appsmithorg/appsmith/pull/34265#issue-2356259090.

Cypress tests don' make sense since the only diff is on
`base.dockerfile`.


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

## Summary by CodeRabbit

- **Chores**
- Updated Dockerfile to streamline PostgreSQL setup. Removed creation of
a symlink to the current version of PostgreSQL.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-25 13:03:51 +05:30
Shrikant Sharat Kandula
aa773f6950
chore: Strict payloads for update action and gen template API (#34446)
Part of #33724.

This PR fixes a few more APIs to pass just the fields that the server
expects, and nothing more.

/test sanity datasource


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

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



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

## Summary by CodeRabbit

- **Refactor**
- Improved payload structure for `updateAction` and `moveAction` methods
to enhance API request consistency.
- Updated `updateApplicationTheme` method to refine the payload before
making API calls.
- Modified `generateTemplatePage` method to update the request payload,
improving API interaction.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-25 13:03:36 +05:30