Commit Graph

717 Commits

Author SHA1 Message Date
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
Rishabh Rathod
00981e339b
fix: remove redundant eval trigger (#36764)
Fixes #36237

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


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


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

## Summary by CodeRabbit

## Release Notes

- **New Features**
- Introduced new action types for fetching published page resources,
enhancing state management during the fetch process.
- Streamlined the resource-fetching logic in the AppViewer component for
improved efficiency.

- **Bug Fixes**
- Updated action handlers to accurately reflect the fetching state for
published page resources.

- **Refactor**
- Simplified parameters for several functions related to page setup and
fetching, promoting better clarity and maintainability.

- **Tests**
- Adjusted test cases to align with the updated action payload structure
for fetching published pages.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-10 16:32:53 +05:30
Rishabh Rathod
b582098406
fix: Revert "fix the gitSync related issue" (#36658) 2024-10-03 06:32:50 +05:30
Rishabh Rathod
f49cf0a219
fix: remove redundant eval trigger (#36433)
## Description

We removed the fetchPublishedPage action from the page switch flow in
App Viewer as the consolidated API now loads the migratedDSL.
- PageSaga code was refactored to make sure the `postFetchPublishedPage`
logic is common for both the init and switch page to ease maintenance.

Fixes #36237 

## 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/11132731783>
> Commit: 026ef4e704ce878be75446d470eef1af842aff39
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11132731783&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 01 Oct 2024 21:32:17 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced handling of page fetching with the addition of new action
types for managing published page resources.
- Introduced new functions to streamline canvas layout updates and
post-fetch processes.

- **Bug Fixes**
- Resolved issues related to fetching published page resources and
improved error handling.

- **Refactor**
- Simplified the logic in the `PageSagas` for better organization and
reduced code duplication.
- Improved the control flow in the `AppViewer` component for fetching
page resources.

- **Tests**
- Updated tests to reflect changes in action payload structures and new
action types.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-02 13:27:44 +05:30
Abhishek Pandey
37c2cf5afb
fix: clicking on + in list view does not create a new query (#36467)
## Description
This change adds a new state in ideReducer 'isListViewActive' to verify
the active status of the list view on split screen mode. I am updating
isListViewActive state to false when we click on `+` icon and are
already in QUERY_ADD mode, to close the list view and switch back to the
new query tab.

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

## Automation

/ok-to-test tags=""

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

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


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


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

- **New Features**
- Introduced a new action to manage the active state of the list view,
enhancing user interface control.
	- Added a selector to retrieve the current state of the list view.

- **Improvements**
- Updated the `useQueryAdd` and `useJSAdd` hooks to respond to the IDE's
view mode, improving functionality when adding queries.
- Shifted state management for the list view from local to global,
ensuring consistent visibility across the application.

- **Bug Fixes**
- Enhanced responsiveness of the list view based on the current
interface state.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-30 16:24:59 +05:30
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
Apeksha Bhosale
59e2daf96d
fix: 503 error recovery (#36252)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


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

## Automation

/ok-to-test tags="@tag.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/10813708552>
> Commit: 241c5b4d4e4f9d3ffa195ce2ee5cb475c7a2244c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10813708552&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 11 Sep 2024 16:07:37 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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


- **New Features**
- Enhanced error handling for tenant configuration actions, allowing
successful fetch or update operations to clear relevant errors from the
state.
  
- **Bug Fixes**
- Improved robustness of state management by resetting errors upon
successful tenant configuration actions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-12 11:58:33 +05:30
sneha122
322c05ec46
chore: updated actions fetch logic for consolidated view api (#36096)
## Description
This PR introduces a couple of improvements to the actions part of the
consolidated view API.
- With current implementation, we call consolidated view API only once
during page load and fetch all of the resources at once. This can be a
problem for a heavy app which has more than 500 actions, in this case
fetching all published actions takes a sizeable amount of time. This PR
introduces an improvement where we don't fetch all actions of an
application at once, instead we fetch all actions of the current page
and whenever user switches to different page, we call the consolidated
view API again to fetch actions of the switched page. This way we can
reduce the time taken by consolidated view API's action part performant
by 5-10x.

- With this new implementation, we use the basePageId passed to the
consolidated view API and use that to fetch actions belonging to a page,
there are two possibilities here:
- If the app is not connected, basePageId can be used directly to fetch
actions of a page
- If app is git connected, first we need to fetch the pageId based on
basePageId and branchName, then use that pageId to fetch actions
belonging to the current page and branch name.


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/10722112357>
> Commit: a725de6d3b82c6aaf8094e8962109635e7cb2a2b
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10722112357&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 05 Sep 2024 15:19:53 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**
- Introduced functionality to fetch actions specifically for pages,
enhancing action management.
- Improved action retrieval logic to focus on page-specific actions,
streamlining user experience.
- Added a new saga for fetching published page resources, enhancing data
management capabilities.

- **Bug Fixes**
- Enhanced error handling for action fetching to ensure better user
feedback during failures.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-09-06 13:19:08 +05:30
Hetu Nandu
65eb8546f4
fix: Fall of the error toasts wall (#35839) 2024-09-05 11:06:43 +05:30
Ilia
bd8c0de7b9
feat: add select widget (#35849)
## Description


https://github.com/user-attachments/assets/7516bcd8-7746-485a-a49d-bd19b22833d0




Fixes #35824

> [!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/10663955895>
> Commit: 58d40f7826f125778734f5fda93499e3b78dfcfa
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10663955895&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 02 Sep 2024 10:15:26 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- Introduced the `WDSSelectWidget`, enhancing widget options within the
application.
- Added configuration files to support autocomplete, validation, and
property management for the new select widget.
- Added new icons and thumbnails for input fields, improving UI
component availability.

- **Improvements**
  - Streamlined the `Select` component for better usability and clarity.
- Enhanced type definitions for better type safety and clarity in widget
configuration.
- Improved SVG structures for icons and thumbnails, enhancing visual
representation.
- Adjusted styles for the `Select` component, ensuring consistent sizing
and improved icon alignment.

- **Documentation**
- Added central export for configuration modules, simplifying access to
widget settings.
- Updated stories to include new icons and thumbnails, enriching
documentation resources.

- **Bug Fixes**
- Improved validation logic for default options and custom options to
ensure data integrity.

- **Chores**
- Reorganized import statements for better readability and
maintainability across widget files.
  - Updated TypeScript configuration for improved module handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: vadim <vadim@appsmith.com>
Co-authored-by: Pawan Kumar <pawankumar@Pawans-MacBook-Pro-2.local>
2024-09-02 12:30:23 +02:00
Vemparala Surya Vamsi
7cdee526c9
chore: adding telemetry for klona (#35918)
## Description
Klona operations are generally expensive, for that reason we will be
tracking the performance of all klonas in the main thread.

## 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/10608431935>
> Commit: cab2716f74f3747d3df64342f4d7f4972358a3e6
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10608431935&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 29 Aug 2024 06:26:43 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**
- Introduced telemetry tracking for cloning operations across various
components, enhancing performance monitoring and debugging capabilities.

- **Bug Fixes**
- Improved observability of cloning operations, aiding in identifying
potential performance bottlenecks.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-29 12:35:48 +05:30
Rudraprasad Das
4d7db9e70c
chore: Revert "fix: Add mode property to forkApplicationSaga" (#35873)
## Description
Reverts https://github.com/appsmithorg/appsmith/pull/35841

## 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/10555144301>
> Commit: f01f27d5b79a3b99b619e39816d6660e8dbc2ba7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10555144301&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 26 Aug 2024 08:05:27 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2024-08-26 16:30:00 +08:00
Rahul Barwal
bac1350af4
fix: Add mode property to forkApplicationSaga (#35841)
## Description
This pull request adds the `mode` property to the `forkApplicationSaga`
function in the `ApplicationSagas.tsx` file.

The `mode` property is set to `APP_MODE.EDIT`, allowing for better
control and customization of the application editing mode.

Fixes #35835
_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.Fork"

### 🔍 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/10507731953>
> Commit: eba9176ad4d7696bd8b1095bd302831084dc5cce
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10507731953&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Fork`
> Spec:
> <hr>Thu, 22 Aug 2024 12:33: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


- **New Features**
- Enhanced the application forking functionality by introducing an edit
mode, allowing for more flexible handling of different operational
states during the forking process.
- Improved state management in the page list by adding properties for
tracking the current page and base page ID, enhancing user interaction
with the page list.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-23 12:26:41 +05:30
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
Valera Melnikov
b7ec5dacd8
chore: rename old ADS package (#35517)
## Description
Rename package `design-system-old` to `@appsmith/ads-old`.

## 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/10286195096>
> Commit: c0d478694b12f35b88687b6dae6f252967fba540
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10286195096&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/BugTests/DatasourceSchema_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, 07 Aug 2024 15:26: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
2024-08-08 15:55:00 +03:00
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
Alex
752582c160
perf: optimize canvas resizing for fixed layout (#35257)
## Description
In this PR canvas resizing hook was refactored, many unnecessary effects
were removed leaving the bare minimum.

Fixes #34741

## 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/10155774784>
> Commit: 1900e8b429151d160e20712b6aca962f3a0e33ec
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10155774784&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 30 Jul 2024 05:37:38 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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


- **New Features**
- Introduced a new constant for resize debouncing to optimize UI
performance.
- Added a custom hook to automatically resize canvas elements based on
container dimensions.

- **Enhancements**
- Improved responsiveness of the app layout with better width management
for canvas elements.
- Enhanced structure and readability of components through destructuring
props.

- **Bug Fixes**
- Updated logic in the main canvas reducer to prevent unnecessary state
updates after initialization.

- **Tests**
- Updated tests to reflect changes in hooks focusing on canvas width
auto-resizing.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-30 11:50:47 +03:00
Ashit Rath
213249a627
fix: auto redirect from datasource page to module editor (#35164)
## Description
When create datasource is initiated from the API editor by clicking
"Save as datasource", it fixes the redirection back to the API editor
when `Save` is clicked for modules in package editor.

This PR also refactors the usage of typing of `actionRouteInfo` and
introduces `parentEntityId` instead of using `pageId`, `moduleId`,
`workflowId` separately.

This fix also verifies the sanity of
1. API  in apps
2. API in workflows

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

## Automation

/ok-to-test tags="@tag.Datasource,@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/10093685845>
> Commit: 785cbe3a0a42fad2f2ca1d7fb76010eb00505343
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10093685845&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource,@tag.Sanity`
> Spec:
> <hr>Thu, 25 Jul 2024 12:39:50 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 function to retrieve the current module ID, enhancing
state management.
- Added support for handling `parentEntityId` in various data source
sagas.

- **Bug Fixes**
	- Improved type safety for action handling in sagas.

- **Tests**
- Added a new test suite for the `handleDatasourceCreatedSaga` to
validate its behavior upon datasource creation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-25 18:51:20 +05:30
albinAppsmith
4a28cbb788
fix: Saving status being stuck while moving between applications (#35145)
## Description

This PR added state reset for loading statuses.


Fixes #35108

## 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/10090010865>
> Commit: 654d8f618bbb21105e2e5ea970bbc40faf62a3f3
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10090010865&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 25 Jul 2024 08:28:22 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 mechanism to reset the saving state of the editor across
multiple Redux reducers, enhancing state management during user
interactions.
- Added explicit tracking for loading states within the editor reducer
to improve UI feedback during saving operations.
  
- **Bug Fixes**
- Corrected handling of the `RESET_EDITOR_REQUEST` action to ensure
appropriate state resets across various reducers, improving overall
application responsiveness.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-25 14:33:54 +05:30
Hetu Nandu
cdd33a846f
feat: cURL import now happens via a modal (#34830)
## Description

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

Fixes #32942

## Automation

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

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


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


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

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

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

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

- **Chores**
- Removed unused constants and functions related to CURL import page
paths across multiple files for cleaner codebase.
- Streamlined the management of the CURL import modal state in the
reducer and added relevant selectors.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-07-10 14:22:39 +05:30
Alex
138fc6a148
feat: side-by-side edit mode hover analytics (#34185)
## Description
The purpose of this PR is to collect data about hovered canvas and
widgets and send it to analytics platform.

Fixes #33159

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

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












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


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

- **New Features**
- Introduced analytics tracking for side-by-side hover actions in the
IDE canvas.
- Added a new `AnalyticsWrapper` component for handling analytics events
within layout systems.
- Implemented a custom hook `useIsInSideBySideEditor` to check for
side-by-side editor mode.
  - Added new CSS styles for layout systems.

- **Bug Fixes**
- Improved handling of widget hover events and analytics tracking in
side-by-side editor mode.

- **Refactor**
- Refactored logic for determining the current entity info and segment
state in the IDE.
  - Updated import paths and reordered imports for better organization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-20 14:03:06 +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
Rahul Barwal
c72433dd69
fix: remove building blocks on canvas (#33761)
## Description
Removes building blocks on canvas feature.

Fixes #33756
_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/9312996633>
> Commit: f8059ccad5bc6e6297b935d26687b330a373cde8
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9312996633&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
- [x] No
2024-05-31 11:22:34 +05:30
Diljit
b6c506dea5
fix: Show loading state of application until all jsobject update calls are complete (#33545) 2024-05-24 11:49:29 +05:30
Ashok Kumar M
0767a37a3a
feat: use zone elevatedBackground evaluated values and upgrade space distribution ux of borderless zones. (#33527)
[![workerB](https://img.shields.io/endpoint?url=https%3A%2F%2Fworkerb.linearb.io%2Fv2%2Fbadge%2Fprivate%2FU2FsdGVkX1QS4I0hOoNK4mMZphl6PrKO7OoqLeQrQ%2Fcollaboration.svg%3FcacheSeconds%3D60)](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=C6p2w9c)
## Description
In this PR we are making sure the evaluated values of
elevatedBackground(prop that indicates if a section or zone if elevated)
is used instead of the unevaluated value used so far.

For this we will need to refer to siblings as well, so fetching the data
tree state and iterating to find all siblings is going to be
underperformant.
Hence, creating a context for the editor alone which will collect all
sections and zones current evaluated elevated background.

This context will be accessed by `useAnvilDnDListenerStates` and
`useAnvilDnDCompensators` to decide compensators for a zone and section.

We have also enhanced space distribution UX.
- during explicit ditribution(distribution via the handler inbetween
zones on the canvas) all on canvas ui borders are not displayed except
for zones that have switched off visual separation and at the start of
the action we select the section widget.
- during implicit distribution(distribution via the handler in the
property pane)
- of section, the ux on the canvas remains the same, once the action is
done the section widget is still selected.
- of zone, the ux on the canvas remains the same, once the action is
done the zone widget remains selected.


Fixes #33369
Fixes #33212

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

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/9172567552>
> Commit: 40a6bcae2d45e9f7791730108b772b679ad610b0
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9172567552&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
2024-05-21 15:39:09 +05:30
Hetu Nandu
0a58544fc5
fix: The case of the missing tabs (#33066)
## Description

Solves scenarios where open tabs data was lost on page switches

Fixes #33032
Change the data structure of the tabs to now keep account different tabs
for each page instead of just one page at a time. Also removed tabs
state for focus retention.

Fixes #33045
Handles removing and navigating post move of JS and Queries to avoid
being in a bad state


## 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/9000257489>
> Commit: b39c8d7cca16ea739457f277290c29317317cef3
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9000257489&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
- [x] No
2024-05-08 22:57:27 +05:30
Ashok Kumar M
e15d397880
feat: Anvil Drag Preview (#33133)
[![workerB](https://img.shields.io/endpoint?url=https%3A%2F%2Fworkerb.linearb.io%2Fv2%2Fbadge%2Fprivate%2FU2FsdGVkX1Mf66R4YkViqpQxc3dTDfaePYF6RdJhU%2Fcollaboration.svg%3FcacheSeconds%3D60)](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=KM8Kb9h)
## Description

Adding Drag preview
- Creating a portal and using widget cards to depict a widget.
- Add Widget count when multiple widgets are being dragged.


Fixes #32141
_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/8940635667>
> Commit: 3dc5ec3ee262c03268a89e1f789456ed145e100c
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8940635667&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
- [x] No

---------

Co-authored-by: Abhinav Jha <abhinav@appsmith.com>
2024-05-03 21:15:24 +05:30
Rahul Barwal
7c4034308b
fix: starter building blocks on canvas removes existing queries and JS objects (#32629)
## Description
<ins>Root cause: </ins>
The original intention of the building blocks on canvas was to serve a
new user on their very first app.
Looking at (good) usage of this feature, we turned it on for all pages
on all apps.
Now, an experienced user don't always start with UI and thats when we
hit this issue.

Additionally, this was a tech debt we had to repay and this PR takes
that opportunity to get rid of hack of using `add a page from template`
for this feature and uses proper PIE based API to support his.

Fixes #32573
_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.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/8797225643>
> Commit: 5f7f0fd094284faf67338412a57ef4757eb70af8
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8797225643&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 functionality for importing starter building blocks into
applications, including layout positioning and action triggers upon
successful import.
- Added new actions and selectors in Redux for managing current forking
building block names.

- **Refactor**
- Updated the handling of template names and constants for better
consistency and use within the app.
- Simplified event handling and variable naming in several components
for improved code clarity and performance.

- **Bug Fixes**
- Adjusted analytics and event data handling to ensure accurate tracking
and functionality.

- **Tests**
- Updated Cypress E2E tests to reflect changes in functionality and
removed outdated test cases.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-23 16:05:19 +05:30
Jacques Ikot
60d45ea6ff
feat: add analytics for drag and drop building blocks (#32699)
## Description
> [!TIP]  
Add events to track the dragging of building blocks, dropping of blocks,
and the time taken from drag till drop is complete.

**Drag Event**
```
AnalyticsUtil.logEvent("DRAG_BUILDING_BLOCK_INITIATED", {
        applicationId,
        workspaceId,
        source: "explorer",
        eventData: {
          buildingBlockName: props.details.displayName,
        },
      });
```

**Drop Event**
```
AnalyticsUtil.logEvent("DROP_BUILDING_BLOCK_INITIATED", {
        applicationId,
        workspaceId,
        source: "explorer",
        eventData: {
          buildingBlockName: props.details.displayName,
        },
      });

AnalyticsUtil.logEvent("DROP_BUILDING_BLOCK_COMPLETED", {
        applicationId,
        workspaceId,
        source: "explorer",
        eventData: {
          buildingBlockName: dragDetails.newWidget.displayName,
          timeTakenToCompletion: timeTakenTo CompleteValueInSeconds,
          timeTakenToDropWidgets: timeTakenValueInSeconds
        },
      });
```

Fixes #32492  

## 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/8785306375>
> Commit: 8316506b039256ad6d171a3a81ddaec56cecdfc2
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8785306375&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 analytics tracking for building block drag-and-drop
operations.
- Enhanced functionality for adding and managing building blocks within
the application.
- **Refactor**
- Updated action type constants for better consistency in handling
building block operations.
- **Bug Fixes**
- Improved logic for setting the start time of building block drag
operations to ensure accurate tracking.
<!-- 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-22 15:58:37 +01:00
Shrikant Sharat Kandula
9649d8561c
chore: Remove unneeded fields in snapshot response body (#32813)
These extra fields don't hold much semantic value, and are completely
ignored by the client. This PR removes them and only keeps the one field
that's used by the client.


/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/8755978321>
> Commit: 9b680799db0d30fb56c908f02260abbb4b590ac3
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8755978321&attempt=2"
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

- **Refactor**
- Improved consistency in naming conventions related to snapshot details
across the platform.
- Enhanced data handling in snapshot fetching and updating processes for
better performance.
- Streamlined snapshot-related data structures and service responses to
focus on relevant information.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-22 08:08:45 +05:30
albinAppsmith
5a671807a3
feat: revamped logic for tabs removal and action/JS deletion (#32690)
## Description

This PR has changed the logic of next item selection after deleting an
item or removing a tab.
The new logic is
1. If there is no more tabs left after removal of current item, navigate
to first item from all items list
2. If all items list is empty, navigate to add
3. If the removed tab is not currently selected, no redirection required
just close the tab
4. If removed tab is in 0th position, redirect to current tab + 1
5. if removed tab is not in 0th position, redirect to tab - 1

Fixes #32634  

## Automation

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

### 🔍 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/8748435770>
> Commit: e3e9b51cc9a708fadf4d1b9f0e426b63e9f3c10a
> Cypress dashboard: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8748435770&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank"> Click here!</a>
> The following are new failures, please fix them before merging the PR:
<ol>
> <li>cypress/e2e/Regression/ClientSide/ExplorerTests/Hide_Page_spec.js
> <li>cypress/e2e/Regression/ClientSide/ExplorerTests/Page_Load_Spec.js
</ol>
> To know the list of identified flaky tests - <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">Refer 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**
- Improved the closing functionality for JavaScript and query action
tabs in the IDE, enhancing user experience with smoother tab management.

- **Refactor**
- Aligned sagas and reducers with new action types for improved handling
of tab closures and entity redirects within the IDE.

- **Tests**
- Updated test cases to reflect changes in IDE saga functions and logic,
ensuring reliability and consistency in behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-19 12:19:24 +05:30
Hetu Nandu
02c1d9e7b4
chore: Make pages section into a dropdown (#32486)
## Description

Makes the pages pane into a Dropdown instead of a list hidden behind
Editor Pane

Fixes #31450   

## 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/8733103397>
> Commit: 9905212e4307e3c6ee47b0bd819d14ef751143a2
> Cypress dashboard: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8733103397&attempt=2&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank"> Click here!</a>
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Regression/ClientSide/MobileResponsiveTests/AutoHeight_Tabs_spec.ts
>
<li>cypress/e2e/Regression/ClientSide/MobileResponsiveTests/AutoLayout_Widgets_Copy_Paste_spec.ts
</ol>
> To know the list of identified flaky tests - <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">Refer 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**
  - Added a visibility management menu to the `EditorTitle` component.
- Introduced new `HeaderTitleComponent` to dynamically update based on
editor states.
- Updated the `PartialImportModal` and `PartialExportModal` components
for improved handling.
- Implemented a new callback function `onItemSelected` in
`AddPageContextMenu`.
  - Added a search functionality to the app.

- **Enhancements**
- Updated `PageList` methods for better attribute handling and added
`HideList` method.
- Enhanced test clarity and maintainability in various Cypress
regression tests.

- **Bug Fixes**
- Fixed step increment issue in `PageElement` by adjusting the `step`
prop value.

- **Documentation**
- Updated user-facing messages and labels for clarity, such as renaming
"Edit name" to "Rename."

- **Refactor**
- Removed outdated state management properties and methods, simplifying
the codebase.
- Streamlined import statements and component props across multiple
files for consistency.

- **Version Updates**
- Upgraded `design-system` package to a new version for enhanced
features and fixes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-18 16:04:38 +05:30
Rudraprasad Das
c85631c06f
fix: adding branch protection callout (#32707)
## Description
- Changes branch protection tooltip to callout
- Adds protected branches for merge in a disabled state

Fixes #32706

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

<!-- end of auto-generated comment: Cypress test results  -->
2024-04-18 15:13: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
albinAppsmith
70b0cecc2e
feat: Tabs close functionality and scroll (#32551)
## Description

This PR have following changes,
- Added close button and close functionality for tabs
- Removed 5 tabs limit and added scroll for tabs

Fixes #32407

## 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/8683747982>
> Commit: d87357251bcb3a6f23942d17e548867882194295
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8683747982&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**
- Enhanced tab management in the IDE with new functionalities to close
and remove JavaScript and query action tabs.
- Improved user interaction within the editor interface by adding scroll
behavior and a close button for each tab.

- **Bug Fixes**
- Fixed issues related to tab rendering and close button behavior in the
IDE, ensuring smoother user experience.

- **Tests**
- Added comprehensive tests for the new features and fixes in the IDE's
tab management system.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-15 11:06:05 +05:30
Ashok Kumar M
a4a364e7c1
chore: fix ee type checks issue. (#32612)
[![workerB](https://img.shields.io/endpoint?url=https%3A%2F%2Fworkerb.linearb.io%2Fv2%2Fbadge%2Fprivate%2FU2FsdGVkX1RhworVRJTWKPbR01bvcARyY7mXv5SA%2Fcollaboration.svg%3FcacheSeconds%3D60)](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=-JgUAyW)
## Description
Fixing type check fails.

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.MobileResponsive"

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

<!-- end of auto-generated comment: Cypress test results  -->
2024-04-11 19:03:39 +05:30
Rudraprasad Das
f7118422c6
feat: granular git status (#31619)
## Description
Lists down changes in entity with level 1 granularity

Fixes #31644 

## 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/8642841391>
> Commit: dd9dd7abb619a4e62edd950cbc6e64e15b4a42e2
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8642841391&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 granular tracking of Git changes, including added,
modified, and removed pages, datasources, queries, JS objects, and JS
libraries.
- Implemented a new feature flag `release_git_status_granular_enabled`
to toggle granular Git status tracking.
- Added new components to display detailed Git changes with expandable
views for different types of entities.

- **Enhancements**
- Simplified the logic for determining if a commit is required by
enhancing the Git status checks.
- Enhanced Git status display to include specific messages and icons for
various types of changes.
- Improved the Git sync feature's user interface with updated components
and styling for displaying Git changes.
	
- **Bug Fixes**
- Corrected the display logic to accurately reflect when a JS library is
added instead of modified.

- **Refactor**
- Refactored Git status handling logic on both client and server sides
for improved performance and readability.
- Updated test suites to align with the new Git status tracking and
display functionalities.

- **Tests**
- Added and updated tests to cover new Git status functionalities and
components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-11 18:26:09 +05:30
Ashok Kumar M
271dca0296
feat: Move conversion flow under feature flag. (#32490)
[![workerB](https://img.shields.io/endpoint?url=https%3A%2F%2Fworkerb.linearb.io%2Fv2%2Fbadge%2Fprivate%2FU2FsdGVkX105sGkyMb3eywi17Q8zKGh7H7PVjvpTo%2Fcollaboration.svg%3FcacheSeconds%3D60)](https://workerb.linearb.io/v2/badge/collaboration-page?magicLinkId=8cXsNLR)
## Description
Auto Layout System is being deprecated in favor of Anvil.
So we will no longer update Auto Layout and hence we are removing
conversion flow to make sure no new Auto Layout Apps are created.

However we still want to be able to help users who really have mission
critical use cases to convert.
two ways to do this
- ask Support and they will enable the feature flag to enable
conversion.(for cloud users)
- ask Support and they will reveal the global
function(`overrideFeatureFlag({release_layout_conversion_enabled:
true})`) to enable conversion.(for users not connected to internet)

Implementation:

- current feature flags are supplied from the consolidated api and
widgets consume them via `selectFeatureFlags` selector.
- to override these flags locally, we provide a global
function(accessible from console) `overrideFeatureFlag` which can take
an object of featureflags and save them to indexed db.
- then we use these saved values to override feature flag values
supplied by the consolidated api.
- `selectFeatureFlags` is where the values are combined and consumed by
all components.


Fixes #32140
_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/8641988198>
> Commit: de8e06778bd9fe1feab2f5d20adbaed90e542019
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8641988198&attempt=2"
target="_blank">Click here!</a>

<!-- end of auto-generated comment: Cypress test results  -->
2024-04-11 17:21:14 +05:30
Hetu Nandu
c8f1b82ca5
fix: action selector create flow (#32326)
## Description

Fixes the broken flow where, on creation of a query or JS object in via
the ActionCreator UI, the widget property that initiated it, does not
get bound to the newly created item.

We will now keep reference of the setter method that would set the
binding value to the property and when the item is created, it will call
the method with the correct bind value.

This will wait till that particular action type is created.


Fixes #7745 

## Automation

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

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

<!-- 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 the ability to create new queries and JavaScript functions
directly from action creators, enhancing the workflow for building
applications.
- Added support for binding newly created queries, APIs, and JavaScript
objects to button onClick events, streamlining the process of connecting
actions to UI elements.
- **Enhancements**
- Improved the code modularity and readability in the Editor Navigation
by refactoring the logic for closing announcement modals.
- **Tests**
- Added regression tests to ensure the reliability of creating actions
via an action selector and their proper binding to properties.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-04-05 11:28:47 +05:30
Vemparala Surya Vamsi
e151524d1c
feat: constrained diff between states (#31847)
## Description
We are constraining the diff between the old dataTree and the
newDataTree to its only affected nodes. The affected nodes list is the
evalOrder, unevalUpdates and updatedValuePaths (which represents
localStorage and setter updates). Through limiting the diff to the
affected node list this should help in reducing the diff computation
latency and overall improve the performance of each evaluation cycle.
We are also cleaning up code related to compressing and decompressing
updates since we deprecated that functionality.

Fixes #31272  

## Automation

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

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

<!-- 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 new logic for handling widget state updates efficiently.
- Enhanced evaluation logic to support optimized diff updates and
serialization.
- Improved data tree generation for error handling and evaluation order.
- **Bug Fixes**
- Addressed issues in generating optimized updates for large collections
and handling `undefined` values.
- Fixed Cypress tests in the "PgAdmin Clone App" spec for more reliable
interaction with UI elements.
- **Refactor**
- Simplified the logic for widget state cleanup and evaluation paths
handling.
- Removed unused variables and functions related to widget meta
properties and evaluation paths.
- **Tests**
- Added new spec file `PgAdmin_spec.js` to Cypress limited tests for
client-side regression testing.
- **Chores**
- Updated type imports across various files to reflect changes in
evaluation logic.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-27 14:37:46 +05:30
Hetu Nandu
e99cc39e47
chore: Block Selections when Canvas is in Side by Side mode (#31587)
## Description

This pull request aims to enhance the user experience within the
application by modifying the canvas behavior when it is displayed in
"Side by Side" mode alongside Queries or JavaScript sections. The key
change is the disabling of direct selections on the canvas, allowing
interactions with canvas elements only through cmd + click or by
clicking on the widget's name. This adjustment is intended to facilitate
a view-only mode for the canvas during Queries or JS editing, thereby
improving layout and user interaction.

Additionally, the PR introduces enhancements to the application's
testing framework, focusing on improving test reliability in scenarios
involving UI interaction and state changes. Notable updates include:

- Improved error tooltip handling in CurrencyInput_spec.js.
- Ensured page state saving before verifying element presence in
Listv2_BasicChildWidgetInteraction_spec.js.
- Replaced cy.wait("@updateLayout") with cy.assertPageSave() and
introduced a delay in Listv2_spec.js to accommodate functionality
changes.
- Implemented visibility checks in
TableV2_Button_Icon_validation_spec.js to prevent timing-related test
failures.
These technical updates collectively aim to bolster the application's
testing framework, enhancing the reliability and accuracy of automated
tests, especially in UI interaction and state change scenarios.


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

## Automation

/ok-to-test tags="@tag.Widget"
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]  
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/8259916944>
> Commit: `15e1cf937a9d15adaea68e16a55006d993a07cbf`
> Cypress dashboard url: <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=8259916944&attempt=1"
target="_blank">Click here!</a>
> All cypress tests have passed 🎉🎉🎉

<!-- 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 new constants for widget selection and focus management.
- Introduced a new event type for tracking widget selections in code
mode.
- **Tests**
- Enhanced test assertions and interactions for better reliability and
error handling in various widgets.
- **Refactor**
- Improved widget selection logic and URL handling for a more intuitive
user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-13 11:53:49 +05:30
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
Ankita Kinger
99639d446e
fix: Homepage error message with no workspaces & Github changes message (#31691)
## Description

- Fixing error message on homepage when there are no workspaces
- Fixing leave workspace leading to no workspaces message
- Fixing github changes list message on the git modal with modules &
module instances
- Adding doc link for packages

Fixes [#30748](https://github.com/appsmithorg/appsmith/issues/30748)
[#31472](https://github.com/appsmithorg/appsmith/issues/31472)
[#30214](https://github.com/appsmithorg/appsmith/issues/30214)

## Automation

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

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

<!-- 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 new categories (`PACKAGES`, `MODULES`, `MODULE_INSTANCES`) to
track changes in Git Sync more effectively.
- Introduced a new constant for accessing the packages overview
documentation.

- **Enhancements**
- Improved icon determination logic for queries based on their
configuration.
- Enhanced user experience by redirecting to "/applications" after
leaving a workspace.

- **Refactor**
	- Optimized the `leaveWS` function for better performance.
- Updated selectors and reducers to handle new Git Sync tracking
categories.

- **Tests**
- Expanded test coverage to include tracking of modified packages,
modules, and module instances.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-12 18:14:05 +05:30
Ayush Pahwa
5fdc0a1ef9
feat: workflows assign request on browser (#31159)
## Description

We are allowing users to have write workflows assign request queries in
the JS object editor for the workflows editor. This means, users should
get autocomplete for `appsmith.workflows.assignRequest` and the
arguments required should be shown in the autocomplete also. To enable
this, following changes have been made
1) Add empty workflows object to the appsmith function type in store and
and add ee only type definitions to the `EntityDefinitions` for appsmith
namespace.
2) Replace entityFunctions as static variable and use a function which
appends EE entity functions.
3) Added types for ee only functions
4) Retain the `isMainJsObject` flag for the js file when updates happen.

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

#### Type of change

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

## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] Manual
- [ ] 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 new autocomplete definitions for enhanced code editor
suggestions.
- Added support for categorizing entities in the Explorer panel using
`GROUP_TYPES` for improved organization and navigation.
- **Refactor**
- Updated the action helpers and reducers to support new properties and
ensure state consistency.
- Improved the structure for autocomplete helper functions, facilitating
easier extension and maintenance.
- **Chores**
- Established foundational code for future development with empty enums
and placeholder functions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-04 19:56:47 +05:30
Hetu Nandu
1d4198048c
chore: Debugger Split states (#31043)
## Description

Creates local states for the debugger for Query Pane, Api Pane and JS
Pane and separates it from the main Canvas Debugger state. This is done
so that in Split pane, the states of Action Pane debugger can be
different from the Canvas Debugger state. To keep handling the
Fullscreen Debugger experience, a new hook `useDebuggerTriggerClick` is
introduced which opens the correct debugger based on the IDE state.

Also removes the Error and Logs from the Query / Api / JS Debuggers when
in split screen mode for a cleaner debugging experience

##### This change removes the expectation of having a common debugger
state that follows around as the user navigates in the IDE. Instead it
create a new debugger state per entity item. The tests have been updated
to reflect this



#### PR fixes following issue(s)
Fixes #30836
Fixes #30342


#### Media


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

## Testing

#### How Has This Been Tested?

- [ ] 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
2024-02-29 11:53:57 +05:30
albinAppsmith
32955bcab8
feat: Added modal for action creator new query option (#31210)
## Description

Before, when use clicks on new query from action selector, omnibar used
to show to create a new query. This PR removed showing omnibar and
instead will start showing a modal with similar content as add pane.

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

#### Media
Before


https://github.com/appsmithorg/appsmith/assets/87797149/641a1409-bc9c-42be-907f-02157faf901e


After


https://github.com/appsmithorg/appsmith/assets/87797149/c1ee3d29-1fef-4de2-8c34-3e2bedc4081f



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


## Testing
>
#### How Has This Been Tested?
> Please describe the tests that you ran to verify your changes. Also
list any relevant details for your test configuration.
> Delete anything that is not relevant
- [ ] Manual
- [ ] 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
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag


#### QA activity:
- [ ] [Speedbreak
features](https://github.com/appsmithorg/TestSmith/wiki/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 modal for creating items, enhancing user interaction
and productivity.
- Added omnibar trigger sources to refine search functionalities based
on the context of use.
- Implemented a function to dynamically generate messages for creating
new items, improving user guidance.

- **Enhancements**
- Enhanced the global search by including additional trigger sources,
allowing for more precise search operations.
- Improved the property pane with a toggle for a new creation modal,
streamlining the process of adding new items.

- **Refactor**
- Optimized query list item creation and management within the editor,
ensuring a smoother user experience.
- Refined action dispatch mechanisms to better support side-by-side
editing modes.

- **UI Improvements**
- Updated the UI to include a new create new modal, making it easier for
users to add queries and other items.
- Enhanced search results handling to better accommodate different
trigger sources and editor modes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-02-27 11:58:20 +05:30
Rahul Barwal
1be0d061c4
fix: updates position of start from templates dialog. (#31194)
## Description

Remove unused code and update imports in the
CreateNewAppFromTemplatesWrapper component.

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


- **Refactor**
- Simplified the modal management for creating new applications from
templates by integrating direct prop usage for open/close actions.
- **Chores**
- Cleaned up and reordered imports across various files for better
organization.
- **Bug Fixes**
- Fixed modal close functionality to ensure a smoother user experience
when creating new applications from templates.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-02-20 01:43:33 +05:30
Rahul Barwal
d6fadc2dc2
fix: move create app from template flow logic from state to redux (#31177)
## Description
This PR attempts to move logic from state to redux. 
For some reason state logic is not getting transferred to release and
prod sites.

#### 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**
- Introduced a new modal for creating applications from templates,
enhancing user experience.
- **Enhancements**
- Improved state management for the create app from templates modal
using Redux, ensuring smoother user interactions.
- **Refactor**
- Streamlined the application creation process from templates by
removing redundant code and utilizing Redux actions for better
maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-02-16 16:04:35 +05:30