Commit Graph

13550 Commits

Author SHA1 Message Date
sneha122
5484c40d11
chore: action execution solution test fixed (#37793)
## Description
Failing server unit test fixed, This test started failing due to changes
in this PR: https://github.com/appsmithorg/appsmith/pull/37776, for some
reason it did not show up on this Pr in failed test cases


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

### 🔍 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/12066311357>
> Commit: f915b4fd8ac67fcbaaf9b0427ee4cb2296ce4d0e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12066311357&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IconButton`
> Spec:
> <hr>Thu, 28 Nov 2024 09:59:28 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **Bug Fixes**
- Improved error handling for stale connections during action execution,
allowing the system to recover and continue executing actions after an
initial failure.

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

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-11-28 15:29:46 +05:30
Nidhi
38e3d45fda
chore: json to map conversion with test template (#37788)
## 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.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/12064617641>
> Commit: bf8b3bf7c9048b489246989285e0e4ede3386ca7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12064617641&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Thu, 28 Nov 2024 08:38:34 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Release Notes

- **New Features**
	- Updated Git resource type to include `CONTEXT_CONFIG`.
- Introduced methods to manage artifact-dependent resources and context
lists.
	- Enhanced Git resource management with new actions and collections.
- Added new properties and components in the exported application
structure, including new data sources, pages, and actions.

- **Bug Fixes**
	- Improved handling of metadata fields in application exports.

- **Documentation**
	- Added unit tests for artifact JSON to Git resource map conversion.

- **Chores**
- Updated JSON structure for exported applications with new components
and properties.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-28 14:20:50 +05:30
sneha122
8d32ee8f22
chore: Google sheet shared drive support added behind a flag (#37776)
## Description
This PR hides shared drive support for Google Sheets Integration behind
a feature flag as we need to do thorough testing for it.

The feature flag implementation done in this PR involves passing feature
flags from server to google sheets plugin module. This temporary feature
flagging solution tech debt can be removed once the testing is done and
once we would release this feature to all.

**Why feature flags are only available at server module?**
Because they have a dependency on UserIdentifierService,
SessionUserService, TenantService etc which exists at server module.
Supporting feature flags out of the box at plugin module level would
require significant efforts to migrate these dependencies.


Fixes #37714 
_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.Authentication, @tag.Datasource"

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


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


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

## Summary by CodeRabbit

- **New Features**
- Introduced support for Google Sheets shared drive through feature
flags.
- Added new methods to handle feature flags in plugin execution and
triggering processes.
- Enhanced action execution and triggering logic to utilize feature
flags for dynamic behavior.

- **Bug Fixes**
	- Improved error handling for plugin execution processes.

- **Tests**
- Integrated `FeatureFlagService` into the testing framework for
enhanced test coverage.
- Expanded test scenarios to include various response types and error
conditions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-11-28 13:40:32 +05:30
Shrikant Sharat Kandula
6a31cacba5
chore: Modular backup implementation (#37715)
Backup implementation changed to be modular, and made up of separate
pieces. Each piece (link in a chain) is responsible for one
component/functionality of all the data that's being backed up. This PR
introduces the framework for this modularization. The next PR will
finish migration to that architecture.


## Automation

/test sanity

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


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


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

## Summary by CodeRabbit

## Release Notes

- **New Features**
- Introduced a modular backup system with `BackupState`,
`DiskSpaceLink`, `EncryptionLink`, and `ManifestLink` classes to manage
backup operations more efficiently.
- Added command-line argument support for the backup command, enhancing
flexibility.
- Improved user interaction during backup restoration with prompts for
encryption passwords.

- **Bug Fixes**
- Enhanced error handling and clarity in the restoration process,
particularly for manifest file reading.

- **Documentation**
- Updated test structure to reflect new directory organization and
improved focus on backup cleanup logic.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-28 13:05:31 +05:30
albinAppsmith
5e89edf8c4
feat: Added analytics for pulse failure (#37781)
## 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 https://github.com/appsmithorg/appsmith-ee/issues/5606

## Automation

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

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


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced analytics tracking with new event types: "CANVAS_HOVER" and
"MALFORMED_USAGE_PULSE".
- Improved error reporting in the `fetchWithRetry` function, capturing
additional context during failures.

- **Bug Fixes**
	- Added logging for better monitoring of malformed usage scenarios.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-28 12:20:14 +05:30
Abhijeet
4727b4da99
fix: Super user cache eviction when user is added via env variable (#37785) 2024-11-28 11:15:24 +05:30
Shrikant Sharat Kandula
a1c8cb69f0
chore: Remove socket-io and websocket connections (#37784)
We don't use the websocket connection for anything of consequence. This
PR removes it and the `socket-io` dependency from the client.

The RTS still has it, will be removed in a subsequent PR.

## Automation

/test sanity

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


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


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

## Summary by CodeRabbit

## Release Notes

- **New Features**
	- None

- **Bug Fixes**
	- None

- **Refactor**
- Removed websocket and collaborative editing functionality, simplifying
the application architecture.
- Eliminated related constants, actions, reducers, and sagas to
streamline codebase.

- **Chores**
- Updated test configurations by removing references to websocket sagas.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-28 10:58:56 +05:30
Hetu Nandu
0f3593af24
fix: [Plugin Action Editor] Avoid multiple init of Form Eval (#37780)
## Description

Noticed that we are causing the evaluation of the form twice because
`changeQuery` also initiates the eval. Since the `changeQuery` also
handles other aspects, will defer to that and not initiate again for UQI
Forms.

Fixes #37772

## Automation

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

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


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


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

## Summary by CodeRabbit

- **Bug Fixes**
- Removed the `useInitFormEvaluation` hook from the `UQIEditorForm`,
streamlining the form initialization process.
- Updated the `useChangeActionCall` hook to directly access the
`action.id`, enhancing reliability in action dispatching.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-28 10:49:17 +05:30
Shrikant Sharat Kandula
591b25dd22
chore: Fix check for getting backend vesrion 2024-11-28 09:47:48 +05:30
Shrikant Sharat Kandula
c190024a79
test: Fix failure in API_Bugs_Spec.js (#37786)
## Automation

```
/test
cypress/e2e/Regression/ServerSide/ApiTests/API_Bugs_Spec.js
```

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12061903753>
> Commit: e3db469591f39622c9f975af01d536c6d82dedb7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12061903753&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: ``
> Spec: cypress/e2e/Regression/ServerSide/ApiTests/API_Bugs_Spec.js
> <hr>Thu, 28 Nov 2024 03:45:53 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-11-28 09:41:05 +05:30
Shrikant Sharat Kandula
7615cd0a3f
chore: Fix start-https when backend isn't set 2024-11-28 06:58:36 +05:30
Shrikant Sharat Kandula
0b1069663e
chore: Get release's version if needed (#37777)
**/test sanity**



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

## Summary by CodeRabbit

- **New Features**
- Enhanced script to retrieve and export the Appsmith application
version when using a specific release URL.
- **Bug Fixes**
- Improved error handling and messaging for missing dependencies or
incorrect configurations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-27 14:11:20 +05:30
Shrikant Sharat Kandula
381dcaaf8a
chore: Include version in all requests (#37551)
We're adding `x-appsmith-version` to every request from the client. If
server sees a request with a `x-appsmith-version` that doesn't match its
own, it rejects. If the server sees a request _without_ any
`x-appsmith-version` header, we don't reject it... for now.

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

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

## Automation

/test sanity

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


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


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

## Release Notes

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

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

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

---------

Co-authored-by: Pawan Kumar <pawan@appsmith.com>
2024-11-27 12:58:28 +05:30
Hetu Nandu
9f9a99373d
chore: Move IDE header to ADS/Templates (#37764)
## Description
Extracting out our IDE Header component into ADS for better usability.

ADS Templates are shallow components built using opinionated ADS which
provide "slots" to place other business logic components inside it. It
reduces the work of using ADS by providing pre built UI components

Also creating the EntityExplorer folder and created ListWithHeader as a
component. Will keep updating this ADS template as we work on Entity
Explorer modularization


Fixes #37607 

## Automation

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


## 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 `ListWithHeader` component for improved layout in the
entity explorer.
- Added `IDEHeader` component with subcomponents for better header
organization.
- Implemented `IDEHeaderSwitcher` for enhanced navigation options in the
header.
- Added styled components `ListItemContainer` and `ListHeaderContainer`
for consistent design.
  
- **Bug Fixes**
- Updated import paths for `IDE_HEADER_HEIGHT` to ensure consistent
usage across components.

- **Documentation**
- Added comprehensive documentation for the `IDEHeader` component to aid
developers.

- **Chores**
- Consolidated import statements for cleaner code structure across
various components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-27 07:05:20 +00:00
Ankita Kinger
80c08b10d6
fix: Removing the global add in segmented header and updating the UI for new query tab (#37757)
## Description

- Removing the global add in segmented header
- Updating the UI for new query tab
- Fixing the CSS for Query Header in side by side mode to show context
menu which is hidden today
- Fixing the spacing between the icon and the name of an entity, as this
is currently broken on EE for workflows


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

## 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/12043907148>
> Commit: 0896ffb52435d9c028e05430f9c15025b25b6cfb
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12043907148&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.IDE`
> Spec:
> <hr>Wed, 27 Nov 2024 05:28: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

## Release Notes

- **New Features**
- Enhanced styling for dropdown selectors in the DatasourceSelector and
JSFunctionRun components for improved adaptability.
- Introduced a new `Text` component in the AddTab for better content
rendering.

- **Bug Fixes**
- Adjusted padding for the `.t--entity-name` class across multiple
components to improve layout consistency.

- **Refactor**
- Simplified the rendering logic in the WidgetIcon component by removing
unnecessary wrappers.

- **Chores**
- Removed deprecated feature flags and associated functionality from the
SegmentedHeader component.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-27 11:01:12 +05:30
Shrikant Sharat Kandula
c9ddd9c765
chore: Remove CS URL in client (#37665)
The server should be the source of truth and owner for the current CS
URL, and the client having direct access to the CS URL is (almost) an
abstraction leak. We're using it on client for one purpose only, to
redirect to CS for Google sheets authorization. That's just as well
achieved with another redirect via the server.

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


## Automation

/test sanity datasource

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


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


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

## Release Notes

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

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

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

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

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-11-27 10:32:35 +05:30
Nidhi
61960edb09
chore: Added git resource map types (#37746) 2024-11-27 10:17:33 +05:30
Pawan Kumar
f41cf1232a
chore: fix onStateChange prop bug in sidebar (#37710)
/ok-to-test tags="@tag.Anvil"

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

## Summary by CodeRabbit

- **New Features**
- Introduced a new `ControlledStateSidebar` component for better
management of sidebar state.
- Added a new story, `WithControlledState`, to demonstrate the
`ControlledStateSidebar` functionality.

- **Bug Fixes**
- Improved the state update flow in the `SidebarProvider` for more
reliable state management.

- **Documentation**
- Enhanced organization of import statements in the sidebar stories for
better readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12030926462>
> Commit: 20a4c3d9872aaf47a4344a25b1ef62d4b35695d0
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12030926462&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Tue, 26 Nov 2024 13:11:30 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2024-11-26 18:45:30 +05:30
Hetu Nandu
1ea45e8e48
Revert "chore: Move IDE header to ADS/Templates (#37406)" (#37739)
This reverts commit 8cb0beeecc.



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

## Summary by CodeRabbit

- **New Features**
- Introduced `HeaderEditorSwitcher` and `HeaderDropdown` components for
enhanced UI interactions.
- **Bug Fixes**
- Updated import paths for `IDE_HEADER_HEIGHT` across multiple
components to ensure consistent styling.
- **Refactor**
- Renamed and restructured components for clarity and improved
functionality, including `HeaderTitle` and `IDEHeaderSwitcher`.
- **Tests**
- Added tests for the `HeaderDropdown` component to validate rendering
and functionality.
- **Chores**
	- Removed deprecated components and files to streamline the codebase.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-26 18:06:40 +05:30
Hetu Nandu
8cb0beeecc
chore: Move IDE header to ADS/Templates (#37406)
## Description

Extracting out our IDE Header component into ADS for better usability. 

ADS Templates are shallow components built using opinionated ADS which
provide "slots" to place other business logic components inside it. It
reduces the work of using ADS by providing pre built UI components

Also creating the EntityExplorer folder and created ListWithHeader as a
component. Will keep updating this ADS template as we work on Entity
Explorer modularization


Fixes #37607

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


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


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

## Release Notes

- **New Features**
- Introduced the `IDEHeader` component with subcomponents (`Left`,
`Center`, `Right`) for improved header layout.
	- Added `IDEHeaderSwitcher` for enhanced navigation within the header.
- New styled components `ListItemContainer`, `ListHeaderContainer`, and
`ListWithHeader` for the entity explorer interface.
- Added new constants `IDE_HEADER_HEIGHT` and `LOGO_WIDTH` for
standardized dimensions in the header layout.

- **Improvements**
- Updated header titles and constants for better clarity in the user
interface.
- Enhanced layout and styling of the `PagesSection` component for
improved user experience.
- Consolidated import statements for better organization across various
components.
	- Removed deprecated components and tests to streamline the codebase.

- **Documentation**
- Added documentation for the `IDEHeader` component, including stories
for visual representation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-26 12:44:11 +05:30
Shrikant Sharat Kandula
5cfe143b86
fix: Signup from OAuth not being detected correctly (#37697)
Fixes issue where the detection for signup when using OAuth was not
being handled correctly.

[Slack
conversation](https://theappsmith.slack.com/archives/C02K2MZERSL/p1732600773587469?thread_ts=1732554015.110689&cid=C02K2MZERSL).


## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12024883331>
> Commit: d53fcdf0451a5911471b05678e03831a0d9a632a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12024883331&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.Sanity
> Spec: 
> It seems like **no tests ran** 😔. We are not able to recognize it,
please check <a
href="https://github.com/appsmithorg/appsmith/actions/runs/12024883331"
target="_blank">workflow here</a>.
> <hr>Tue, 26 Nov 2024 06:16:02 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- Improved handling of user authentication success, enhancing the flow
for email verification and OAuth2 authentication.
- **Refactor**
	- Simplified the logic for determining user sign-up or login status.
- Streamlined the method for handling OAuth2 redirects, improving
clarity and maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-26 12:22:43 +05:30
Shrikant Sharat Kandula
7a0f654b8e
chore: Fix env varibles in 404.html (#37672)
Environment variables in `404.html` page aren't getting replaced with
their values. This PR fixes that.


## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12005727044>
> Commit: 56b10fddf2ee7ed180ed59845b6f0223cd26b06a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12005727044&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.Sanity
> Spec: 
> It seems like **no tests ran** 😔. We are not able to recognize it,
please check <a
href="https://github.com/appsmithorg/appsmith/actions/runs/12005727044"
target="_blank">workflow here</a>.
> <hr>Mon, 25 Nov 2024 08:48:10 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- Improved dynamic retrieval of environment variables for better
integration with environment-specific settings in the 404 error page.
- Enhanced handling of HTML files, including the 404 page, during the
configuration process.

- **Bug Fixes**
- Improved error handling for missing SSL certificates and custom
domains.

- **Documentation**
- Updated logic for processing HTML files to ensure correct paths and
configurations are applied.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-26 11:41:01 +05:30
albinAppsmith
b778d2cf6a
feat: Schema tab UI update (#37420)
## Description

Updated schema tab as per new design.
https://www.figma.com/design/8L9BXMzNTKboGWlHpdXyYP/Appsmith-IDE?node-id=3071-101845&node-type=text&m=dev


Fixes #35289

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12022221992>
> Commit: c38fc9948554344a45c172fe291f49a0a5cd9b61
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12022221992&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 26 Nov 2024 03:45:12 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 components: `CurrentDataSource`, `DatasourceSelector`,
`SchemaTables`, `TableColumns`, `StatusDisplay`,
`CurrentDataSourceLink`, `Schema`, `MenuField`, and custom hooks
`useCreateDatasource` and `useGoToDatasource`.
- Added constants for improved user feedback in schema-related messages.
  
- **Improvements**
- Enhanced layout and styling for various components, including
`BottomView` and `Schema`.
  - Updated test identifiers for better consistency and testability.

- **Bug Fixes**
  - Adjusted test cases to ensure accurate schema validation.

- **Refactor**
- Updated internal logic for handling datasource interactions and state
management across components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-26 09:42:33 +05:30
Ankita Kinger
d0fc6d793b
chore: Removing unused styles, extra space in entity item and passing button condition prop (#37674)
## Description

- Removing unused styles and extra space between icon and entity name in
entity item component
- Passing button condition prop that is missing to show the warning icon
on Data tab in sidebar, when there are no datasources connected in the
workspace

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

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12009273207>
> Commit: f4bc4ab419a0b06a6910c0460bd0757db917fe72
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12009273207&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.IDE`
> Spec:
> <hr>Mon, 25 Nov 2024 12:15:09 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 `condition` property for enhanced button configuration in
the sidebar.
- Added an optional `preRightIcon` property to the `Entity` component
for improved icon customization.

- **Bug Fixes**
- Simplified styling of the `IconWrapper`, potentially improving icon
display.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-25 17:50:05 +05:30
Nilesh Sarupriya
c55e98ba1e
chore: add executeActionDTO as additional parameter to be used when creating query for AppsmithAI plugin queries (#37631)
## Description
> Add executeActionDTO as an additional parameter when executing queries
for Appsmith AI Plugin

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

## Automation

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

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

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2024-11-25 03:46:59 -06:00
Pawan Kumar
baef6aa287
chore: Update size of sidebar + remove using sheet (#37638)
https://github.com/user-attachments/assets/94c51ceb-d0cd-47b8-9766-a160f43b6f6f

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

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

## Release Notes

- **New Features**
- Enhanced styling for the sidebar title for improved visual
presentation.
- Streamlined sidebar component stories for simplicity and focus on core
functionality.
  
- **Bug Fixes**
- Removed unnecessary mobile state handling, resulting in a more
efficient sidebar rendering.

- **Style**
- Updated CSS for sidebar components to improve responsiveness and
visual consistency.
- Adjusted display properties for sidebar classes to enhance visibility.

- **Chores**
- Removed the `SidebarInset` component to simplify the sidebar
structure.
- Introduced a new `side` property to the sidebar provider for better
contextual control.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11953544047>
> Commit: 40e605795762c6a5822f1cbd6aed5f0aaf99a239
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11953544047&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Thu, 21 Nov 2024 13:11:13 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2024-11-25 15:07:35 +05:30
Hetu Nandu
36239e2545
fix: Plugin Action Editor navigation issue with git (#37670)
## Description

Fixes the passing of wrong id when trying to trigger a changeQuery
request. The scenario fixed was passing an actionId instead of a
baseActionId.

Later on, [a
selector](https://github.com/appsmithorg/appsmith/blob/release/app/client/src/sagas/QueryPaneSagas.ts#L111)
is not able to find the action as it expects a baseActionId and causes a
navigation bug.



## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/12004477441>
> Commit: b4e3cb0c2902791e7f403f74a89a6e3a6e661f0f
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`
> Spec: ``
> <hr>Mon, 25 Nov 2024 06:25:04 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced logic for action and plugin state management in the Plugin
Action Editor.
	- Improved handling of action IDs for more efficient query dispatching.

- **Bug Fixes**
	- Simplified initial checks to improve control flow and performance.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-25 14:11:46 +05:30
Shrikant Sharat Kandula
b9ce30ef97
fix: Restore doesn't work when backup file is renamed (#37666)
When backups are renamed from their original generated name, restore
operation can't process that backup anymore. This PR should fix that.


## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12004342912>
> Commit: ef62c35bd16142dfecd268797c4846a894d2c628
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12004342912&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 25 Nov 2024 06:54: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


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

- **New Features**
- Introduced a new function to determine the contents path within backup
archives, enhancing backup restoration capabilities.
  
- **Bug Fixes**
- Improved error handling for invalid backup file indices and password
attempts during restoration.

- **Refactor**
- Streamlined output and error handling in the backup process, including
cleanup and email notifications for backup errors.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-25 12:53:10 +05:30
Shrikant Sharat Kandula
392524e121
chore: Fix typing in ctl backup and restore (#37663)
Now that we've moved to TypeScript, this PR fixes missing type
annotations in `backup.ts` and `restore.ts`.


## Automation

/test sanity

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


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


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

- **New Features**
- Enhanced error handling for password mismatches during backup
encryption.
- Improved test coverage for backup functionality, including backup
paths and disk space validation.

- **Bug Fixes**
- Refined backup cleanup logic to ensure proper file retention and
removal.

- **Refactor**
	- Introduced a new `BackupState` class to manage backup process state.
- Streamlined password handling and improved code structure for better
readability.
- Updated type safety for several functions in the backup and restore
processes.
	- Simplified exit process in error handling for restore functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-24 09:32:33 +05:30
Shrikant Sharat Kandula
7c66c07805
chore: Remove Algolia, we don't use it anymore (#37664)
## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11987511676>
> Commit: 22f0a6fc7c916a948cdd1ec98183f0113d485d90
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11987511676&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Sat, 23 Nov 2024 14:45:28 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

- **Chores**
- Removed Algolia Search configuration from various files, including
environment variables and configuration scripts.
  
- **Refactor**
- Simplified search-related components and utility functions by removing
Algolia dependencies, enhancing clarity and usability.
  
- **Bug Fixes**
- Adjusted search item type handling to improve type safety and reduce
complexity.

These updates streamline the application by eliminating unnecessary
dependencies and refining existing functionalities.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-23 21:38:04 +05:30
Shrikant Sharat Kandula
a4d35d200f
chore: Read mail env variables only when needed (#37660)
Loading env variables at import time doesn't work now since we're
importing first, and them loading env variables, after having moved to
TypeScript.

This PR fixes that in the mailer module.


## Automation

/test sanity

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

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


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


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

## Summary by CodeRabbit

- **Bug Fixes**
- Improved error handling for email configuration by ensuring
environment variables are validated before sending emails.

- **Refactor**
- Adjusted the scope of several environment variables to enhance code
organization and maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-23 17:09:55 +05:30
Hetu Nandu
86d17a6319
chore: [Plugin Action Editor] Defer plugin config checks (#37655)
## Description

Updates Plugin Action Editor to defer the plugin check till needed. This
ensures the usage of Plugin Action Context in scenarios the config is
not needed.

Eg: If we want to show Plugin Action Response in App View Mode but not
the form, we can still use the Plugin Action Editor with its context.


## 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/11973235246>
> Commit: 88d7be19a01fb68a6417ee06cdc0430161c26e84
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11973235246&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 22 Nov 2024 14:25:16 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Release Notes

- **New Features**
- Enhanced error message presentation with centered layout in various
components.
- Improved rendering logic for form configurations, ensuring clearer
separation based on type.

- **Bug Fixes**
- Simplified error handling in the `PluginActionEditor` component,
removing unnecessary error checks.
- Updated error handling in the `ActionSettings` component to improve
message display.

- **Documentation**
- Updated error handling and rendering logic for better user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-23 08:30:58 +05:30
Shrikant Sharat Kandula
0685d335ea
chore: Reduce lint exceptions in ctl (#37643)
Fix linting exceptions in `ctl`.


## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Tests have not run on the HEAD
1f2242abcfac193fb321dee8d64cb194dea0f803 yet
> <hr>Fri, 22 Nov 2024 10:06:23 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

## Release Notes

- **New Features**
- Enhanced backup and restore processes with improved user prompts and
error handling.
- Added support for optional command-line flags during database imports.

- **Bug Fixes**
- Improved error handling for various operations, including database
exports and imports.
	- Enhanced logging for backup errors to provide more context.

- **Documentation**
- Updated user prompts and error messages for clarity during backup and
restore operations.

- **Tests**
- Expanded test coverage for backup functionalities and utility
functions to ensure robust error handling and output validation.

- **Chores**
	- Updated dependencies to enhance TypeScript development experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-22 15:57:56 +05:30
Pawan Kumar
d87f7ccd62
chore: add datepicker component (#37563)
Added daterpicker component along with other components needed for it
like Calendar andTimeField

Datepicker
![CleanShot 2024-11-21 at 12 38
20@2x](https://github.com/user-attachments/assets/334cdbb9-10f8-442a-93d8-c62b83668972)

Calendar
![CleanShot 2024-11-21 at 12 38
54@2x](https://github.com/user-attachments/assets/6123a842-5c32-48f1-86f9-56ffe249fedf)

Timefield
![CleanShot 2024-11-21 at 12 41
56@2x](https://github.com/user-attachments/assets/b9b2dc3c-91fd-4b90-99f4-461685be7b37)

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

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

## Release Notes

- **New Features**
	- Introduced a `Calendar` component for date selection and display.
- Added a `DatePicker` component for selecting dates and times with
enhanced error handling.
- Launched a `TimeField` component for time input with optional prefix
and suffix.
- Updated `TextField` component replacing the previous `TextInput` for
improved usability.

- **Bug Fixes**
	- Enhanced styling and responsiveness of input components.

- **Documentation**
- Added Storybook stories for `Calendar`, `DatePicker`, and `TimeField`
components to showcase functionalities and configurations.

- **Chores**
- Refactored imports to utilize the new `TextField` component across
various widgets.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11970103158>
> Commit: a1a552cb0bfdc9754341de5db0a6d8b142479083
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11970103158&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Fri, 22 Nov 2024 10:01:23 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2024-11-22 15:50:43 +05:30
Ayush Pahwa
afa2324432
chore: add eslint package to handle linting (#37417)
## Description
We are shifting the linter engine for jshint to eslint. This PR adds the
package needed for the same and also adds the required configs. The
eslint feature is behing a rollout feature flag, it's currently at 0%
right now.

> [!NOTE] > This PR is part of a series of [stacked
diffs](https://newsletter.pragmaticengineer.com/p/stacked-diffs) and
might have changes from it's parent PRs. Untill the blocking parent PRs
are merged, this diff would show more changes than are relevant for this
PR.
Blocking PRs: - #36548 

Fixes #37254 

## Automation

/test js 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/11965021215>
> Commit: 579e4772f918936da292ba2815621ca80499c212
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11965021215&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.JS, @tag.Sanity`
> Spec:
> <hr>Fri, 22 Nov 2024 02:49:47 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Release Notes

- **New Features**
- Integrated ESLint support alongside existing JSHint functionality for
enhanced linting capabilities.
	- Added a new dependency for ESLint linting.

- **Improvements**
- Enhanced error handling and reporting for linting errors, ensuring
consistency across different linting tools.
- Updated testing framework to accommodate multiple linter types without
duplicating logic.
- Introduced new functions for sanitizing and converting ESLint errors
to the application's format.
	- Added support for structured cloning in the testing setup.
- Improved logic for determining main actions and error handling in
conditional expressions.

- **Bug Fixes**
- Improved logic for handling lint errors, particularly in
differentiating between ESLint and JSHint errors.

- **Documentation**
	- Updated comments for clarity on linting processes and configurations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-22 14:26:05 +05:30
Hetu Nandu
fd24aabbb3
fix: Min width in certain ADS Button usage (#37624)
## Description

1. Remove height override in Workspace add button
2. Remove min width in Debugger trigger button 


Fixes #37623

## Automation

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

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

- **New Features**
- Introduced new styled components for enhanced workspace layout:
`WorkspaceDropDown`, `WorkspaceSection`, and `ApplicationContainer`.
- Added functionality for creating and managing workspaces, including a
new button in the `LeftPaneSection`.
	- Enhanced application display logic based on Anvil feature status.

- **Bug Fixes**
- Improved error handling and state management for workspace and
application fetching.

- **Style**
- Updated `DebuggerTrigger` to use a new styled button for improved
design consistency.
- Customized button appearance in the debugger with a new styled
component.

- **Documentation**
- Enhanced overall component structure for better readability and
maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2024-11-22 08:19:31 +05:30
Ayush Pahwa
0dac601979
chore: upgrade version of acorn and acron walk (#37641)
## Description
acorn and acorn walk did not have a fixed version, this pr fixes the
versions to `"acorn": "8.14.0", "acorn-walk": "8.3.4"` respectively.


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

/test 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/11958829944>
> Commit: 518c41104561b6f0df8f546eb5a4e0b3e82c2676
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11958829944&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 21 Nov 2024 19:47:19 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **Chores**
	- Updated dependency versions for improved performance and security: 
		- `acorn` updated to version `8.14.0`
		- `acorn-walk` updated to version `8.3.4`
- **Bug Fixes**
- Enhanced error handling in `canTranslateToUI` function for better
conditional and logical expression processing.
- Improved logic in `getMainAction` function to ensure accurate function
name generation based on call expression structure.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-22 01:53:58 +05:30
Ankita Kinger
b113cf7bc5
fix: Updating empty state message when searching items in queries segment (#37636)
## Description

Updating empty state message when searching items in queries segment

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

## Automation

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

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


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


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

## Summary by CodeRabbit

- **New Features**
- Updated messaging in the search results for improved clarity when no
queries are found.
  
- **Bug Fixes**
- Corrected the context of the empty search result message from
JavaScript objects to queries.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-21 19:11:44 +05:30
Ayush Pahwa
154804dbf7
chore: restore removed ts expect error comments (#37639)
## Description
I removed ts expect error comments while upgrading the jest lib. This
was erroneous, the comments are still needed. No change in
functionality, just to suppress ts errors.


## 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
2024-11-21 18:37:26 +05:30
Shrikant Sharat Kandula
576d042919 chore: Ignore ban-ts-comment for ctl code 2024-11-21 18:07:25 +05:30
Shrikant Sharat Kandula
178bc0d578 chore: Ignore some type errors to unblock CI 2024-11-21 17:59:32 +05:30
Ayush Pahwa
cc83b1667b
chore: update jest version to 29 (#37587) 2024-11-21 18:35:02 +08:00
Shrikant Sharat Kandula
d6fbaa5372
chore: Port ctl code to Typescript (#37606)
This PR converts the Javscript code of the `ctl` module, into
Typescript, and in the process already fixing two small bugs that went
undetected because... of lack of good type checking.

The linting exceptions are still there and will be removed in the next
PR. Didn't want to change anymore than necessary or Git will detect
these changes as "new files" instead of as "renames".


## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11949059369>
> Commit: e156dacbc5cb513030052535c3d1f25ce1c7f222
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11949059369&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 21 Nov 2024 08:45:48 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 TypeScript support by updating entry points and adding type
definitions for `nodemailer` and `readline-sync`.
- Enhanced logging and error handling functionalities across various
modules.

- **Improvements**
- Transitioned from CommonJS to ES module syntax for better
compatibility and maintainability.
  - Improved clarity and structure in command handling and test files.

- **Bug Fixes**
- Corrected regex patterns and variable declarations in tests to enhance
reliability.

- **Chores**
- Updated dependencies and refined module exports for better
organization.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-21 15:37:11 +05:30
Rudraprasad Das
2099fceffa
feat: git mod - package details and redux slice (#36989)
## Description
Introduces a new yarn package for git. Includes the yarn package files,
redux slice and relevant redux actions

Fixes #36808 
Fixes #36809 
Fixes #36810 

This is not integrated into the monolith. So, this doesn't directly
impact the product yet

## 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/11478975801>
> Commit: 02c38bff6be96f3572100f348f12c15ea94ae971
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11478975801&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Wed, 23 Oct 2024 19:42:30 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Release Notes

- **New Features**
	- Introduced the `@appsmith/git` package for Git-related functionality.
	- Added a new `GitTest` component for testing purposes.
- Implemented multiple actions for managing Git operations, including
commit, connection, branch fetching, metadata fetching, status fetching,
and pull actions.
	- Created a Redux slice for managing Git artifact state.

- **Documentation**
- Added TypeScript types and interfaces for better state management
within the Git context.
- Introduced ESLint configuration for consistent code quality across the
package.

These updates enhance the application's Git capabilities and improve
state management, providing a more robust user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-21 16:03:05 +07:00
Nilesh Sarupriya
d99789c401
chore: set datasourceId in executeActionDTO during execution (#37626)
## Description
> Set the correct datasourceId to executeActionDTO when an action is
being executed.

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

## Automation

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

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


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


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

- **New Features**
- Enhanced functionality to set the correct `datasourceId` based on the
action's context, improving action execution accuracy.

- **Refactor**
	- Improved code formatting for clarity without altering existing logic.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2024-11-21 02:25:02 -06:00
Pawan Kumar
89f9b591ec
chore: add header to sidebar + add full width state (#37597)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Release Notes

- **New Features**
- Enhanced `_Sheet` and `_Sidebar` components with new props for
handling transition events (`onEnter`, `onExit`).
- Introduced `SidebarContent` component for better organization of
sidebar content.
  - Added a new story for `Sidebar` demonstrating render prop usage.

- **Improvements**
- Updated state management in `SidebarProvider` for more flexible
sidebar behavior.
  - Improved CSS transitions for smoother animations in the sidebar.
- Enhanced type definitions for better clarity and functionality in
state management.

- **Bug Fixes**
- Adjusted rendering logic to ensure correct display of sidebar states.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->


## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11935118755>
> Commit: a8170dfe131850c1a3f7a46870914d9dbc30624d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11935118755&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 20 Nov 2024 14:52:18 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

- **Chores**
- Removed several configuration files related to observability tools,
including Docker Compose, Grafana dashboards, data sources, and
Prometheus settings.
- These changes streamline the observability setup by eliminating
outdated or unused configurations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-21 10:35:25 +05:30
Shrikant Sharat Kandula
81b7727817
chore: Move appsmithctl to RTS (#37531)
Move the `appsmithctl` code to RTS.

RTS' own build system will build `appsmithctl` as well. We're adding two
command scripts, `ctl` and `appsmithctl` to `/opt/bin`, which will be
the entrypoints for this. The `appsmithctl` is now just an alias to the
much shorter and non-redundancy-inducing `ctl`.

We aren't migrating to TypeScript in this PR so we're ignoring the new
`ctl` folder in both `tsconfig.json` and `.eslintrc`. That's temporary,
the next PR will fix that.


## Automation

/test sanity

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


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


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

## Release Notes

- **New Features**
  - Introduced the `appsmithctl` command for easier command execution.
  - Updated build process to include additional entry points.

- **Bug Fixes**
- Streamlined Docker build process, enhancing efficiency and reducing
complexity.

- **Documentation**
- Added a new section in the README for `appsmithctl` command
description.

- **Chores**
  - Updated dependencies in `package.json`.
  - Removed obsolete files and workflows to simplify project structure.

- **Style**
  - Added a new ESLint configuration for specific project needs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-20 20:58:38 +05:30
sneha122
f21ec5e36b
fix: shared drive support added for google sheets (#37602)
## Description
This PR adds support for accessing shared drive files for google sheets
integration


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

## Automation

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

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


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced API requests for Google Sheets and Drive to include items
from all drives.
  
- **Bug Fixes**
- Improved data retrieval processes by adjusting query parameters for
API calls.

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

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-11-20 19:53:42 +05:30
Trisha Anand
a5013ebd64
fix: Instance admin not updating when email added via env variable (#37568)
Using feature flagged function to evict cache to ensure correct cache
line gets evicted depending on the flag

## 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 https://github.com/appsmithorg/appsmith/issues/33741
## Automation

/test 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/11914552417>
> Commit: d4aed1f340e907c588f156d83c32e67c1ab4da18
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11914552417&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/FormLogin/EnableFormLogin_spec.js
> <li>cypress/e2e/Regression/ClientSide/Github/EnableGithub_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>Tue, 19 Nov 2024 15:04:20 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 migration functionalities for database schema updates and
permission management.
- Added methods for managing SSL settings for MSSQL datasources and
updating Oracle plugin configurations.
  - Improved query performance with the creation of new indexes.

- **Bug Fixes**
- Updated permission management for super users and system themes,
ensuring proper access.

- **Chores**
  - Minor formatting adjustments and import updates for code clarity.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-20 13:20:06 +05:30
Sagar Khalasi
0420c5da87
chore: Reverted appsmith url (#37267)
## Description
Updating url


Fixes #37266
_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/11716775460>
> Commit: ba22e7537a84f956a3e0bdd9d52ca8af00df219e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11716775460&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 07 Nov 2024 08:19:42 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 test suite for creating workspaces, inviting users,
and validating roles.
- **Bug Fixes**
- Updated URLs in various test cases to ensure accurate validation of
API interactions and user flows.
- **Tests**
- Enhanced test coverage by modifying existing tests to reflect new API
endpoints and validating expected behaviors.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-20 10:46:51 +05:30
Shrikant Sharat Kandula
ac4c714932
chore: Require form data for login endpoint (#37402)
The Login API endpoint isn't checking for the request `Content-Type`,
and is attempting to parse the payload as form data (?) irrespective of
the incoming content type. So, if we attempt to make a JSON login
attempt, like:

```
http -v :8080/api/v1/login username=a@b.com password=dummy
```

<details>
<summary>We see the following lengthy useless error on the
server:</summary>
<pre>
[2024-11-15 07:22:12,040] [nioEventLoopGroup-3-8] requestId= userEmail=
traceId= spanId= - Can't find user
[2024-11-15 07:22:12,042] [boundedElastic-1] requestId= userEmail=
traceId= spanId= - In the login failure handler. Cause: Unable to find
username:

org.springframework.security.core.userdetails.UsernameNotFoundException:
Unable to find username:
at
com.appsmith.server.authentication.handlers.ce.CustomFormLoginServiceCEImpl.findByUsername(CustomFormLoginServiceCEImpl.java:36)
	Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Assembly trace from producer [reactor.core.publisher.MonoLift] :
	reactor.core.publisher.Mono.error(Mono.java:299)

com.appsmith.server.authentication.handlers.ce.CustomFormLoginServiceCEImpl.findByUsername(CustomFormLoginServiceCEImpl.java:37)
Error has been observed at the following site(s):
*__________________________________Mono.error ⇢ at
com.appsmith.server.authentication.handlers.ce.CustomFormLoginServiceCEImpl.findByUsername(CustomFormLoginServiceCEImpl.java:37)
*__________________________Mono.switchIfEmpty ⇢ at
com.appsmith.server.authentication.handlers.ce.CustomFormLoginServiceCEImpl.findByUsername(CustomFormLoginServiceCEImpl.java:37)
|_ Mono.onErrorMap ⇢ at
com.appsmith.server.authentication.handlers.ce.CustomFormLoginServiceCEImpl.findByUsername(CustomFormLoginServiceCEImpl.java:38)
|_ Mono.map ⇢ at
com.appsmith.server.authentication.handlers.ce.CustomFormLoginServiceCEImpl.findByUsername(CustomFormLoginServiceCEImpl.java:43)
|_ Mono.doOnNext ⇢ at
org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:105)
|_ Mono.publishOn ⇢ at
org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:106)
|_ Mono.filter ⇢ at
org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:107)
|_ Mono.switchIfEmpty ⇢ at
org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:108)
|_ Mono.flatMap ⇢ at
org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:109)
|_ Mono.flatMap ⇢ at
org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:110)
|_ Mono.doOnNext ⇢ at
org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:111)
|_ Mono.map ⇢ at
org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:112)
|_ Mono.doOnSuccess ⇢ at
org.springframework.security.authentication.ObservationReactiveAuthenticationManager.lambda$authenticate$3(ObservationReactiveAuthenticationManager.java:58)
|_ Mono.doOnCancel ⇢ at
org.springframework.security.authentication.ObservationReactiveAuthenticationManager.lambda$authenticate$3(ObservationReactiveAuthenticationManager.java:61)
|_ Mono.doOnError ⇢ at
org.springframework.security.authentication.ObservationReactiveAuthenticationManager.lambda$authenticate$3(ObservationReactiveAuthenticationManager.java:61)
*__FluxOnErrorResume$ResumeSubscriber.onError ⇢ at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onError(MDCConfig.java:64)
*________________________Mono.deferContextual ⇢ at
org.springframework.security.authentication.ObservationReactiveAuthenticationManager.authenticate(ObservationReactiveAuthenticationManager.java:54)
*________________________________Mono.flatMap ⇢ at
org.springframework.security.web.server.authentication.AuthenticationWebFilter.authenticate(AuthenticationWebFilter.java:122)
|_ Mono.switchIfEmpty ⇢ at
org.springframework.security.web.server.authentication.AuthenticationWebFilter.authenticate(AuthenticationWebFilter.java:123)
|_ Mono.flatMap ⇢ at
org.springframework.security.web.server.authentication.AuthenticationWebFilter.authenticate(AuthenticationWebFilter.java:125)
|_ Mono.doOnError ⇢ at
org.springframework.security.web.server.authentication.AuthenticationWebFilter.authenticate(AuthenticationWebFilter.java:127)
*________________________________Mono.flatMap ⇢ at
org.springframework.security.web.server.authentication.AuthenticationWebFilter.filter(AuthenticationWebFilter.java:115)
Original Stack Trace:
at
com.appsmith.server.authentication.handlers.ce.CustomFormLoginServiceCEImpl.findByUsername(CustomFormLoginServiceCEImpl.java:36)
at
org.springframework.security.authentication.UserDetailsRepositoryReactiveAuthenticationManager.retrieveUser(UserDetailsRepositoryReactiveAuthenticationManager.java:45)
at
org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager.authenticate(AbstractUserDetailsReactiveAuthenticationManager.java:104)
at
org.springframework.security.authentication.ObservationReactiveAuthenticationManager.lambda$authenticate$3(ObservationReactiveAuthenticationManager.java:58)
at
reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:47)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367)
at
reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
		at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245)
at
reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1865)
at
reactor.core.publisher.MonoCacheTime.subscribeOrReturn(MonoCacheTime.java:151)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:63)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:210)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmit(FluxFlatMap.java:547)
at
reactor.core.publisher.FluxFlatMap$FlatMapInner.onNext(FluxFlatMap.java:988)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.FluxFlatMap$FlatMapInner.onSubscribe(FluxFlatMap.java:968)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
		at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4576)
at
reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:430)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:210)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335)
at
reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:373)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
at
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2097)
at
reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onComplete(FluxDefaultIfEmpty.java:134)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147)
at
reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onComplete(FluxHandleFuseable.java:239)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69)
at
reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1866)
at
reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.signalCached(MonoCacheTime.java:337)
at
reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onNext(MonoCacheTime.java:354)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onSubscribe(MonoCacheTime.java:293)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
		at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
at
reactor.core.publisher.MonoCacheTime.subscribeOrReturn(MonoCacheTime.java:143)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:63)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4576)
at
reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265)
at
reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4576)
at
reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onComplete(MonoFlatMap.java:189)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147)
at
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147)
at
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147)
at
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete(FluxMapFuseable.java:152)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147)
at
reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onComplete(FluxFilterFuseable.java:171)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147)
at
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147)
at
reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2573)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367)
at
reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
at
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
at
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
at
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
at
reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
at
reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
		at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4576)
at
reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265)
at
reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4576)
at
reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:155)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:118)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:194)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2367)
at
reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2241)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:117)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
at
reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:87)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
		at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
at
reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245)
at
reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2097)
at
reactor.core.publisher.MonoCollectList$MonoCollectListSubscriber.onComplete(MonoCollectList.java:118)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onComplete(MDCConfig.java:69)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onComplete(FluxHide.java:147)
at
reactor.core.publisher.FluxIterable$IterableSubscription.fastPath(FluxIterable.java:424)
at
reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:291)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.Operators$BaseFluxToMonoOperator.request(Operators.java:2067)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.MonoFlatMap$FlatMapInner.onSubscribe(MonoFlatMap.java:291)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
at
reactor.core.publisher.Operators$BaseFluxToMonoOperator.onSubscribe(Operators.java:2051)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
at
reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:165)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxFilterWhen$FluxFilterWhenSubscriber.drain(FluxFilterWhen.java:302)
at
reactor.core.publisher.FluxFilterWhen$FluxFilterWhenSubscriber.onNext(FluxFilterWhen.java:140)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onNext(MDCConfig.java:59)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
at
reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335)
at
reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
at
reactor.core.publisher.FluxFilterWhen$FluxFilterWhenSubscriber.onSubscribe(FluxFilterWhen.java:200)
at
com.appsmith.server.configurations.MDCConfig$MdcContextLifter.onSubscribe(MDCConfig.java:53)
at
reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4576)
at
reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265)
at
reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4576)
at
reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265)
at
reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
at
reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55)
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:76)
at
reactor.netty.http.server.HttpServer$HttpServerHandle.onStateChange(HttpServer.java:1176)
at
reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:715)
at
reactor.netty.transport.ServerTransport$ChildObserver.onStateChange(ServerTransport.java:481)
at
reactor.netty.http.server.HttpServerOperations.handleDefaultHttpRequest(HttpServerOperations.java:829)
at
reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:774)
at
reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:115)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at
reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:262)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at
io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:333)
at
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:455)
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at
io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1407)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918)
at
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
		at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994)
at
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
		at java.base/java.lang.Thread.run(Thread.java:833)
</pre>
</details>

In this PR, we're changing the matcher for the login endpoint to check
for the `Content-Type` explicitly. With this, the server doesn't log any
error, and responds with a `401 Unauthorized`.


## Automation

/test sanity authentication

### 🔍 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/11853152657>
> Commit: 3a4620da8af82b727e2fd91756318c5aa3cf9910
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11853152657&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Authentication`
> Spec:
> <hr>Fri, 15 Nov 2024 09:25:59 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced authentication mechanism for the login process, improving
request validation.
  
- **Bug Fixes**
- Refined matching logic for authentication requests to ensure better
security compliance.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-20 10:38:08 +05:30
Aman Agarwal
7e13fcbe7f
fix: getQueryParamsFromString function updated to use URLSearchParams (#37559) 2024-11-19 21:33:09 +05:30
sneha122
7612e4f14d
chore: perf optimisation for js action creation phase 1 (#37391)
## Description

[During analysis of action creation flow
metrics](https://github.com/appsmithorg/appsmith/issues/37151#issuecomment-2468354426),
we observed that RefactoringService.isNameAllowed is taking 80-90% of
the total JS object action time. This PR optimises this part in a way
that for any jsobject action, instead of fetching all actions from DB
and comparing it
to see if current action name is allowed, we simply do that check in
memory where for current action collection, if any action names are
being duplicated, we throw the error.

We could make this change easily because recently we merged a
[PR](https://github.com/appsmithorg/appsmith/pull/36958) which removes
the actions with duplicate name from client payload whenever Js object
update API is called, with this change, we can guarantee that for any JS
object update call, all actions inside it will always have unique names.
This PR makes the similar check on backend where if any action has
duplicate name within collection, we throw an error and don't store that
action in the DB.

We may need to consider following test case in both before and after
implementation of this approach. This can be covered during PR testing:
What happens if the client sends multiple requests to add a new function
in an existing collection. That is, as a result of the debounce logic,
if the server receives 2 consecutive requests with a populated
collection but without actionId associated to either request.

Relevant thread:
https://theappsmith.slack.com/archives/C040LHZN03V/p1731571364933089

Fixes #37365 
_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.JS"

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


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced validation to prevent the creation of actions with duplicate
names in action collections.
- Simplified handling of JavaScript actions, allowing them to bypass
certain validation checks.

- **Bug Fixes**
- Improved error handling during action updates and collection
modifications to ensure better logging and management of failures.

- **Tests**
- Added tests to verify that duplicate action names trigger appropriate
error messages, enhancing the robustness of the action collection
feature.

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

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-11-19 17:04:38 +05:30
Ayush Pahwa
5ec2ff15b6
chore: update logic to calculate length of lint (#36548)
## Description

As part of project to migrate linter to eslint, a small dependency we
need to take care of is to update how we calculate the length of the
lint to be shown. Today we use an array of variables and calculate their
char lengths. With eslint, we directly get the length and hence can be
passed down to this function. To ensure backward compatibility till we
are still phasing out JSHint, a conditional check is added to the
linthelper file.

> [!NOTE] > This PR is part of a series of [stacked
diffs](https://newsletter.pragmaticengineer.com/p/stacked-diffs) and
might have changes from it's parent PRs. Untill the blocking parent PRs
are merged, this diff would show more changes than are relevant for this
PR. Blocking PRs: - #36543

Fixes #36546 

## Automation

/test js 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/11907265100>
> Commit: 7da61e78bb2dffe41e148aba8a62062234eb59d1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11907265100&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.JS, @tag.Sanity`
> Spec:
> <hr>Tue, 19 Nov 2024 07:50: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

- **New Features**
- Introduced a new optional property `lintLength` to enhance lint error
reporting.
- Improved handling of dynamic bindings for better accuracy and
responsiveness to changes.

- **Bug Fixes**
- Enhanced test coverage for lint error annotations to ensure correct
behavior with and without `lintLength`.

- **Documentation**
- Updated comments for clarity regarding new linting logic and error
handling.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-19 13:25:44 +05:30
Ankita Kinger
72eb2cd4cb
chore: Updating generate page interaction to show it in a modal following the IDE 2.0 interaction pattern (#37414)
## Description

Updating generate page interaction to show it in a modal following the
IDE 2.0 interaction pattern

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

## 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/11900113834>
> Commit: 3903c44fe5a6c7db0d22d9cf982c28a1380f4546
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11900113834&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 18 Nov 2024 21:26:44 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Release Notes

- **New Features**
  - Introduced a modal for generating pages, enhancing user interaction.
- Added new action types and constants for managing page generation
processes.
  - Updated UI messages for clarity in the page generation context.
- Improved handling of datasource selection and page generation in
various components.

- **Bug Fixes**
- Improved error handling in various components to prevent silent
failures.

- **Refactor**
- Streamlined routing logic by removing deprecated paths and functions.
- Transitioned from direct navigation to modal-based interactions for
page generation.
  - Enhanced control flow and error handling within components.

- **Chores**
- Updated import paths for better organization of action-related
functions within the Redux architecture.

- **Tests**
- Enhanced test cases for CRUD operations, ensuring better validation
and error handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-19 12:05:10 +05:30
dependabot[bot]
94a3add6bc
chore(deps): bump cross-spawn from 7.0.3 to 7.0.5 in /app/client (#37419)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from
7.0.3 to 7.0.5.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md">cross-spawn's
changelog</a>.</em></p>
<blockquote>
<h3><a
href="https://github.com/moxystudio/node-cross-spawn/compare/v7.0.4...v7.0.5">7.0.5</a>
(2024-11-07)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>fix escaping bug introduced by backtracking (<a
href="640d391fde">640d391</a>)</li>
</ul>
<h3><a
href="https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.4">7.0.4</a>
(2024-11-07)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>disable regexp backtracking (<a
href="https://redirect.github.com/moxystudio/node-cross-spawn/issues/160">#160</a>)
(<a
href="5ff3a07d9a">5ff3a07</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="085268352d"><code>0852683</code></a>
chore(release): 7.0.5</li>
<li><a
href="640d391fde"><code>640d391</code></a>
fix: fix escaping bug introduced by backtracking</li>
<li><a
href="bff0c87c8b"><code>bff0c87</code></a>
chore: remove codecov</li>
<li><a
href="a7c6abc6fe"><code>a7c6abc</code></a>
chore: replace travis with github workflows</li>
<li><a
href="9b9246e096"><code>9b9246e</code></a>
chore(release): 7.0.4</li>
<li><a
href="5ff3a07d9a"><code>5ff3a07</code></a>
fix: disable regexp backtracking (<a
href="https://redirect.github.com/moxystudio/node-cross-spawn/issues/160">#160</a>)</li>
<li><a
href="9521e2da94"><code>9521e2d</code></a>
chore: fix tests in recent node js versions</li>
<li><a
href="97ded399e9"><code>97ded39</code></a>
chore: convert package lock</li>
<li><a
href="d52b6b9da4"><code>d52b6b9</code></a>
chore: remove unused argument (<a
href="https://redirect.github.com/moxystudio/node-cross-spawn/issues/156">#156</a>)</li>
<li><a
href="5d843849e1"><code>5d84384</code></a>
chore: add travis jobs on ppc64le (<a
href="https://redirect.github.com/moxystudio/node-cross-spawn/issues/142">#142</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cross-spawn&package-manager=npm_and_yarn&previous-version=7.0.3&new-version=7.0.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/appsmithorg/appsmith/network/alerts).

</details>

/test sanity

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-19 08:05:12 +05:30
dependabot[bot]
0aa853755e
chore(deps): bump http-proxy-middleware from 2.0.6 to 2.0.7 in /app/client (#37044)
Bumps
[http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware)
from 2.0.6 to 2.0.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/chimurai/http-proxy-middleware/releases">http-proxy-middleware's
releases</a>.</em></p>
<blockquote>
<h2>v2.0.7</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7">https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7</a></p>
<h2>v2.0.7-beta.1</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/chimurai/http-proxy-middleware/compare/v2.0.7-beta.0...v2.0.7-beta.1">https://github.com/chimurai/http-proxy-middleware/compare/v2.0.7-beta.0...v2.0.7-beta.1</a></p>
<h2>v2.0.7-beta.0</h2>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7-beta.0">https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7-beta.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/chimurai/http-proxy-middleware/blob/v2.0.7/CHANGELOG.md">http-proxy-middleware's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/chimurai/http-proxy-middleware/releases/tag/v2.0.7">v2.0.7</a></h2>
<ul>
<li>ci(github actions): add publish.yml</li>
<li>fix(filter): handle errors</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1e92339098"><code>1e92339</code></a>
ci(github-actions): fix npm tag</li>
<li><a
href="90afb7c9a6"><code>90afb7c</code></a>
chore(package): v2.0.7</li>
<li><a
href="0b4274e8cc"><code>0b4274e</code></a>
fix(filter): handle errors</li>
<li><a
href="1bd6dd578b"><code>1bd6dd5</code></a>
ci(github actions): add publish.yml</li>
<li>See full diff in <a
href="https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=http-proxy-middleware&package-manager=npm_and_yarn&previous-version=2.0.6&new-version=2.0.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/appsmithorg/appsmith/network/alerts).

</details>

/test sanity

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-19 08:04:53 +05:30
dependabot[bot]
756eb6c7ad
chore(deps): bump rollup from 2.79.1 to 2.79.2 in /app/client (#36611)
Bumps [rollup](https://github.com/rollup/rollup) from 2.79.1 to 2.79.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rollup/rollup/blob/master/CHANGELOG.md">rollup's
changelog</a>.</em></p>
<blockquote>
<h1>rollup changelog</h1>
<h2>4.22.5</h2>
<p><em>2024-09-27</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Allow parsing of certain unicode characters again (<a
href="https://redirect.github.com/rollup/rollup/issues/5674">#5674</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/5674">#5674</a>:
Fix panic with unicode characters (<a
href="https://github.com/sapphi-red"><code>@​sapphi-red</code></a>, <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/5675">#5675</a>:
chore(deps): update dependency rollup to v4.22.4 [security] (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/5680">#5680</a>:
chore(deps): update dependency <code>@​rollup/plugin-commonjs</code> to
v28 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot], <a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/5681">#5681</a>:
chore(deps): update dependency <code>@​rollup/plugin-replace</code> to
v6 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/5682">#5682</a>:
chore(deps): update dependency <code>@​rollup/plugin-typescript</code>
to v12 (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/5684">#5684</a>:
chore(deps): lock file maintenance minor/patch updates (<a
href="https://github.com/renovate"><code>@​renovate</code></a>[bot])</li>
</ul>
<h2>4.22.4</h2>
<p><em>2024-09-21</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Fix a vulnerability in generated code that affects IIFE, UMD and CJS
bundles when run in a browser context (<a
href="https://redirect.github.com/rollup/rollup/issues/5671">#5671</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/5670">#5670</a>:
refactor: Use object.prototype to check for reserved properties (<a
href="https://github.com/YuHyeonWook"><code>@​YuHyeonWook</code></a>)</li>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/5671">#5671</a>:
Fix DOM Clobbering CVE (<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
</ul>
<h2>4.22.3</h2>
<p><em>2024-09-21</em></p>
<h3>Bug Fixes</h3>
<ul>
<li>Ensure that mutations in modules without side effects are observed
while properly handling transitive dependencies (<a
href="https://redirect.github.com/rollup/rollup/issues/5669">#5669</a>)</li>
</ul>
<h3>Pull Requests</h3>
<ul>
<li><a
href="https://redirect.github.com/rollup/rollup/pull/5669">#5669</a>:
Ensure impure dependencies of pure modules are added (<a
href="https://github.com/lukastaegert"><code>@​lukastaegert</code></a>)</li>
</ul>
<h2>4.22.2</h2>
<p><em>2024-09-20</em></p>
<h3>Bug Fixes</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c9bd03d12e"><code>c9bd03d</code></a>
2.79.2</li>
<li><a
href="48aef33cf2"><code>48aef33</code></a>
fix: resolve DOM Clobbering CVE-2024-43788 (backport to v2) (<a
href="https://redirect.github.com/rollup/rollup/issues/5677">#5677</a>)</li>
<li>See full diff in <a
href="https://github.com/rollup/rollup/compare/v2.79.1...v2.79.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rollup&package-manager=npm_and_yarn&previous-version=2.79.1&new-version=2.79.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/appsmithorg/appsmith/network/alerts).

</details>

/test sanity

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


> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2024-11-19 08:04:25 +05:30
NandanAnantharamu
bbf298a20d
test: added test for incompatible file (#37323)
Added test for incompatible json file which validates error message.

/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/11842679143>
> Commit: e25dece2db1249fca257f089162faa5cdfaa85ae
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11842679143&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 15 Nov 2024 06:05:44 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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

## Summary by CodeRabbit

- **New Features**
- Introduced a new test suite to validate the partial import
functionality, ensuring compatibility checks for JSON files.
- Added a structured JSON file representing an application's
configuration, including metadata, pages, and actions.

- **Bug Fixes**
- Implemented error message validation for importing incompatible JSON
files.

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

---------

Co-authored-by: “NandanAnantharamu” <“nandan@thinkify.io”>
2024-11-18 16:20:29 +05:30
Subhrashis Das
c70adf7440
chore: Switch from OTLP HTTP/protobuf (New Relic) to HTTP/JSON (Grafana) (#37404)
## 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=""

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Tests have not run on the HEAD
065cddccdcf3c98cb48ff201daf752708f24666c yet
> <hr>Fri, 15 Nov 2024 11:48:13 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **New Features**
- Introduced new monitoring paths for telemetry data exports:
`/monitoring/traces` and `/monitoring/metrics`.
	- Added a function to streamline URL management for telemetry exports.

- **Bug Fixes**
- Updated telemetry export protocols to enhance reliability and
performance.

- **Chores**
- Updated multiple OpenTelemetry dependencies to their latest versions
for improved functionality and security.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-18 05:59:33 +00:00
Hetu Nandu
cd3ed89b44
chore: Abstraction of Bottom View in Cypress (#37410) 2024-11-17 17:15:25 +05:30
Hetu Nandu
952fb93d4b
fix: Query Editor Routing in the redesign flow (#37411)
## Description

Fixes the order of routes which caused issues in the redesign flow


## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11855933830>
> Commit: db5e1051b045e3a3214d168ff2c2ec7256bf1f15
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11855933830&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource`
> Spec:
> <hr>Fri, 15 Nov 2024 12:53:11 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 component for adding queries, enhancing the query
management experience.
- Improved loading experience with a `Skeleton` display while the
`AddQuery` component is being loaded.

- **Bug Fixes**
- Adjusted routing logic for query operations based on feature flags for
better performance.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-16 11:27:42 +05:30
Ilia
5db78900fd
feat: pass workspace id to form control (#37413)
## 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.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/11859064065>
> Commit: 3640388e4f5eae27e6bd833d1862e52e15500138
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11859064065&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Fri, 15 Nov 2024 16:30:45 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 optional property `workspaceId` to enhance form
control data handling.
- Updated logic in the `FormControl` component to utilize the current
workspace ID for improved control rendering.

- **Bug Fixes**
- Adjusted template visibility logic to consider the new workspace ID,
ensuring accurate rendering in the template menu.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-15 17:41:14 +01:00
dependabot[bot]
1c9e8c12bf
chore(deps): bump elliptic from 6.5.7 to 6.6.0 in /app/client (#37120)
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.7 to
6.6.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b8a7edd61a"><code>b8a7edd</code></a>
6.6.0</li>
<li><a
href="34c853478c"><code>34c8534</code></a>
fix: signature verification due to leading zeros</li>
<li>See full diff in <a
href="https://github.com/indutny/elliptic/compare/v6.5.7...v6.6.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=elliptic&package-manager=npm_and_yarn&previous-version=6.5.7&new-version=6.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/appsmithorg/appsmith/network/alerts).

</details>

/test sanity

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-15 17:44:10 +05:30
Pawan Kumar
aa8b153303
chore: add sheet + sidebar (#37408)
/ok-to-test tags="@tag.Anvil"

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

## Release Notes

- **New Features**
- Introduced a new `Sheet` component for modal-like overlays, enhancing
content display.
- Added a `Sidebar` component for improved navigation and organization
within the design system.

- **Improvements**
- Enhanced styling and animations for the `Sheet` and `Sidebar`
components, providing a more interactive user experience.
  - Updated dependencies to improve performance and accessibility.

- **Documentation**
- Added Storybook configurations for `Sheet` and `Sidebar` components,
showcasing their functionality and usage.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11855312043>
> Commit: f8f4d2c836597b5ec316bec48579f4e39bb18387
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11855312043&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Fri, 15 Nov 2024 11:40:45 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2024-11-15 14:53:37 +03:00
dependabot[bot]
7f2c4c6dd2
chore(deps): Remove commons-io from /app/server/appsmith-server (#37403)
Not needed as it comes from `appsmith-interfaces` as a transitive
dependency anyway.


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=commons-io:commons-io&package-manager=maven&previous-version=2.13.0&new-version=2.14.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/appsmithorg/appsmith/network/alerts).

</details>

/test sanity

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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2024-11-15 15:12:54 +05:30
Manish Kumar
6883e496e5
fix: added edge case fixes for consolidated api and publishing (#37399)
## Description

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.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/11851164290>
> Commit: 3a76919cab6a000ae1d2dcac76cbaf6afee33aa7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11851164290&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Fri, 15 Nov 2024 07:01:40 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 handling of Git operations, including improved branch
management and artifact importation.
- Expanded analytics integration for tracking changes in branch
protection settings.

- **Bug Fixes**
- Improved error handling for various Git operations and
application/page retrieval scenarios.

- **Tests**
- Added new test cases for Git-related functionalities and improved
error handling in tests.
- Enhanced test coverage for the `getConsolidatedInfoForPageLoad`
method, particularly for feature branches.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-15 15:27:09 +06:00
Shrikant Sharat Kandula
77bae7c0c6
chore: Don't break when Appsmtih API URL isn't set (#37309)
We actually don't need the `APPSMITH_API_BASE_URL` variable to be
varying in production ever at all, and the `routes.ts` file already does
have a default for this (on EE). Let's just use that instead of throwing
an impact-less error.

Ideally though, we shouldn't have this env variable at all. Less things
that are configurable, less things that can break other things.

## Automation

/test sanity

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11812221529>
> Commit: f049d468998530cddd9f7ad45542790c9e12241b
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11812221529&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Wed, 13 Nov 2024 07:41:57 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 constants for API URLs to streamline endpoint
configurations.

- **Bug Fixes**
- Updated API request URLs to use new constants, ensuring consistency
across the application.

- **Refactor**
	- Centralized route constants to improve maintainability.
- Renamed entities in test cases for clarity while preserving
functionality.

- **Chores**
- Removed obsolete environment variable related to API base URL from the
Docker configuration.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-15 13:34:35 +05:30
Shrikant Sharat Kandula
a601acf173
chore: Fix string equality checks (#37397)
As well as fixed some warnings with unused function parameters and
unneeded initialization values.

/test sanity authentication

### 🔍 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/11850858814>
> Commit: 8e14037b4e72a4549ee3910113d4608623d71de3
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11850858814&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Authentication`
> Spec:
> <hr>Fri, 15 Nov 2024 06:06:57 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**
- Improved handling of user email verification during authentication
processes.
- Enhanced robustness of string comparisons for signup and login
methods.

- **Bug Fixes**
- Refined logic for determining email verification requirements,
ensuring accurate updates to user properties.

- **Refactor**
- Simplified method signatures and internal logic for better clarity and
maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-15 13:34:06 +05:30
dependabot[bot]
1deab1fe06
chore(deps): bump commons-io:commons-io from 2.13.0 to 2.17.0 in /app/server/appsmith-interfaces (#36683)
Bumps commons-io:commons-io from 2.13.0 to 2.14.0.


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=commons-io:commons-io&package-manager=maven&previous-version=2.13.0&new-version=2.14.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/appsmithorg/appsmith/network/alerts).

</details>

/test all

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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2024-11-15 12:41:06 +05:30
Shrikant Sharat Kandula
646f29fd5d
chore: Remove unused JSON signup API handler (#37387)
This PR removes the JSON-version of signup API handler, and its unused
references. We use the other Form-body-version of this API, but not
this. So this isn't needed.

Fewer things there are, fewer there are to protect.

## Automation

/test sanity authentication

### 🔍 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/11838832000>
> Commit: f27d2c9fa7d9b154eb6649b1f9885fd54d1921b5
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11838832000&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Authentication`
> Spec:
> <hr>Thu, 14 Nov 2024 14:49:54 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- Introduced new Cypress commands for enhanced API interactions and UI
validations.
	- Added a method for handling user creation through form-encoded data.

- **Bug Fixes**
	- Improved error handling and validation checks in various commands.

- **Documentation**
- Updated type definitions and submit handler functions for better
clarity and maintainability.

- **Chores**
- Removed unused user management functionalities, streamlining the
codebase.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-15 12:39:29 +05:30
shanid544
6fc632795b
fix: SMTP datasource should work without username and password (#37319)
## Description
### Bug Description
Issue: When configuring an SMTP datasource without a username and
password, the system throws an error: “Invalid authentication
credentials. Please check datasource configuration.”
Expected Behavior: The system should allow SMTP datasource configuration
without requiring authentication credentials, as it is possible to
connect to some SMTP servers without a username or password.
**Steps To Reproduce**
Use any email service for configuring SMTP datasource without setting up
username and password
Create SMTP datasource with host port, keeping username and password
blank
Test the configuration


**Root Cause**
Manual validation in the codebase was enforcing that both username and
password fields are mandatory for SMTP configuration. This validation
prevented the successful configuration of SMTP services that do not
require authentication.

**Solution Details**
_To fix this, the following changes were implemented:
Updated Validation Method (validateDatasource)_
Before: Enforced mandatory username and password validation.
After: Removed the strict validation check for authentication fields,
allowing for configurations without credentials.



```
if (authentication == null || !StringUtils.hasText(authentication.getUsername()) || !StringUtils.hasText(authentication.getPassword())) {
    invalids.add(new AppsmithPluginException(AppsmithPluginError.PLUGIN_AUTHENTICATION_ERROR).getMessage());
}

```
_Modified the SMTP Session Creation (datasourceCreate)_
Before: Always initialized the SMTP session with authentication,
assuming credentials were required.
After: Updated the session creation to support both authenticated and
unauthenticated configurations.



```
Properties prop = new Properties();
prop.put("mail.smtp.auth", "false"); // Default to no authentication

if (authentication != null && StringUtils.hasText(authentication.getUsername()) && StringUtils.hasText(authentication.getPassword())) {
    prop.put("mail.smtp.auth", "true");
    session = Session.getInstance(prop, new Authenticator() {
        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
        }
    });
} else {
    session = Session.getInstance(prop);
}
```

_Enhanced Testing for Authentication Scenarios (testDatasource)_
Before: Errors were logged if authentication failed, even for servers
where authentication wasn’t required.
After: Introduced a flag to detect if authentication was required based
on the session configuration, and adjusted error handling accordingly.



```
boolean isAuthRequired = "true".equals(connection.getProperty("mail.smtp.auth"));
if (isAuthRequired && transport != null) {
    try {
        transport.connect();
    } catch (AuthenticationFailedException e) {
        invalids.add(SMTPErrorMessages.DS_AUTHENTICATION_FAILED_ERROR_MSG);
    }
}

```
**Testing and Verification**
**Unit Tests**
Without Authentication:
_Updated testNullAuthentication test case to ensure no errors are
returned when authentication is absent._

```
@Test
public void testNullAuthentication() {
    DatasourceConfiguration invalidDatasourceConfiguration = createDatasourceConfiguration();
    invalidDatasourceConfiguration.setAuthentication(null);
    assertEquals(0, pluginExecutor.validateDatasource(invalidDatasourceConfiguration).size());
}
```


Fixes #37271

## Automation

/ok-to-test tags=""
updated testNullAuthentication() from SmtpPluginTest class


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

- **New Features**
- Enhanced SMTP plugin now supports conditional authentication during
session creation.
- Improved error handling for authentication failures, providing clearer
validation results.
	- Added support for testing SMTP connections without authentication.

- **Bug Fixes**
- Streamlined validation logic for datasource configurations,
particularly for authentication scenarios.

- **Documentation**
- Updated test methods to clarify expected error messages for invalid
configurations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: muhammed.shanid@zemosolabs.com <muhammed.shanid@zemosolabs.com>
2024-11-15 12:32:41 +05:30
dependabot[bot]
6d524c1666
chore(deps): bump net.snowflake:snowflake-jdbc from 3.13.29 to 3.20.0 in /app/server/appsmith-plugins/snowflakePlugin (#37175)
Bumps
[net.snowflake:snowflake-jdbc](https://github.com/snowflakedb/snowflake-jdbc)
from 3.13.29 to 3.20.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/snowflakedb/snowflake-jdbc/releases">net.snowflake:snowflake-jdbc's
releases</a>.</em></p>
<blockquote>
<h2>v3.20.0</h2>
<ul>
<li>Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<h2>v3.19.1</h2>
<ul>
<li>Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<h2>v3.19.0</h2>
<ul>
<li>Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<h2>v3.18.0</h2>
<ul>
<li>Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<h2>v3.17.0</h2>
<ul>
<li>Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<h2>v3.16.1</h2>
<ul>
<li>Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<h2>v3.16.0</h2>
<ul>
<li>Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<h2>v3.15.1</h2>
<ul>
<li>Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<h2>v3.15.0</h2>
<ul>
<li>Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<h2>v3.14.5</h2>
<p>Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></p>
<h2>Release</h2>
<ul>
<li>Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<h2>Release</h2>
<p>Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></p>
<h2>Release</h2>
<p>Please Refer to Release Notes at <a
href="https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes">https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes</a></p>
<h2>Release</h2>
<p>Please Refer to Release Notes at <a
href="https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes">https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes</a></p>
<h2>Release</h2>
<ul>
<li>Please Refer to Release Notes at <a
href="https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes">https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes</a></li>
</ul>
<h2>Release</h2>
<ul>
<li>Please Refer to Release Notes at <a
href="https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes">https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes</a></li>
</ul>
<h2>Release</h2>
<ul>
<li>Please Refer to Release Notes at <a
href="https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes">https://community.snowflake.com/s/article/JDBC-Driver-Release-Notes</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/snowflakedb/snowflake-jdbc/blob/master/CHANGELOG.rst">net.snowflake:snowflake-jdbc's
changelog</a>.</em></p>
<blockquote>
<p><strong>JDBC Driver 3.20.0</strong></p>
<ul>
<li>||Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<p><strong>JDBC Driver 3.19.1</strong></p>
<ul>
<li>||Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<p><strong>JDBC Driver 3.19.0</strong></p>
<ul>
<li>||Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<p><strong>JDBC Driver 3.18.0</strong></p>
<ul>
<li>||Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<p><strong>JDBC Driver 3.17.0</strong></p>
<ul>
<li>||Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<p><strong>JDBC Driver 3.16.1</strong></p>
<ul>
<li>||Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<p><strong>JDBC Driver 3.16.0</strong></p>
<ul>
<li>||Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<p><strong>JDBC Driver 3.15.1</strong></p>
<ul>
<li>||Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<p><strong>JDBC Driver 3.15.0</strong></p>
<ul>
<li>||Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<p><strong>JDBC Driver 3.14.5</strong></p>
<ul>
<li>||Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<p><strong>JDBC Driver 3.14.4</strong></p>
<ul>
<li>||Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<p><strong>JDBC Driver 3.14.3</strong></p>
<ul>
<li>||Please Refer to Release Notes at <a
href="https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc">https://docs.snowflake.com/en/release-notes/clients-drivers/jdbc</a></li>
</ul>
<p><strong>JDBC Driver 3.14.2</strong></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="21e98c7414"><code>21e98c7</code></a>
Bump version to 3.20.0 for release (<a
href="https://redirect.github.com/snowflakedb/snowflake-jdbc/issues/1947">#1947</a>)</li>
<li><a
href="45afd71ac1"><code>45afd71</code></a>
SNOW-1553930: Fix incorrect key size condition check for GCP and Azure
(<a
href="https://redirect.github.com/snowflakedb/snowflake-jdbc/issues/1946">#1946</a>)</li>
<li><a
href="c703b8de38"><code>c703b8d</code></a>
SNOW-1756807: Add note about GCP regional endpoints (<a
href="https://redirect.github.com/snowflakedb/snowflake-jdbc/issues/1943">#1943</a>)</li>
<li><a
href="71440e5511"><code>71440e5</code></a>
SNOW-1757822: Exclude directories from shaded packages check (<a
href="https://redirect.github.com/snowflakedb/snowflake-jdbc/issues/1944">#1944</a>)</li>
<li><a
href="bb4593e26e"><code>bb4593e</code></a>
SNOW-1732054: Bump commons io dependency (<a
href="https://redirect.github.com/snowflakedb/snowflake-jdbc/issues/1942">#1942</a>)</li>
<li><a
href="83e5849103"><code>83e5849</code></a>
SNOW-1757822: Allow JDBC to handle ZSTD decompression (<a
href="https://redirect.github.com/snowflakedb/snowflake-jdbc/issues/1932">#1932</a>)</li>
<li><a
href="3d3f401e1b"><code>3d3f401</code></a>
Prepare next development version (<a
href="https://redirect.github.com/snowflakedb/snowflake-jdbc/issues/1940">#1940</a>)</li>
<li><a
href="231b56975c"><code>231b569</code></a>
Bump version to 3.19.1 for release (<a
href="https://redirect.github.com/snowflakedb/snowflake-jdbc/issues/1939">#1939</a>)</li>
<li><a
href="8bc1ae568d"><code>8bc1ae5</code></a>
Snow-1213120: Reuse-Connections-4 (<a
href="https://redirect.github.com/snowflakedb/snowflake-jdbc/issues/1817">#1817</a>)</li>
<li><a
href="323fb54692"><code>323fb54</code></a>
SNOW-1213120: Reuse connections in tests 3 (<a
href="https://redirect.github.com/snowflakedb/snowflake-jdbc/issues/1819">#1819</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/snowflakedb/snowflake-jdbc/compare/v3.13.29...v3.20.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=net.snowflake:snowflake-jdbc&package-manager=maven&previous-version=3.13.29&new-version=3.20.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/appsmithorg/appsmith/network/alerts).

</details>

/test sanity datasource

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11840867812>
> Commit: 413e4453fb69e96e207bc79f87b4f56e155bba26
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11840867812&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Datasource`
> Spec:
> <hr>Thu, 14 Nov 2024 16:58:39 UTC
<!-- end of auto-generated comment: Cypress test results  -->

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2024-11-15 07:29:14 +05:30
Shrikant Sharat Kandula
4f6938923d
chore: Fix role field serialization 2024-11-14 19:38:28 +05:30
Hetu Nandu
17537e721c
chore: Plugin Action Editor routing (#37389)
## Description

- Earlier we had the new Plugin Action Editor implementation mixed in
with the older API and Query Editor components. We have now separated it
out so that the eventual removal of older editors is easy
- Move AppPluginActionEditor outside the EE split

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11835509083>
> Commit: 3a7fda761dcff8e77edfe80a449ba965fe5bfb12
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11835509083&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource`
> Spec:
> <hr>Thu, 14 Nov 2024 11:25:19 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 routes for `PluginActionEditor`, `AddQuery`, and
`QueryEmpty` with a standardized fallback UI.
  
- **Bug Fixes**
- Removed obsolete feature flag checks that prevented the rendering of
the `AppPluginActionEditor`.

- **Chores**
- Deleted the `AppPluginActionEditor` component and its associated
exports, streamlining the codebase.

- **Refactor**
- Improved the structure and clarity of hooks and component definitions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-14 17:16:46 +05:30
Shrikant Sharat Kandula
a007bd0f05
chore: Remove unused JSON superuser signup route (#37378)
The JSON payload version of the super user signup route is not used
anywhere significant. This PR removes it.


## Automation

/test sanity authentication

### 🔍 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/11830003644>
> Commit: d051ed852ff68727805a81b5b59b54bdb50f1d2e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11830003644&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Authentication`
> Spec:
> <hr>Thu, 14 Nov 2024 03:53:00 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**
- Updated user creation process to use URL-encoded data instead of JSON
for super user creation.
  
- **Bug Fixes**
- Removed deprecated `createSuperUser` methods from the API and server
controllers, streamlining user management.

- **Chores**
- Modified setup scripts to reflect changes in user data transmission
for creating super users.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-14 14:14:42 +05:30
Shrikant Sharat Kandula
7e209d2615
chore: Remove unused UserData.role (#37381)
The `role` field is not sent by the client and is not used by the server
anywhere.

We're not removing the `role` field in analytics payloads, since changes
like that in the past have broken other analytics pipelines (where a
field value was `null` instead of `""` started to throw NPEs in some
internal workflows). We can solve that as a separate problem later.


## Automation

/test sanity authentication

### 🔍 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/11830985060>
> Commit: 986fc8986a81aa212eaed455e22181cf927002f0
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11830985060&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Authentication`
> Spec:
> <hr>Thu, 14 Nov 2024 05:59:04 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**
- Simplified user update requests by removing the `role` field,
streamlining user data management.
  
- **Bug Fixes**
- Adjusted analytics tracking to exclude user role information, ensuring
compliance with updated data handling practices.

- **Documentation**
- Updated test cases to reflect changes in user role management,
focusing on name and use case updates instead.

These changes enhance the user experience by simplifying user management
and improving data privacy in analytics.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-14 13:36:45 +05:30
Hetu Nandu
035d315cb8
fix: misc Button implementations not using isIconButton prop (#37382)
## Description

Fixes issues introduced when we added min width for buttons in #37367


## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/11831136814>
> Commit: dce8dcd991d54ccc016a073cc3521bd0f50abad8
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`
> Spec: ``
> <hr>Thu, 14 Nov 2024 05:12:11 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2024-11-14 05:53:14 +00:00
Ankita Kinger
d90faa2e61
chore: Updating the function icon on JS editor (#37340)
## Description

Updating the function icon on JS editor to use the below icon:

https://www.figma.com/design/8L9BXMzNTKboGWlHpdXyYP/Appsmith-IDE?node-id=3320-86616&t=m7Tv72GIRzKZCugh-4


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

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11811778322>
> Commit: 1e8555bd5ae7e3635652107441bf5a51311611ce
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11811778322&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.JS`
> Spec:
> <hr>Wed, 13 Nov 2024 07:03:04 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 JavaScript function icon (`js-function-v2`) for
enhanced visual representation in the application.
	- Added a new icon for data sources (`DataSourcesIconV2`).
- Updated dropdown options for JavaScript functions to improve
organization and accessibility.

- **Bug Fixes**
- Adjusted the icon rendering logic to ensure the correct icon is
displayed based on the feature flag.

- **Documentation**
- Improved clarity in the action selection interface for JavaScript
functions and their arguments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-13 12:49:11 +05:30
Hetu Nandu
df7521e93a
chore: Update ADS button min width (#37338)
## Description

Sets the min width of an ADS button (expect icon buttons) to be 60px


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/11809774671>
> Commit: 224483d356083468d27acc5bb6a3d2b059ba8146
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11809774671&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/Widgets/ListV2/Childwigets/List_Inputs_spec.js</ol>
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/identified-flaky-tests-65890b3c81d7400d08fa9ee3?branch=master"
target="_blank">List of identified flaky tests</a>.
> <hr>Wed, 13 Nov 2024 04:12:40 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 button styles to include minimum width constraints: 60 pixels
for small buttons and 80 pixels for medium buttons, improving layout
consistency for non-icon buttons.
- Introduced a new property `isIconButton` in the `Button` component to
adjust button presentation.
- Added functionality to refresh the workspace list immediately after
creating a new workspace.
- Implemented improved error handling by checking for `workspace.id`
before rendering workspace items.
- Added a new state variable to manage the visibility of the import
application modal.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-13 07:15:26 +00:00
Nidhi
8773bdd1e9
chore: Update ObservationHelper to allow sampling of spans (#37345) 2024-11-12 19:43:43 +05:30
Ankita Kinger
91cf54ba47
chore: Updating the settings icon throughout the product (#37330)
## Description

Updating the settings icon throughout the product to use the below icon:

https://www.figma.com/design/8L9BXMzNTKboGWlHpdXyYP/Appsmith-IDE?node-id=33-3546&t=qpptzxhkWatrFIn1-4


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

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11796204902>
> Commit: 0e57343a6c2b7543f37e37940f8447be10ccd9e9
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11796204902&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 12 Nov 2024 12:12:33 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**
- Updated icons for various settings-related components from
"settings-2-line" to "settings-v3" to enhance visual representation.

- **Bug Fixes**
- Improved handling of frame ancestor settings in the AdminSettings
configuration, ensuring better management of stored values.

- **Documentation**
	- No changes to the documentation were made in this release. 

- **Chores**
- Updated multiple components to reflect the new icon, maintaining
overall functionality without introducing new logic.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-12 18:17:58 +05:30
Ayush Pahwa
5af1bbe9f6
feat: feature flag for eslint migration (#36543)
## Description

This PR introduces a feature flag to control the ESLint migration.

Fixes #36542

## Automation

/test js 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/11795470649>
> Commit: ac773e1ccb4a3e67159ac21e4abc757f5f959693
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11795470649&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.JS, @tag.Sanity`
> Spec:
> <hr>Tue, 12 Nov 2024 11:58:31 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **New Features**
- Introduced a new feature flag, `rollout_eslint_enabled`, for managing
ESLint functionality.
- Added an enumeration for linter versions, including `"JSHINT"` and
`"ESLINT"`.
- Implemented a function to dynamically determine the linter version
based on the feature flag.

- **Bug Fixes**
- Enhanced linting error handling by updating the linter version
dynamically instead of using a hardcoded value.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-12 17:35:28 +05:30
Ilia
276b39b669
feat: add CarbonConnect component (#37280)
## 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.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/11795876861>
> Commit: d5f2c7119b75cb79f51c64e0f38790cde602045e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11795876861&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 12 Nov 2024 11:53:26 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

## Release Notes

- **New Features**
- Introduced an optional `fallback` prop in the ErrorBoundary component
for customizable error handling.
- Added a new `datasourceId` property to enhance control configuration.
- Launched the `CarbonButton` component, expanding form control options.
- Registered the `CARBON_BUTTON` form control type, increasing available
control types.

- **Enhancements**
- Improved rendering logic in the FormControl component for better user
experience.
- Optimized performance through refined memoization in the FormControl
component.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-12 12:55:02 +01:00
Nidhi
d4007e12bc
chore: Switch server tracing configs to use OTEL (#37333) 2024-11-12 13:49:00 +05:30
Hetu Nandu
12ab7e6269
fix: Bug where identifyUser not called in cloud (#37329)
## Description

Fix the bug where return was called before the await for cloud
conditions. This made the identifyUser case being skipped almost always


Missed in https://github.com/appsmithorg/appsmith/pull/37303


## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/11791461362>
> Commit: 94bc9890be85ac51d52d9d0962e8f3f6e84fc7b0
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`
> Spec: ``
> <hr>Tue, 12 Nov 2024 05:44:55 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 analytics initialization process to ensure completion before
user identification.
  
- **Bug Fixes**
	- Improved error handling for analytics setup with Sentry logging.

- **Documentation**
	- Updated function signatures for clarity and consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-12 06:24:04 +00:00
Rajat Agrawal
b24b66f450
chore: Add span for measuring performance of consolidated api (#37328)
This PR adds spans for fetching consolidated api from client perspective

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

## Summary by CodeRabbit

- **New Features**
- Enhanced API call functionality with improved error handling and
response validation.
	- Added tracing for better observability during API interactions.

- **Bug Fixes**
- Refined error handling for specific scenarios, including unauthorized
access.

- **Documentation**
- Updated function signatures for better clarity on API response
handling.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-12 11:07:20 +05:30
Rahul Barwal
8cbf8a5504
fix: Implement dynamic dropdown width in SelectField in JSONForm (#37289)
## Description
<ins>Problem</ins>

The SelectField inside JSONForm widget's dropdown width was not
dynamically adjusted, resulting in inconsistent responsiveness.

<ins>Root cause</ins>

The SelectField component's dropdown width was not being updated
dynamically, causing the component to become too wide or too narrow,
affecting its usability.

<ins>Solution</ins>

This PR enhances the SelectField component to adjust its dropdown width
dynamically for improved responsiveness. This PR handles...

- Dynamically adjusting the dropdown width based on the available screen
space, ensuring a responsive user experience.
- Properly setting up and tearing down the ResizeObserver to ensure
accurate width detection.

Fixes #37279
_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.JSONForm"

### 🔍 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/11790765022>
> Commit: 1438c99fb6760f87879363ed1ad82bc0f3ddea54
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11790765022&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.JSONForm`
> Spec:
> <hr>Tue, 12 Nov 2024 04:59:15 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 `SelectField` component for dynamic dropdown width
adjustment based on its wrapper size.
	- Improved filter update handling within the `SelectField`.

- **Bug Fixes**
- Expanded tests for validation logic to ensure accurate behavior based
on the `isRequired` property.

- **Tests**
- Added comprehensive tests for the `SelectField`, including mock
implementations for `ResizeObserver` to validate resizing behavior.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-12 10:56:26 +05:30
Hetu Nandu
d8d0d1a61c
feat: Custom Widget Editor integration with AI (#37257)
## Description

Adds the AI widget builder integration inside the Custom Widget Editor. 
User can prompt the AI on the changes and the bot will update the code
of the widget direclty.

Fixes #37250

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/11772460894>
> Commit: cffb595675ade95c74601285627d59fd3f050b34
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`
> Spec: ``
> <hr>Mon, 11 Nov 2024 05:03:57 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Release Notes

- **New Features**
  - Introduced a feature flag for a custom AI widget builder.
- Added a new `ChatBot` component for enhanced interactivity within the
editor.

- **Improvements**
- Simplified layout management by removing the `LayoutControls`
component.
- Enhanced the `TabsLayout` to conditionally display an AI tab based on
the feature flag.
  - Updated the `Editor` component to include the AI tab dynamically.

- **Bug Fixes**
- Streamlined state management for layout selection in the custom widget
builder context.

These updates improve user experience by integrating AI capabilities and
simplifying the interface.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-11 10:29:32 +00:00
Ankita Kinger
5c075e89de
fix: Adding permission check for the view tab on datasource editor (#37308)
## Description

Adding permission check for the view tab on datasource editor

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

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11766974110>
> Commit: bd2ecfe1a834869a99962116e2d45512e6dfc54a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11766974110&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Datasource`
> Spec:
> <hr>Sun, 10 Nov 2024 18:51:27 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 feature flag checks for tab rendering based on user
permissions.
- Conditional display of the "View Data" tab, ensuring only authorized
users can access it.

- **Bug Fixes**
- Improved control flow for tab activation based on datasource validity
and user permissions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-11 14:28:18 +05:30
Hetu Nandu
ec1d737edc
fix: Analytics identify user not called correctly (#37303)
## Description

Update the call sequence during init to solve for analytics issue. It
was found that the `identifyUser` in analytics was not called properly
when in edit mode. This change will fix the call sequence. It also
ensures that the init of analytics is not a blocker by forking out the
call into a different generator function

## Automation

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

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


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced analytics tracking capabilities by integrating user
identification into the analytics setup process.
- Simplified the initialization of analytics trackers for improved
performance.

- **Bug Fixes**
- Improved error handling for analytics initialization and user
tracking.

- **Documentation**
- Updated comments for clarity regarding the new analytics tracking
logic.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-11 10:47:32 +05:30
Anagh Hegde
c2bf6c830e
chore: add spotless for sql files for postgres (#37016)
## Description
Add spotless check for SQL files. 

## 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/11549507562>
> Commit: 5614181e15e5cfa768f43fb73d23b559ddaba782
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11549507562&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Mon, 28 Oct 2024 11:13:16 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**
- Added user guidance in SQL templates to prompt users for valid table
names.
- **Bug Fixes**
- Improved formatting of SQL statements for better readability across
various plugins.
- **Chores**
- Updated configuration to include SQL files for formatting by the
Spotless Maven plugin.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-09 11:21:30 +05:30
Ankita Kinger
f6787db0d2
chore: Updating the UI for save and edit datasource button in API editor (#37302)
## Description

Updating the UI for save and edit datasource button in API editor

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

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11741487860>
> Commit: 555d2c24c14716efbe919f0b46bb5b3a80e9d366
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11741487860&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity, @tag.Datasource`
> Spec:
> <hr>Fri, 08 Nov 2024 13:49: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**
- Enhanced tooltip functionality for the datasource management button,
providing contextual information for saving and editing actions.
- Introduced specific tooltips for editing and saving datasources,
improving user understanding.

- **Bug Fixes**
- Corrected a typographical error in the function name responsible for
rendering nested components, enhancing clarity in the rendering process.

- **Documentation**
- Improved clarity of messages related to datasource actions, specifying
"Save URL" for saving actions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-08 19:22:42 +05:30
Manish Kumar
806c710ac3
chore: Modified default behaviour of consolidated API for missing url params and extra url params (#37274)
## Description
- PR for handling Consolidated API when url params are incomplete or
have extra params.

> [!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.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/11738054403>
> Commit: f6124cbc2003258953c52d1b06ec3fd806157fbf
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11738054403&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Fri, 08 Nov 2024 08:27:02 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **New Features**
- Improved logic for application and page retrieval based on branch
names and application modes.
- Enhanced error handling and logging for better user experience during
page loads.

- **Bug Fixes**
- Resolved issues with application ID fetching when branch names are
present.

- **Tests**
- Added new test cases to cover various scenarios related to page
loading in Git-connected and non-Git applications, ensuring robust
functionality across different contexts.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-08 17:00:20 +05:30
Ankita Kinger
5e89aa056e
chore: Opening response pane by default on query creation and for page load queries (#37245)
## Description

Opening response pane by default on query creation and for page load
queries

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

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11723600626>
> Commit: 98db89cea1891e15fa5881503fa34a26d42cfd76
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11723600626&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 07 Nov 2024 13:48:18 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 `PluginActionResponse` component for improved
functionality and dynamic response handling.
- Introduced a new state variable to manage response tab visibility on
initial load.
- Added logic to automatically open the response and schema tabs based
on action responses.

- **Bug Fixes**
- Improved control flow and error handling for displaying responses
based on action success.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Ankita Kinger <ankitakinger@Ankitas-MacBook-Pro.local>
2024-11-08 11:10:49 +05:30
Valera Melnikov
1f25adccd7
chore: remove padding for anvil embed apps (#37173)
## Description
I removed the styles from the DSL and changed the layout type for main
container to `LAYOUT_COLUMN`.

## 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/11720581716>
> Commit: 4ccd8772d1e4f11e1638213787b646932301762c
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11720581716&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 07 Nov 2024 11:30:39 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 the `MainCanvasWrapper` component for dynamic styling based
on URL parameters.
	- Added a new rendering behavior for the `LayoutColumn` component.

- **Improvements**
- Updated highlight derivation and layout type in the `LayoutColumn`
component.
	- Simplified layout structure in the `anvilDSLTransformer` function.
- Adjusted layout properties for better alignment and spacing in the
`LayoutColumn` component.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-07 15:19:23 +03:00
Pawan Kumar
9ffcb64da9
chore: Add documentation for property pane config (#36880)
/ok-to-test tags="@tag.Anvil"

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

- **New Features**
- Introduced a new `PropertyControlFactory` class for managing property
controls.
- Added new properties to the `PropertyPaneControlConfig` interface,
enhancing customization and validation options.
- Implemented methods for creating and registering control builders,
improving the flexibility of property controls.

- **Documentation**
- Enhanced JSDoc comments for existing properties and methods, providing
clearer guidance on their usage.
- Updated documentation for the `PropertyPaneSectionConfig`,
`PropertyPaneControlConfig`, and `ValidationConfigParams` interfaces to
clarify their functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11716829822>
> Commit: 62df82621a44126f2d876c77a892010265ec53d3
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11716829822&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Anvil`
> Spec:
> <hr>Thu, 07 Nov 2024 05:15:44 UTC
<!-- end of auto-generated comment: Cypress test results  -->
2024-11-07 15:41:20 +05:30
Nilesh Sarupriya
83e75583e3
chore: use spybean for SessionUserService and remove unused method for populating the userId in the ActionExecuteDTO (#37268)
## Description
> Fix test case for EE


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

## Automation

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

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

- **Tests**
- Updated the `sessionUserService` field in the test class to utilize
partial mocking, enhancing the verification of interactions during
tests.
- **Bug Fixes**
- Removed the method responsible for populating user IDs in action
execution, streamlining user identification handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2024-11-07 01:23:20 -06:00
Rahul Barwal
ae7f8c73ec
feat: add unmount field validation logic to JSON form widget (#37220) (#37259)
## Description
<ins>Problem</ins>

When deleting all fields of array item, submit became disabled.

<ins>Root cause</ins>

The JSON form widget did not properly handle field validation during
unmounting of array items, leading to inconsistencies in the form's
error state.

<ins>Solution</ins>

This PR implements `useUnmountFieldValidation` to `FieldRenderer.tsx`,
enhancing field validation for array items in the JSON form widget. This
PR handles...

- Ensuring proper cleanup of field validation when an array field is
removed from the form, resolving visibility issues in list view mode.
- Maintaining a consistent and accurate form state even after field
removal.


Fixes #18752
_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.JSONForm"

### 🔍 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/11703351095>
> Commit: 521fd25a83c099ddcc0273cf11b4cca80074c7a5
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11703351095&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.JSONForm`
> Spec:
> <hr>Wed, 06 Nov 2024 12:45:42 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 mechanism for handling field validation upon
unmounting in the form widget.
  
- **Bug Fixes**
- Improved field validation logic to enhance form data management during
component unmounting.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-07 11:29:28 +05:30
Rahul Barwal
0c406b0d02
feat: Enhance date validation logic and add tests for timePrecision in DatePickerWidget2 (#37218)
## Description
<ins>Problem</ins>

The DatePickerWidget2 component had incomplete date validation logic,
allowing incorrect dates to be selected, and lacked comprehensive
testing for time precision.

<ins>Root cause</ins>

The date validation logic did not accurately account for time precision,
and the testing was limited, making it difficult to ensure the
component's correctness.

<ins>Solution</ins>

This PR enhances the date validation logic in DatePickerWidget2 to
provide better granularity checks based on the timePrecision property,
and adds comprehensive tests to ensure correct date handling across
boundaries for different timePrecision settings. This PR handles...

- Enhanced date validation logic to accurately account for time
precision.
- Comprehensive testing to ensure correct date handling for all possible
input combinations.

Fixes #37083
_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.Datepicker"

### 🔍 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/11702221741>
> Commit: 306373ac3b64a5a9ba037f513accd15dd9aaa36e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11702221741&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datepicker`
> Spec:
> <hr>Wed, 06 Nov 2024 11:32:28 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **New Features**
- Enhanced date validation logic in the DatePickerWidget2 for improved
accuracy based on time precision.

- **Tests**
- Introduced comprehensive test cases for the `isValidDate` function,
covering various scenarios related to time precision, ensuring robust
validation against defined date ranges.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-07 11:25:49 +05:30