Commit Graph

386 Commits

Author SHA1 Message Date
Hetu Nandu
4a91204e4d
chore: Analytics util refactor (#38089) 2024-12-19 17:46:22 +05:30
Rahul Barwal
5d213dddc6
chore: Split derived.test.js to separate files. (#38162)
## Description
This PR started with this goal:
- Deleted the unreadable `derived.test.js` (4668 lines) file and split
each suite to its file.
- Moved all `derived.js` related specs in widget folder to __tests__
folder

Later we found that `testRegex` in `jest.config` will treat anything
inside `__tests__` as runnable, so we modify this rule and are moving to
a consistent naming for our unit tests(any file ending with `.test.` or
`.spec.`

This refactor aims to improve maintainability and ensure that the table
widget's derived properties are thoroughly tested.


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  -->
> [!WARNING]
> Tests have not run on the HEAD
b3168bb1a6d3070a910972d1d9a78d61a3aaee91 yet
> <hr>Tue, 17 Dec 2024 10:20:54 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**
	- Expanded properties for table widget configuration.
- Introduced sample data constants for column schemas and processed
table data.

- **Bug Fixes**
- Improved validation tests for editable cells and row selection
functions.

- **Tests**
- Added comprehensive test suites for various table widget
functionalities, including filtering, sorting, and row selection.
	- Introduced tests for handling HTML content within table columns.
	- Added tests for new functions related to row updates and indices.
- Enhanced test coverage for existing utility functions and table
properties.

- **Chores**
- Updated import paths to reflect a new directory structure across
various test files.
- Modified Jest configuration for improved readability and regex
adjustments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-17 18:16:27 +05:30
Ashit Rath
5262438802
chore: Git mod - Connect/Import modal (#38098)
## Description
Git mod components, add connect/import from git modal components

Fixes https://github.com/appsmithorg/appsmith/issues/37812
Fixes https://github.com/appsmithorg/appsmith/issues/37802

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12291098002>
> Commit: e94ebe0722dcf52ea078675449771d1ee671718d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12291098002&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Thu, 12 Dec 2024 07:43: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

## Release Notes

- **New Features**
  - Introduced a multi-step `ConnectModal` for Git provider connections.
- Added components for generating SSH keys and managing Git remote URLs.
- New constants for Git integration steps and demo GIFs for user
guidance.
- Added optional `errorType` property to enhance error handling in API
responses.
  - New `Steps` component for step navigation in the modal.
- New `CopyButton` component for clipboard functionality with visual
feedback.

- **Improvements**
  - Enhanced error handling and user prompts related to Git operations.
- Improved user interface with styled components for better layout and
presentation.

- **Bug Fixes**
  - Improved validation and error messaging for SSH URL inputs.

- **Refactor**
- Renamed `AutocommitStatusbar` to `Statusbar` for consistency across
components and tests.

- **Tests**
- Comprehensive test coverage for new components and functionalities
related to Git integration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-12 19:04:21 +08:00
Shrikant Sharat Kandula
381dcaaf8a
chore: Include version in all requests (#37551)
We're adding `x-appsmith-version` to every request from the client. If
server sees a request with a `x-appsmith-version` that doesn't match its
own, it rejects. If the server sees a request _without_ any
`x-appsmith-version` header, we don't reject it... for now.

On the client, when server responds with the "version mismatch" error,
we trigger the "There's a new version, please refresh" toast UI flow.

This is a step towards removing our dependency on websockets and
client&mdash;RTS connection.

## 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/12029721517>
> Commit: c4321f7addb2be9c0ca6a7fe64308f13f931a1c8
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12029721517&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 26 Nov 2024 12:28:32 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

## Release Notes

- **New Features**
- Introduced a custom header for API requests to include application
version.
- Added specific error handling for 400 Bad Request errors, enhancing
user feedback on version mismatches.

- **Improvements**
- Enhanced error handling for version mismatches, providing clearer
error messages.
- Simplified version update handling, focusing on logging and user
prompts without state management.
- Improved default handling for application version configuration to
prevent undefined values.

- **Chores**
- Removed outdated version state management functions to streamline
code.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Pawan Kumar <pawan@appsmith.com>
2024-11-27 12:58:28 +05:30
Shrikant Sharat Kandula
c9ddd9c765
chore: Remove CS URL in client (#37665)
The server should be the source of truth and owner for the current CS
URL, and the client having direct access to the CS URL is (almost) an
abstraction leak. We're using it on client for one purpose only, to
redirect to CS for Google sheets authorization. That's just as well
achieved with another redirect via the server.

This PR does that redirection and removes access to the CS URL to the
client code. Not used anywhere else, and shouldn't be needed.


## Automation

/test sanity 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/12029489682>
> Commit: 0a1937e7d5d492c7c6a98bde124a157663126ac1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12029489682&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Datasource`
> Spec:
> <hr>Tue, 26 Nov 2024 12:21: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

## Release Notes

- **New Features**
	- Enhanced CI workflow with improved error handling and logging.
- Added a new authorization redirection endpoint in the SaaS controller.

- **Improvements**
	- Database URL validation step added to CI tests.
	- Artifact management for test results has been clarified and improved.
- Removal of `cloudServicesBaseUrl` from various configurations to
streamline cloud service integration.

- **Bug Fixes**
	- Refined logic for rerunning tests based on previous results.

These updates contribute to a more robust and efficient testing and
configuration environment.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-11-27 10:32:35 +05:30
Nidhi
27bdeb92b6
chore: Distributed tracing for client (#37101) 2024-10-29 11:25:43 +05:30
Vemparala Surya Vamsi
56ef4309e1
chore: capture performance of parsing api response (#37081)
## Description
Capture performance of parsing api responses.

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/11512264036>
> Commit: 92f9d882b4f0dd40b1b3e38cb817b371b8288a68
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11512264036&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 25 Oct 2024 06:47:52 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 telemetry feature for enhanced monitoring of API requests
and responses.

- **Bug Fixes**
- Improved error handling by logging issues when default transformation
functions are not found.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-25 12:18:16 +05:30
Vemparala Surya Vamsi
b122c8195f
chore: decouple widget-config.json from main chunk (#36924)
## Description
We decoupled the widget-config.json file (177KB when zipped) from the
main bundle and implemented lazy loading during DSL migrations. This
optimisation reduces the size of the main chunk by 10%, which should
lead to better performance, specifically improving FCP and LCP, as the
main chunk's fetch and evaluation times are reduced

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


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced migration logic for DSL widgets with asynchronous operations.
	- Improved performance with lazy loading of widget configurations.
	- Added optional properties to page response data structures.

- **Bug Fixes**
	- Resolved issues with dynamic binding path migrations.

- **Tests**
- Updated test cases to handle asynchronous operations for better
reliability and accuracy.

- **Chores**
- Improved type safety and error handling in widget factory utilities
and mock functions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-17 20:48:39 +05:30
Hetu Nandu
7ff703c7de
chore: Migrate sub components into Plugin Action Editor (#36844)
## Description

- Moving older components, utils and constants into the Plugin Action
Editor to complete the modularisation project.
- Update Plugin Action Editor to expect an action ID instead of fetching
it from the URL.
- Add a Readme



Fixes #34324 

## 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/11363303457>
> Commit: c36241f8cb19d57365c2555a02284b72aa849a67
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11363303457&attempt=3"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 16 Oct 2024 12:40:23 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
  - Introduced a new utility function `formatBytes` for byte formatting.
- Added comprehensive documentation for the Plugin Action Editor module.

- **Improvements**
  - Simplified action retrieval logic in the Plugin Action Editor.
- Enhanced import organization across various components for better
maintainability.

- **Bug Fixes**
- Resolved import path issues for several components and constants to
ensure correct functionality.

- **Chores**
- Updated multiple import paths to reflect the new directory structure
for improved modularity.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-16 18:29:10 +05:30
Ankita Kinger
688324e68b
chore: Adding the GraphQLEditorForm for the modularised flow (#36633)
## Description

Adding the GraphQLEditorForm for the modularised flow


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

## 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/11138697528>
> Commit: 3aa280e9e7852ca709bd50df07a6e8b62fa1a238
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11138697528&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 02 Oct 2024 07:47:13 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

## Release Notes

- **New Features**
- Introduced a new `GraphQLEditorForm` component for editing GraphQL
actions within the plugin action editor.
- Added a `PostBodyData` component for managing the layout and
functionality of a GraphQL API editor, featuring a `QueryEditor` and a
`VariableEditor`.
- Enhanced the `useGetFormActionValues` hook to include
`actionConfigurationBody`, ensuring a complete set of action values.

- **Improvements**
- Simplified prop management and conditional rendering in various
components, enhancing maintainability.

- **Bug Fixes**
- Removed deprecated `closeEditorLink` from multiple contexts and
components to streamline functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-02 13:59:46 +05:30
Pawan Kumar
2f2f5a6bf4
chore: Refactor API (#36412)
Fixes #36481 

/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/11028542060>
> Commit: ed537d3958a3eba4502cbc32daf60c4cd814002d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11028542060&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 25 Sep 2024 08:56:31 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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

## Summary by CodeRabbit

- **New Features**
- Enhanced API interaction with new default configurations for requests.
- Improved error handling with a centralized interceptor for managing
various API response errors.
- Introduced access control for specific API endpoints through blocked
and enabled route management.
- Streamlined environment-specific configurations for better
maintainability.
- Added functionalities for managing application themes, including
fetching, updating, and deleting themes.
- Introduced new API functions for retrieving consolidated page load
data for viewing and editing.
- Centralized access point for API services related to theming and
consolidated page load data.
- New modular structure for API request and response interceptors to
improve organization and maintainability.

- **Tests**
- Added unit tests for both API response and request interceptors to
ensure correct functionality and error handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-09-25 16:29:21 +05:30
Valera Melnikov
cd3472ac1d
chore: delete unused code (#36461)
## Description
The second round of deleting unused files, `.ts` were added to the
check.

[Related EE PR](https://github.com/appsmithorg/appsmith-ee/pull/5205)

## 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/10991435044>
> Commit: 7cfbcb9f9028c7cca5f06ae5a3836762e94214ec
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10991435044&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 23 Sep 2024 10:51: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

- **New Features**
- Expanded project file scope to include JavaScript files alongside
TypeScript files.
- **Bug Fixes**
- Removed obsolete functions and constants related to help, tour, and
API functionalities, improving overall code clarity and maintenance.
- **Chores**
- Deleted several unused files and constants across various components,
enhancing project organization and reducing clutter.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-23 13:52:00 +03:00
Valera Melnikov
c76e6c031c
chore:delete unused files (#36368)
## Description
I used [knip](https://knip.dev/) to identify unused files. There will be
a few more related PRs, after that I will add CI check for this.

Fixes #35778

Related EE PR https://github.com/appsmithorg/appsmith-ee/pull/5165

## 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/10940962461>
> Commit: 31749570e9a3f9e4cce250eedba4ec18aace23f9
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10940962461&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 19 Sep 2024 12:55: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
2024-09-19 16:01:03 +03:00
Ilia
d6f249b42d
chore: add blank line eslint rule (#36369)
## Description
Added ESLint rule to force blank lines between statements. 


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  -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/10924926728>
> Commit: 34f57714a1575ee04e94e03cbcaf95e57a96c86c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10924926728&attempt=1&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/Anvil/AnvilModal_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilCheckboxGroupWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilCurrencyInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilIconButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilInlineButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilParagraphWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilPhoneInputWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilStatsWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilSwitchGroupWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilSwitchWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilTableWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilToolbarButtonWidgetSnapshot_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Anvil/Widgets/AnvilZoneSectionWidgetSnapshot_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, 18 Sep 2024 16:33:36 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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

---------

Co-authored-by: Valera Melnikov <valera@appsmith.com>
2024-09-18 19:35:28 +03:00
Hetu Nandu
723ad29d7a
chore: Cleanup Redux Actions file (#35720)
## Description

Cleans out and reorganises the Redux Actions Constants file

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/10489649733>
> Commit: 9fa7003f7c2d1b43a6c693cb1d34ba5cc2c11832
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10489649733&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 21 Aug 2024 13:45:56 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **New Features**
- Introduced new interfaces for enhanced structured data handling
related to page management and property pane visibility.
- Added functionality to control widget panel visibility with a new
action.

- **Bug Fixes**
- Improved flexibility in closing property panes by adding an optional
parameter to the related function.

- **Refactor**
- Streamlined import statements for various types to improve
organization and maintainability.
- Removed unused functions and action handlers to simplify user and data
source management.
	- Updated action type constants for consistency across the application.
- Removed sagas related to URL redirection and history management,
simplifying navigation handling.

- **Chores**
- Cleaned up unused imports to reduce code clutter and improve
readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-22 09:49:30 +05:30
Diljit
e79e0ffa43
chore: Remove some logs and errors from console - 1/n (#35674)
## Description
This PR removes some of the errors and logs from the console. The
following fixes were added to this PR
- Remove the error => Refused to set unsafe header "Expect"
- Remove the aria label warnings
- Remove the logs from service worker in dev mode


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/10438062046>
> Commit: 63fbfb22f40508ab298c765c4edbba7c42a125e1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10438062046&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Sun, 18 Aug 2024 06:12: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

## Summary by CodeRabbit

- **Accessibility Improvements**
- Added `aria-label` attributes to the `StyledSearchInput` and `Label`
components for enhanced screen reader support.
- Improved the semantic structure of the `Label` component by providing
additional context for assistive technologies.

- **Performance Enhancements**
- Removed the `Expect` header from API requests to streamline the
request process.

- **Logging Adjustments**
- Disabled development logs in the service worker to enhance performance
in production environments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-18 14:48:08 +05:30
Valera Melnikov
c42e0317de
fix: change appsmith alias (#35349)
In order to unify package names, we decided to use `@appsmith` prefix as
a marker to indicate that packages belong to our codebase and that these
packages are developed internally. So that we can use this prefix, we
need to rename the alias of the same name. But since `@appsmith` is
currently being used as an alias for `ee` folder, we have to rename the
alias as the first step.

Related discussion
https://theappsmith.slack.com/archives/CPG2ZTXEY/p1722516279126329

EE PR — https://github.com/appsmithorg/appsmith-ee/pull/4801

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


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-08-06 17:52:22 +03:00
Valera Melnikov
a2bfe450b6
chore: enable no-explicit-any rule (#35321)
## Description
-  Enabled the rule `@typescript-eslint/no-explicit-any`
- Suppressed errors with comment
```
// TODO: Fix this the next time the file is edited
// eslint-disable-next-line @typescript-eslint/no-explicit-any
```

Fixes #35308 

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


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
2024-07-31 18:41:28 +03:00
Nidhi
de443104f2
chore: rm dr ce (#34765)
Co-authored-by: brayn003 <rudra@appsmith.com>
2024-07-31 08:24:51 +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
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
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
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
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
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
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
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
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
Shrikant Sharat Kandula
d86c855ef2
chore: Strict schema for datasource and action APIs (#34366)
Part of https://github.com/appsmithorg/appsmith/pull/33724. This is an
effort to harden the server in terms of what request payloads are
acceptable.

**/test all**





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

## Summary by CodeRabbit

- **New Features**
- Enhanced API request payload handling for creating actions to include
additional properties, improving data integrity and server-side
validation.

- **Improvements**
- Refined data manipulation and payload structures in datasource-related
API requests for better compatibility with server requirements.

<!-- end of auto-generated comment: release notes by coderabbit.ai
--><!-- This is an auto-generated comment: Cypress test results -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9626214547>
> Commit: fe5db45aeb916b176aec3ded06f1a9da1bf08898
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9626214547&attempt=2&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/Widgets/RTE/RichTextEditor3_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_1_spec.js
>
<li>cypress/e2e/Regression/ClientSide/Widgets/RTE/RichTextEditor_2_spec.js
</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.

<!-- end of auto-generated comment: Cypress test results  -->
2024-06-24 17:17:23 +05:30
Diljit
4cb6ff03f9
chore: Prefetch module apis in service worker (#34003)
## Description
This PR has the following changes
- Modify the prefetch api cache strategy to handle multiple prefetch
requests.
- Convert the service worker files from js to ts
- Code splitting of CE and EE for service worker utils to handle EE
specific changes
- Jest test cases for the updated logic


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

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





















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


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

- **New Features**
- Enhanced API request handling with new utility functions and caching
strategies for service worker operations.
- Updated service worker configuration to TypeScript for improved type
safety and maintainability.
- Added type definitions for `node-fetch` to support new service worker
functionalities.

- **Refactor**
- Consolidated `view` and `edit` endpoint URL construction in
`ConsolidatedPageLoadApi` for better code maintainability.

- **Chores**
- Updated dependencies in `package.json` for better development
experience and compatibility.
- Added tests for new service worker utility functions to ensure
reliability and correctness.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-14 16:30:23 +05:30
Manish Kumar
bf92a52f5a
chore: autocommit feature branch (#34062)
## Description
The changes are related to the "auto-commit" migration feature.
**Server changes**
- Fixed issue with concurrent git calls for the same repo
- Trigger issues with auto-commit

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


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

## Automation

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

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

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













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


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

- **New Features**
- Introduced enhanced Git autocommit functionality with improved error
handling and progress tracking.
- Added new autocommit actions and state management for better
synchronization.

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

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

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

---------

Co-authored-by: brayn003 <rudra@appsmith.com>
2024-06-10 12:35:23 +05:30
Shrikant Sharat Kandula
4a317603fe
chore: Remove unused eventData (#33730)
For action creation, client sends this in `eventData` field of the
request body:

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

But the class defined for `eventData` is this:

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

Clearly isn't used, or working.


/test sanity datasource

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

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

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-28 09:50:12 +05:30
Shrikant Sharat Kandula
996db1cc37
chore: Remove unexpected fields in action update payload (#33731)
For action update API, client is sending in some fields that the server
isn't expecting. As part of tightening what the server accepts in APIs
for better security testing, this PR removes these unexpected fields,
and sends only what the server knows about, and expects.

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

<!-- end of auto-generated comment: Cypress test results  -->
2024-05-27 12:37:18 +05:30
Shrikant Sharat Kandula
bba0ecb112
chore: Remove blockNavigation in Page create API body (#32859)
1. The `blockNavigation` parameter in request body isn't being used, so
removing it.
2. We're sending the page `id` in both the URL path as well as the
request body. This is confusing, and may lead to a security regression
in the future. Removing it from the body.

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

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

## Summary by CodeRabbit

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

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

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

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-25 21:31:51 +05:30
Jacques Ikot
0118051301
feat: implement dropping building blocks on canvas (#31857)
## Description
> [!TIP]  
**Goal**
To drag any building blocks from the explorer and drop at any position
on the users canvas with full implementation.

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

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

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

Fixes #31856
## Automation

/ok-to-test tags="@tag.Templates, @tag.MainContainer, @tag.Visual,
@tag.Widget"

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

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















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

- **New Features**
- Introduced a new "Building Blocks" category in the widget sidebar for
enhanced organization and accessibility.
- Added functionality to resize building blocks with new horizontal and
vertical limits.
- Implemented a "see more" button for "Building Blocks" to display all
associated widgets.
- Enhanced drag and drop functionality for building blocks on the
canvas.

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

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

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

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

---------

Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Rahul Barwal <rahul.barwal@appsmith.com>
2024-04-16 09:41:09 +01:00
Shrikant Sharat Kandula
1eb7f0e171
chore: Remove "Save theme" functionality (#31481)
This is deleting a defunct feature.

[Slack
thread](https://theappsmith.slack.com/archives/CGBPVEJ5C/p1709621165627549).
2024-03-12 18:54:39 +05:30
Nilesh Sarupriya
53f355a830
chore: change saas authentication to context based (#31064)
## Description
> Add context based authentication instead of being bounded by page.

#### PR fixes following issue(s)
Fixes # (issue number)
> if no issue exists, please create an issue and ask the maintainers
about this first
>
>
#### Media
> N/A

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

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

#### Test Plan
> N/A

#### Issues raised during DP testing
> N/A

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


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


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

- **New Features**
- Enhanced request handling for Appsmith tokens with additional
parameters for broader context.
    - Streamlined integration processes with new data transfer objects.
- **Refactor**
- Consolidated integration functionalities for improved code
reusability.
    - Optimized authentication process with updated method signatures.
- **Documentation**
- Updates in user and developer interactions with the API, focusing on
token requests and integrations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
Co-authored-by: Ayush Pahwa <ayushpahwa96@gmail.com>
2024-03-07 15:36:31 +05:30
Ayush Pahwa
0a5255c5dd
feat: workflow queries/actions rename code split (#31300)
## Description
This PR is code split PR for allowing rename of queries, actions and
apis for workflows editor. This PR introduces update in the type of the
query rename payload API.

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

#### Type of change

- Bug fix (non-breaking change which fixes an issue)
2024-03-05 10:28:34 +05:30
Nilesh Sarupriya
c267965090
chore: refactor curl import API to support context type (#30934)
## Description

Support curl imports for different contexts. 

### Server changes

Previous API: 

`/api/v1/import?type=CURL&pageId={pageId}&name=Api2&workspaceId={workspaceId}`

New API: 
With context type, it will create for the specific context.

`/api/v1/import?type=CURL&contextId={contextId}&name=Api1&workspaceId={workspaceId}&contextType={contextType}`

Without context type, it will create for the page.

`/api/v1/import?type=CURL&contextId={contextId}&name=Api1&workspaceId={workspaceId}`

### Client changes
- Integrate api changes for curl import. Updated request params type and
interfaces for the saga functions
- Updated the form value types for the curl import editor



#### PR fixes following issue(s)
Fixes [[Task]: Curl Import isn't
working.](https://github.com/appsmithorg/appsmith/issues/30933)

#### Media
> N/A

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

## Testing
>
#### How Has This Been Tested?
- [x] Manual (using postman)
- [x] JUnit (existing test cases should work)

#### Test Plan
> N/A

#### Issues raised during DP testing
> None

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


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced API import functionality with a new context-aware mechanism,
allowing for more flexible integration within different parts of the
application.
- Updated various components and services to support the new contextId
and contextType parameters for improved data handling and redirection
logic.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
Co-authored-by: Ayush Pahwa <ayushpahwa96@gmail.com>
2024-02-14 12:18:30 +05:30
Rudraprasad Das
5c74768afc
chore: remove git release feature flags (#30962)
## Description
Removes git related feature flags
- `release_git_connct_v2_enabled`
- `release_git_status_lite_enabled`

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

#### Media

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


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


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

- **New Features**
- Enhanced Git synchronization features including better handling of
workspace creation, DSL additions, and branch protection settings.
- **Refactor**
- Updated Git connection methods and deployment processes for improved
efficiency and reliability.
- Introduced new variables and methods for more precise control over Git
settings and operations.
- **Tests**
- Added and refactored Cypress end-to-end tests to validate new Git
functionalities and synchronization processes.
- **Style**
- Updated components to include `data-testId` attributes for improved
testability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-02-09 10:22:47 +05:30
Nirmal Sarswat
479f9132bd
feat: Add knowledge retrieval in Appsmith AI (#30725)
## Description
Frontend Changes
- Remove Appsmith AI Query as a default datasource query
- Add Appsmith AI Datasource in the AI section of Datasources screen
- ~~Creation of Appsmith AI datasource to mimic the mock datasource
flow. This was necessary because we are using a trigger in the
datasource edit form and inorder for the trigger to function the
datasource needs to be created before the trigger call.~~ (We are using
the plugin trigger to upload files and hence this change is not required
anymore)
- Add a new Form control element to support multiple file uploads. The
multiple file upload control type can either upload the files to the
trigger end point (multipart-form trigger api) or save the files as
base64 string in the datasource configuration. If the files are uploaded
in the trigger, only the file metadata (name, size, mimeType and id) is
saved in the datasource configuration.
- Fix a bug in Dropdown control. This fix makes sure that the options
that are disabled as infact disabled on the UI.
- Add preview for the new Multi file picker control type.

Backend Changes
- Add a new trigger end point for datasource to support multipart form
data
- Add trigger for Appsmith AI datasource to upload files during
datasource creation/edit flow
- Associate the file ids with the datasourceId in AI Node server
- Add Knowledge retrieval implementation in text generation action for
Appsmith AI datasource
- Add form.json for Appsmith AI Datasource
- Add a fetch files trigger for populating the files in the Text
generate action.

#### Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
>
>
#### Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update
>
>
>
## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] Manual
- [ ] JUnit
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## Checklist:
#### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


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


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

- **New Features**
- Introduced a multiple file picker control for users to select and
upload multiple files with options for file types and size limits.
- Added new AI Query functionality with enhanced file upload
capabilities, including timeout settings.
- Enhanced datasource editor to display the number of uploaded files or
a message if no files are uploaded.
- **Bug Fixes**
- Simplified the logic for showing the datasource selector by removing
specific conditions related to the Appsmith AI Plugin.
- **Refactor**
- Removed unused imports and functionalities related to Appsmith AI
across various components.
- Updated plugin handling to dynamically determine button text based on
plugin type.
- **Chores**
- Implemented backend support for file upload and association with
datasources and workspaces.
- Added new utility functions and DTOs for handling file uploads and AI
plugin interactions.
- **Documentation**
	- No visible changes to end-users.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Diljit VJ <diljit@appsmith.com>
2024-02-05 17:15:45 +05:30
Hetu Nandu
545873c265
chore: Update Query view for side by side (#30655)
Updates view of Query / Api and JS to not show the header and right side
panels in side by side view

fixes: #30658

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

- **New Features**
- Introduced a compact query editor interface for specific action types.
- Added conditional rendering in various components based on the
`isSideBySideEnabled` feature flag.
- Launched new components for enhanced query editor functionalities,
including `QueryEditorCompact`, `FormRender`, `QueryEditorHeader`.

- **Enhancements**
- Updated selector functions to filter out falsy values, improving data
quality.
- Refined UI and functionality in the API and JS editors, focusing on
user experience.

- **Refactor**
- Removed unused imports and variables, streamlined component
structures, and updated UI component placements for clarity and
efficiency.
- Optimized form rendering logic and action execution handling in the
query editor.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-31 10:37:40 +05:30
Ankit Srivastava
a45dcfa61f
feat: Homepage experience v2 changes (#29282)
> Pull Request Template
>
> Use this template to quickly create a well written pull request.
Delete all quotes before creating the pull request.
>
## Description
> Add a TL;DR when description is extra long (helps content team)
>
> Please include a summary of the changes and which issue has been
fixed. Please also include relevant motivation
> and context. List any dependencies that are required for this change
>
> Links to Notion, Figma or any other documents that might be relevant
to the PR
>
>
#### PR fixes following issue(s)
Fixes # (issue number)
> if no issue exists, please create an issue and ask the maintainers
about this first
>
>
#### Media
> A video or a GIF is preferred. when using Loom, don’t embed because it
looks like it’s a GIF. instead, just link to the video
>
>
#### Type of change
> Please delete options that are not relevant.
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- Chore (housekeeping or task changes that don't impact user perception)
- This change requires a documentation update
>
>
>
## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] Manual
- [ ] JUnit
- [ ] Jest
- [ ] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## Checklist:
#### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


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


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

- **New Features**
    - Added new workspace search functionality in the search bar.
    - Introduced a help button for user assistance.
- Implemented new UI components for workspace selection and management.
    - Enhanced application card with edit permission checks.
- Integrated workspace actions for creating and fetching workspaces
directly from the UI.

- **Improvements**
    - Improved workspace and application fetching logic.
    - Enhanced Global Search with updated import paths and logic.
- Refined the layout and styling of the applications page and sub-header
components.
- Optimized workspace-related sagas and reducers for better performance
and maintainability.

- **Bug Fixes**
- Fixed tooltip functionality in "Reconnect Datasources" within
templates.
    - Corrected test logic for forking templates and applications.
    - Updated Cypress test commands for consistency and reliability.
- Addressed issues with application URL test cases and workspace import
logic.

- **Documentation**
- Updated messages and constants related to workspace and application UI
elements for clearer user communication.

- **Chores**
- Cleaned up unused code and simplified selectors across various
components and tests.
- Refactored application and workspace selectors for improved code
organization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Dipyaman Biswas <dipyaman@appsmith.com>
Co-authored-by: Abhijeet <abhi.nagarnaik@gmail.com>
Co-authored-by: Nidhi <nidhi@appsmith.com>
Co-authored-by: Goutham Pratapa <goutham@appsmith.com>
Co-authored-by: Ankita Kinger <ankita@appsmith.com>
Co-authored-by: albinAppsmith <87797149+albinAppsmith@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
Co-authored-by: Nayan <nayan@appsmith.com>
Co-authored-by: Rishabh Rathod <rishabh.rathod@appsmith.com>
2024-01-25 19:11:48 +05:30
Vemparala Surya Vamsi
ad68825818
feat: Frontend changes for consolidated-api with EE test case support (#30506) 2024-01-24 12:14:16 +05:30
Shrikant Sharat Kandula
92993cccef
chore: Remove unused services (#30292)
I've been doing this in pieces bit by bit, not to rock the boat too much
too fast, but it's taking too long, and too much effort. Instead opting
for a rip-the-bandaid style, hopefully without the pain.
2024-01-23 05:43:16 +05:30
Ayush Pahwa
3a65d5a4ea
feat: workflows query in apps code split (#30424) 2024-01-22 19:50:22 +07:00
Vemparala Surya Vamsi
8bb61d996a
chore: reverted consolidated api (#30314)
## Description
Reverted consolidated api changes and also some CE related changes to
make it compatible with EE.
#### PR fixes following issue(s)
Reverts  #29650 & #29939

#### Type of change

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


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


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

## Summary by CodeRabbit

- **Refactor**
- Enhanced the reliability and efficiency of Cypress e2e tests by
adjusting wait conditions and assertions.
	- Simplified network request handling across various test cases.
- Updated test logic to align with changes in application data structure
and network requests.

- **Tests**
- Improved test stability for application import/export, Git sync, page
load behavior, and widget interactions.
- Refined mobile responsiveness tests to accurately validate layout
conversions and autofill behaviors.

- **Chores**
- Removed deprecated feature flags and code related to consolidated page
load functionality.
- Cleaned up unused parameters and simplified action payloads in Redux
actions.

- **Documentation**
	- Updated comments for clarity in test specifications.

- **Style**
	- Adjusted code styling for consistency across test suites.

- **Bug Fixes**
- Fixed data retrieval logic in tests to ensure correct data extraction
from API responses.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-16 10:16:48 +05:30
Vemparala Surya Vamsi
96701c343d
feat: Frontend changes for consolidated-api (#29933)
## Description
Our objective in this pr is to improve the page load time of our
application by calling a consolidated-api which contains all the
resources to load our pages. This PR contains all the client side
changes to call the consolidated-api as well as feature flag related
changes.
Fixes #29650 & #29939
#### Type of change
- Chore (housekeeping or task changes that don't impact user perception)
## Testing
>
#### How Has This Been Tested?
- [x] Manual
- [ ] JUnit
- [ ] Jest
- [x] Cypress
>
>
#### Test Plan
> Add Testsmith test cases links that relate to this PR
>
>
#### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
>
>
>
## Checklist:
#### Dev activity
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [x] PR is being merged under a feature flag


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


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

- **Refactor**
- Updated network request aliases and response handling in end-to-end
tests.
- **New Features**
- Introduced a new API class `ConsolidatedPageLoadApi` for fetching
consolidated page load data.
- **Tests**
	- Enhanced testing for application URL navigation and data retrieval.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-01-15 10:00:29 +05:30
Ankita Kinger
410a55cf3c
fix: Refactoring code to fix a couple of issues related to modules on EE (#29843)
## Description

Refactoring code to fix a couple of issues related to modules on EE

#### PR fixes following issue(s)
Fixes [#29842](https://github.com/appsmithorg/appsmith/issues/29842)
[#29445](https://github.com/appsmithorg/appsmith/issues/29445)

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

## Testing

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

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


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


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

## Summary by CodeRabbit

- **New Features**
  - Introduced a new interface for improved action context handling.
  - Added functionality to create API actions based on the editor type.
- Implemented a new hook for retrieving parent entity information in the
datasource editor.

- **Refactor**
- Updated various components to utilize the new
`ActionParentEntityTypeInterface`.
  - Enhanced reducer logic for better handling of action configurations.
  - Streamlined entity exports and imports for consistency.

- **Bug Fixes**
- Fixed redirection logic in the Datasource Blank State component for a
smoother user experience.

- **Chores**
  - Removed unused event listeners from sagas to optimize performance.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-26 11:38:00 +05:30
Rudraprasad Das
8ce2521919
feat: autocommit UI integration (#29755)
## Description
- Integrates auto-commit UI with server
- Adds analytics

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

#### Media
<img width="1728" alt="image"
src="https://github.com/appsmithorg/appsmith/assets/8724051/a463794b-254d-4090-92b2-0a45a5645a3d">

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


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


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

- **New Features**
  - Implemented auto-commit toggling for Git synchronization.
  - Introduced progress polling for auto-commit operations.
  - Added retrieval of Git metadata to enhance user experience.

- **Enhancements**
- Improved user feedback with success toasts for enabling/disabling
auto-commit.
- Streamlined Git-related analytics with new event tracking for
auto-commit actions.

- **User Interface**
- Updated Git settings UI to reflect the new auto-commit feature and its
status.

- **Bug Fixes**
  - Resolved issues with incorrect Git metadata display.
  - Fixed inconsistencies in auto-commit state management.

- **Refactor**
  - Refactored Git Sync state management for clarity and efficiency.
- Optimized Git-related selectors for better performance and
reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2023-12-22 16:36:54 +05:30