Commit Graph

593 Commits

Author SHA1 Message Date
Nilansh Bansal
f05e3be955
fix: file upload fixed when using Base64 type in FilePicker and multipart/form-data in REST API (#39332)
## Description
> This PR fixes the file upload issues when we use the Base64 type in
the File Picker Widget and the REST API uses a multipart/form-data type.

From the table
[here](https://github.com/appsmithorg/appsmith/issues/39109#issuecomment-2655659006),
this issue points to the 3rd one in the list.

Fixes #39227 

## 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/13392351852>
> Commit: c731c6515d4bba00ca3232b5309401d76471f184
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13392351852&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 18 Feb 2025 14:36:12 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced multipart form data handling for file uploads, now supporting
robust processing of base64-encoded content with options for custom
filenames and MIME types.
- Introduced specific error messages for invalid multipart data and
base64 format issues.

- **Refactor**
- Streamlined the data processing workflow with clearer error messages
and simplified logic for improved reliability during file upload
operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-18 20:13:13 +05:30
Nilesh Sarupriya
d921110658
chore: add postSaveHook (#39306)
## Description
> [!IMPORTANT]  
> Add a post save hook on datasources.

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/13386879786>
> Commit: 260ad934fc1295d2ad5ed035ff593c9950158c74
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13386879786&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 18 Feb 2025 09:36:50 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced multi-tenant support: Datasource records now incorporate
tenant and instance details for seamless management across environments.
- Extended post-save actions: Datasource saving triggers additional
operations via plugin integrations to improve overall functionality.
- New transient metadata field added to DatasourceStorage for additional
data handling.
- New post-save hook method introduced for plugins to perform actions
after saving a datasource.
	- New constant `TENANT_ID` added for consistent field name referencing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2025-02-18 04:23:15 -06:00
Manish Kumar
7764d3df87
chore: implementation of artifact type agnostic import (#39237)
## Description
 - Added implementation for ArtifactType agnostic git import

Fixes #`Issue Number`  

## 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/13305383592>
> Commit: bdb5b6515ad365b611831082ee20af327b940687
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13305383592&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 13 Feb 2025 11:38:58 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **New Features**
- Streamlined Git artifact import with a simplified interface for easier
repository integration.
- Enhanced metadata reconstruction and remote repository management to
improve artifact handling.
- Advanced Git analytics and error tracking for improved operational
insights.
- Expanded application lookup via Git integration, offering more robust
identification.
- New methods for moving artifacts and retrieving artifact types from
repositories.
  - Added support for handling artifact JSON types in Git repositories.

- **Refactor**
  - Updated theme property management for improved internal consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-13 18:42:28 +05:30
Nilesh Sarupriya
9f4edae69c
chore: move rts caller interface to external module (#39103)
## Description
> [!IMPORTANT]  
> Move RTSCaller as an interface to external module.


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/13195632288>
> Commit: 4a08311f6619997e2f686b445dc1e9f63c987190
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13195632288&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Fri, 07 Feb 2025 09:10:12 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 remote service integration to streamline external API
communications for improved reliability.
  
- Refactor
- Standardized dependency injection and reorganized module interactions
for handling HTTP requests, enhancing maintainability and testing
capabilities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2025-02-07 04:16:37 -06:00
Nilansh Bansal
1ff139888c
fix: added support for both openssh and rsa private keys (#39017)
## Description
> This PR adds support for OpenSSH private keys in the SSHUtils. Earlier
we only supported RSA, DSA, EC key formats.

Fixes #39015 

## 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/13160498931>
> Commit: 0c06208089c6e3498f5fca0b7ee861b7797e5cef
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13160498931&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource`
> Spec:
> <hr>Wed, 05 Feb 2025 15:56: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 secure connection setup by automatically detecting and
supporting multiple SSH key formats, ensuring more reliable
authentication during tunnel creation.
- Improved error messaging for invalid SSH key formats and parsing
issues.

- **Tests**
- Added new tests to validate the parsing of OpenSSH, PKCS#8 PEM, and
RSA PEM key formats, improving test coverage for SSH key handling
functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-05 23:39:39 +05:30
Manish Kumar
2e598068b4
chore: speeding up and verifying git apis (#38952)
## 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/13112635630>
> Commit: f85c2bbc5ffa6604c6e69a7b3e476538f6a61e14
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13112635630&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Mon, 03 Feb 2025 12:27: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**
- Introduced a new way to pull remote changes without switching
branches, simplifying Git operations.
- Added endpoints for managing user Git configurations, including
default and repository-specific profiles.

- **Refactor**
- Streamlined Git branch and reference management with improved
parameter handling and updated URL structures.
- Enhanced error reporting and consistency in remote fetch and merge
operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-03 21:15:49 +05:30
Diljit
01cda23c3d
chore: add etag caching in consolidated api for application view mode (#38873)
## Description
- Implement Etag caching for consolidated api in view mode.
  - Generate Etag for consolidated api in view mode
- compare the if none match header with the computed etag and respond
with either a 304 or 200
  - add span for generate etag fn
- Remove prefetching and caching of static assets in service worker  

```mermaid
sequenceDiagram
    Client->>Server: Request Consolidated API
    Server-->>Server: Compute ETag
    Server-->>Client: Respond with ETag, Cache-Control
    Client->>Server: Subsequent Request with If-None-Match
    alt ETag Matches
        Server-->>Client: 304 Not Modified
    else ETag Different
        Server-->>Client: Full Response with New ETag
    end
```

## 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/13046610688>
> Commit: c14d58da8a59b3bbfb10c7e308b518d2cd8e3b7d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13046610688&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Thu, 30 Jan 2025 07:14:21 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **New Features**
- Added ETag support for consolidated API responses to improve caching
efficiency.
- Introduced a new route handler for the `/api/v1/consolidated-api/view`
endpoint.

- **Performance Improvements**
	- Optimized NGINX configuration for API responses.
	- Updated tracing endpoint for better monitoring.

- **Dependency Updates**
	- Added Jackson datatype support for Java 8 date and time handling.

- **Technical Enhancements**
	- Improved request handling in ConsolidatedAPIController.
	- Updated service worker configuration.
	- Refined feature flag handling in the client.
	- Enhanced API request headers for consolidated page load functions.
	- Simplified caching and routing logic in the service worker.
	- Adjusted service worker caching strategy for production environment.
	- Updated test specification path for Cypress limited tests.
- Modified request handling to remove unnecessary headers in feature
flag functions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-01-30 13:54:34 +05:30
Trisha Anand
54332e4f49
chore: Remove deprecated organization from code (#38878)
## 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

/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/13012342671>
> Commit: be3620ce2de03b3ca5ba06c0ebe944b79b6d3891
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13012342671&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Tue, 28 Jan 2025 16:03:08 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

Based on the comprehensive review of the changes, here are the updated
release notes:

- **Terminology Update**
- Replaced "organization" references with "workspace" across multiple
components
  - Updated role names from ORGANIZATION_* to WORKSPACE_*
  - Removed deprecated organization-related constants and fields

- **API and Interface Changes**
- Updated method signatures to use `workspaceId` instead of
`organizationId`
  - Modified template and application import/export methods
  - Adjusted Git-related interfaces and method documentation

- **Backend Modifications**
- Refactored permission and role management to align with workspace
context
  - Updated analytics event tracking to use workspace identifiers
  - Simplified datasource and action validation logic

- **Frontend Adjustments**
  - Updated variable names in React components and sagas for clarity
  - Modified API call parameters to align with workspace terminology

These changes represent a comprehensive transition from an
organization-based to a workspace-based model across the application's
architecture.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2025-01-29 12:16:51 +05:30
Manish Kumar
e89788dd1a
chore: git branches IT (#38805)
## 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, @tag.ImportExport"

### 🔍 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/12983176503>
> Commit: 946207867347024d59e989acbc6e019bdb3c263a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12983176503&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git, @tag.ImportExport`
> Spec:
> <hr>Mon, 27 Jan 2025 07:09: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**
	- Added file format versioning for Git-related artifacts
	- Enhanced Git reference management with new methods and constants
	- Improved logging for Git operations

- **Bug Fixes**
	- Refined file path matching and handling in Git operations
	- Improved error handling during artifact and metadata processing

- **Refactor**
	- Centralized file and constant management across Git-related services
	- Updated method signatures to support more comprehensive Git workflows
	- Simplified code by removing hardcoded string literals

- **Tests**
- Added new integration test suite for Git branch and repository
operations
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-01-27 13:22:45 +06:00
Apeksha Bhosale
a243e97510
chore: code split for consolidated api span names to add module instances and entities in EE (#38804)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


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

## Automation

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

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


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


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

## Summary by CodeRabbit

- **Refactor**
	- Restructured span naming constants for consolidated API tracing
- Introduced a new base class `ConsolidatedApiSpanNamesCE` to centralize
span name definitions
	- Updated inheritance structure for `ConsolidatedApiSpanNames`

- **New Features**
- Added comprehensive span naming constants for various application
components
- Standardized span naming with `appsmith.` prefix for improved tracing
consistency

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-01-27 12:17:21 +05:30
Manish Kumar
01a7b3dce5
chore: merge and merge status (#38495)
## 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 #37453, #37454

## Automation

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

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!WARNING]
> Tests have not run on the HEAD
ab5e3363997d194c713b015d031fff27b7bf8404 yet
> <hr>Wed, 08 Jan 2025 07:30:24 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

Based on the comprehensive summary of changes, here are the concise
release notes:

- **New Features**
	- Added branch merging capabilities
	- Enhanced Git reference handling
- Introduced new methods for fetching and processing remote Git
references

- **Improvements**
	- Updated method signatures across multiple Git-related services
	- Improved logging and error handling in Git operations
	- Expanded support for different reference types in schema migrations

- **Technical Updates**
	- Refactored Git file utility methods
	- Added new Data Transfer Objects (DTOs) for Git operations
	- Enhanced JSON schema migration processes

These changes primarily focus on improving Git integration, providing
more flexible reference management, and streamlining the application's
version control capabilities.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-01-08 14:49:09 +00:00
Manish Kumar
649338d188
chore: added git resource map consumption (#38470)
## Description
- Added git resource map consumption


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" it=true

### 🔍 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/12600209771>
> Commit: 8877a5b92ae5bcb25b428ed50fe09a8d0b767e35
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12600209771&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Fri, 03 Jan 2025 16:35:41 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

Based on the comprehensive summary of changes, here are the release
notes:

## Release Notes

- **Git Integration Enhancements**
  - Improved Git reference handling across multiple service methods
- Enhanced support for artifact migration and JSON schema
transformations
  - Refined parameter management for Git-related operations

- **Method Signature Updates**
  - Standardized method signatures across Git-related services
  - Added support for more flexible reference type handling
  - Improved consistency in method parameter ordering

- **Backend Improvements**
  - Updated JSON migration processes
  - Enhanced error handling in Git file system operations
  - Expanded support for different artifact types in Git workflows

- **Testing and Validation**
  - Updated test cases to reflect new method signatures
  - Improved test coverage for Git-related functionality

These changes primarily focus on backend improvements to the Git
integration system, providing more robust and flexible handling of
artifacts and references.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-01-05 21:34:36 +05:30
Nidhi
49f9362519
chore: Switching to ref types and names for git (#38433) 2025-01-02 18:05:39 +05:30
Manish Kumar
a8cb8aac44
chore: added interface changes to the server (#38258)
## Description
- interface layer changes for Git executor


Fixes #
> [!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/12481281011>
> Commit: e510ca6c5f34e5dd201d040d4fc866ca4c0628d8
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12481281011&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Tue, 24 Dec 2024 16:05: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

## Summary by CodeRabbit

- **New Features**
- Introduced methods for creating and checking out branches and tags in
Git.
- Added functionality for validating reference creation based on
artifact status.
- Enhanced artifact publishing with new methods related to reference
creation.
  - Added a method for checking out artifacts based on provided details.

- **Bug Fixes**
- Improved error handling for Git operations, providing more specific
error messages.

- **Documentation**
- Updated method signatures to reflect new parameters and
functionalities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-25 01:11:47 +05:30
Nilansh Bansal
a3c5547298
chore: added comment to avoid merge conflicts (#38211)
## Description
> This PR adds comment to avoid merge conflicts while creating a EE
specific plugin.
Ref: https://github.com/appsmithorg/appsmith-ee/pull/5748
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/12374140333>
> Commit: 19d726b36a880186e8def9145fdee0393b340e8a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12374140333&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 17 Dec 2024 14: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

- **Documentation**
- Added comments in the `PluginType` enum and `pom.xml` to guide
developers on adding Enterprise Edition Plugin Types.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-17 20:21:28 +05:30
Manish Kumar
3f9b1394c7
chore: reference lifecycle (#38174)
## Description

Fixes #37451, #37455, #37448
> [!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  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/12370910561>
> Commit: 03a3843d131e4f5d819ede06212ba6300fab99c3
> Workflow: `PR Automation test suite`
> Tags: `@tag.Git`
> Spec: ``
> <hr>Tue, 17 Dec 2024 10:18:10 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 methods for handling Git references and statuses.
- Added functionality to list branches and references, including options
for remote checks.
	- New class `GitRefDTO` created to represent Git references.
	- New enumeration `RefType` defined to categorize reference types.
- Enhanced Git operations with methods for checking out references and
creating new branches.

- **Bug Fixes**
	- Updated error handling and logging in Git status retrieval.

- **Chores**
	- Deprecated the `ORGANIZATION_ID` constant and introduced `REF_NAME`. 
	- Updated import statements for `RefType` across multiple classes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-17 16:15:42 +05:30
Manish Kumar
979acc9640
chore: added status changes (#38170)
## Description
- Central Git status implementation


Fixes #37441 

> [!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  -->
> [!CAUTION]
> 🔴 🔴 🔴 Some tests have failed.
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12367777643>
> Commit: 73a48ae397ebd37ad68b96f88aeb9a9952cea98f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12367777643&attempt=3&selectiontype=test&testsstatus=failed&specsstatus=fail"
target="_blank">Cypress dashboard</a>.
> Tags: @tag.Git
> Spec: 
> The following are new failures, please fix them before merging the PR:
<ol>
>
<li>cypress/e2e/Sanity/Datasources/RestApiOAuth2Validation_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, 17 Dec 2024 07:58: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

- **New Features**
	- Introduced a new class to track the status of local Git repositories.
- Added methods to retrieve Git status, including comparisons with
remote repositories.
- Enhanced Git service functionality with improved status management and
error handling.

- **Bug Fixes**
	- Improved file lock management during remote fetch operations.

- **Documentation**
	- Added TODO comments for method naming improvements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-17 14:02:40 +05:30
sneha122
88ec7c7c50
fix: gsheets all sheets option enabled behind a feature flag (#37942)
## Description
This PR adds back all sheets option which had been removed in PR:
https://github.com/appsmithorg/appsmith/pull/36125


Fixes #38002
_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, @tag.Widget"

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


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


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

- **New Features**
- Added new options for Google Sheets permissions, enhancing user
selection capabilities.
- Introduced a feature flag to control the visibility of new Google
Sheets options.
	
- **Bug Fixes**
- Improved handling of feature flags in the datasource section
rendering, ensuring correct visibility based on flags.

- **Documentation**
- Updated test specifications for Google Sheets datasource to include
new dropdown options.

- **Chores**
- Enhanced the logic for setting default values in the
RadioButtonControl component.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
Co-authored-by: Alex Golovanov <alex@appsmith.com>
2024-12-13 14:09:53 +05:30
Anagh Hegde
8e30a389e4
fix: conditionally set FqN name for partial import (#37694)
## Description
The fullyQulifiedName aka path for used for js objects was set to
actions as well during the partial import. This was causing the diff in
actual name and fullyQualifiedName when the name is edited in UI. Hence
few of the actions were failing in view mode.


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

## Automation

/ok-to-test tags="@tag.ImportExport, @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/12290147226>
> Commit: e60ca39ba2fdc5f19976ea3cbfc47a1b89a75a3f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12290147226&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.ImportExport, @tag.Git`
> Spec:
> <hr>Thu, 12 Dec 2024 05:52: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**
- Improved action refactoring functionality, ensuring consistent naming
conventions across different plugin types.
- Enhanced handling of action references during refactoring, ensuring
robust updates and checks for action configurations.

- **Bug Fixes**
- Fixed issues related to the retrieval and updating of actions based on
context, improving overall efficiency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: sondermanish <sonder.manish@gmail.com>
2024-12-12 18:32:49 +05:30
Nidhi
86d22e561c
chore: Added spans to health check (#37980)
## 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  -->
> [!CAUTION]  
> If you modify the content in this section, you are likely to disrupt
the CI result for your PR.

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


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


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

## Summary by CodeRabbit

- **New Features**
- Introduced improved health check functionality for Redis and MongoDB,
enhancing observability with specific health metrics.
- Added constants for health monitoring, including `HEALTH`,
`MONGO_HEALTH`, and `REDIS_HEALTH`.

- **Bug Fixes**
- Enhanced error handling for health checks, ensuring consistent logging
and mapping of timeout exceptions.

- **Refactor**
- Updated constructor signatures to accommodate new dependencies for
better service initialization.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-05 17:33:00 +05:30
Nidhi
a2c5caa819
chore: Git resource map conversions (#37920)
## 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  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/12145100933>
> Commit: c78857b0266e6cfd7be488205544de956e88647e
> Workflow: `PR Automation test suite`
> Tags: `@tag.Git`
> Spec: ``
> <hr>Tue, 03 Dec 2024 17:36: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

## Release Notes

- **New Features**
- Enhanced Git resource handling with the ability to save artifacts to
Git repositories.
- Introduced new methods for managing modified resources and artifact
exchange JSON.
- Improved tracking of updated entities during export operations,
including custom JavaScript libraries and new pages.
- New functionality for handling application artifacts and contexts in
Git.

- **Bug Fixes**
- Refined error handling and control flow in auto-commit and migration
processes.

- **Documentation**
- Updated comments and method signatures for clarity and improved
understanding.

- **Tests**
- Added new test cases to validate the conversion processes and resource
comparisons.
- Enhanced existing tests to utilize new data structures and improve
clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-12-04 00:01:51 +05:30
Rishabh Rathod
e8cb73dc68
fix: Reduce RTS calls in the updateLayout flow (#37127)
## Description

In this PR, we update the code to send all the bindings to RTS together
instead of calling it for each property binding. It was observed that
the calls were earlier around 40k for the test application.

This change leads to optimisation of performance for 
- updateLayout call ( when updating anything in the DSL ) 
- query/API action update 
- JS action update

Fixes #37055



## Tests on DP 

Deploy-Preview-URL: https://ce-37127.dp.appsmith.com/

- [x] Multiple widgets with the same bindings impacting the sequence of
onPageLoadActions
- onPageLoadActions update as expected when
   - [x] DSL is updated
   - [x] Query is updated
   - [x] JS Object is updated

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

## 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/12082854290>
> Commit: 07b68d4f0663ff336807223c93feceb1264741df
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12082854290&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 29 Nov 2024 11:44: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

## Summary by CodeRabbit

- **New Features**
- Enhanced retrieval of possible entity references and their
relationships with a new method.
- Added new test cases to validate action execution on page load and
dynamic binding handling.

- **Bug Fixes**
	- Improved error handling and validation for executable references.
	- Enhanced assertions to ensure correct execution of layout actions.

- **Tests**
- Added a test to validate layout actions with multiple widgets
referencing the same action.
	- Refactored existing tests for better readability and maintainability.
- Expanded test coverage for layout updates and dynamic binding
scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-11-29 17:16:19 +05:30
Manish Kumar
731356a0f3
feat: Git modularisation backend structure (#37843)
## Description
 - Added structure for git modularisation


Fixes https://github.com/appsmithorg/appsmith/issues/37434
https://github.com/appsmithorg/appsmith/issues/37435


### No CI is required as the code is not exposed/ connected to existing
code

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


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


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

## Summary by CodeRabbit

- **New Features**
- Introduced Git handling capabilities, including committing changes,
managing repositories, and handling branches.
- Added support for managing Git user profiles and permissions related
to artifact creation.
- Enhanced artifact management with new methods for creating and
retrieving artifacts based on workspace and repository details.

- **Bug Fixes**
- Improved error handling and validation for Git operations, ensuring
robust interaction with remote repositories.

- **Documentation**
- Updated documentation to reflect new methods and functionalities
related to Git operations and artifact management.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-11-29 13:41:44 +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
Nidhi
61960edb09
chore: Added git resource map types (#37746) 2024-11-27 10:17:33 +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
Nidhi
e7e3d5e002
chore: Removed manipulation for custom traceparent header (#37121) 2024-10-30 11:27:25 +05:30
Rishabh Rathod
5bca179116
chore: Add JSObject creation flow metrics (#37064)
## Description

These changes add monitoring spans to analyze the JS action creation
flow.

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

## Test the changes
| Case | Screenshot  |
|---|---|
| newRelic metrics for create flow |
![image](https://github.com/user-attachments/assets/314cc1d6-9def-49fc-afe9-4c77e84eaf72)
|


## 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/11500044480>
> Commit: ebf826f21d3714774a6aa4f443d99d9d89fe6454
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11500044480&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 24 Oct 2024 13:46: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**
- Introduced new constants to enhance action validation and repository
operations.
- Added functionality for improved observability in action creation and
validation processes.
- New constants related to data sources and pages for better tracking
and logging.

- **Bug Fixes**
- Updated existing constants for better alignment with method names,
enhancing clarity and functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-28 15:12:28 +05:30
Nilansh Bansal
88b987fd18
chore: removed unwanted metrics (#37052)
## Description
> This PR removes the extra metrics that were added which clouded up the
newrelic.
Old PR https://github.com/appsmithorg/appsmith/pull/37010 is to be
closed because extra indentation was added due to the IDE configuration.

Fixes #37051 

## 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/11493693400>
> Commit: 51ecb28956b5c7fa6b12e18428161614017407ba
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`
> Spec: ``
> <hr>Thu, 24 Oct 2024 06:16:14 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
2024-10-24 06:48:26 +00:00
Rishabh Rathod
dc5fbed66b
chore: Add spans attributes for no of lines and action count (#37001)
## Description


Fixes #36995

## 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/11455841055>
> Commit: 7285f3f04c37b0a78cf7fa8b9106c0fb5175bc29
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11455841055&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 22 Oct 2024 08:35:48 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

- **New Features**
- Added new constants for layout operations and data extraction to
improve functionality.
- Introduced observability tracking for various methods to enhance
monitoring and performance insights.
- **Bug Fixes**
- Enhanced error handling and logging for action updates and layout
modifications.
- **Refactor**
- Improved clarity and maintainability of methods related to action
collections and layout updates.
- **Chores**
- Updated method signatures to include new observability parameters for
better tracking.
- Added metrics for line and action counts in action collection updates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-22 14:22:29 +05:30
Nilansh Bansal
4f55f52c7f
chore: added instrumentation for js object update (#36999)
## Description
> This PR adds the granular level instrumentation for the JS Object
update calls.

Fixes #36996

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


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


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

- **New Features**
- Introduced new constants for action spans, application spans, layout
spans, and page spans to enhance tracking capabilities.
- Enhanced observability features in services related to page load and
executable management.

- **Bug Fixes**
	- Improved error handling for page and layout ID retrieval.

- **Refactor**
- Updated constructors and method signatures to incorporate new
observability dependencies.

These changes aim to improve tracking, error handling, and overall
performance of the application.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-22 11:28:10 +05:30
Ankita Kinger
faed301e32
chore: Moving action settings from editor form to toolbar (#36894)
## Description

Moving action settings from editor form to toolbar to follow the new
designs under action redesign project.

Fixes [#35512](https://github.com/appsmithorg/appsmith/issues/35512)
[#34670](https://github.com/appsmithorg/appsmith/issues/34670)
[#35535](https://github.com/appsmithorg/appsmith/issues/35535)

## 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/11384449381>
> Commit: 027e2a33685e50c2cb16e513993fff62b0d62e08
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11384449381&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 17 Oct 2024 12:40:29 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

## Release Notes

- **New Features**
- Introduced new components for managing API and query settings in the
Plugin Action Settings.
- Added functionality to open plugin action settings directly from the
toolbar.
- Implemented a settings popover interface for improved user
interaction.
- Added documentation links for QUERY_SETTINGS to enhance user guidance.

- **Improvements**
- Simplified rendering logic in the Plugin Action Form for better
performance.
- Updated form naming conventions for consistency across API and GraphQL
editors.
- Streamlined configuration settings by replacing `subtitle` with
`tooltipText` for clarity.
- Enhanced styling in Action Settings for better layout and user
experience.

- **Bug Fixes**
- Corrected the navigation logic to open plugin action settings instead
of debugger state.

These enhancements aim to improve user experience and streamline plugin
action management.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-18 11:18:08 +05:30
Apeksha Bhosale
28e54fe10d
chore: span push and sentry logs (#36682)
## Description
> [!TIP]  
> _Add a TL;DR when the description is longer than 500 words or
extremely technical (helps the content, marketing, and DevRel team)._
>
> _Please also include relevant motivation and context. List any
dependencies that are required for this change. Add links to Notion,
Figma or any other documents that might be relevant to the PR._


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

## Automation

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

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

## Summary by CodeRabbit

- **New Features**
- Enhanced error tracking for user creation, login, and sign-up
processes with Sentry integration.
- Added new constants for authentication and authorization processes to
improve logging and tracing.

- **Bug Fixes**
	- Improved error handling for user sign-up failures.

- **Documentation**
- Updated tracing configuration to include additional criteria for
Appsmith-specific spans, enhancing logging for login and signup
activities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-07 11:21:55 +05:30
Arpit Mohan
17d5d6eb00
chore: Upgrading spring to 3.3.3 to resolve vulnerable dependencies (#36266)
Co-authored-by: Nidhi Nair <nidhi@appsmith.com>
2024-10-01 22:12:56 +05:30
sneha122
05d38223fc
fix: Amazon S3 large file uploads issue fixed (#36584)
## Description
This PR fixes the file upload issue for S3. With S3 file upload, earlier
users were able to upload files only upto 14mb but now with this PR fix
they can upload larger files.


Fixes #35601 
_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/11100760284>
> Commit: 38e08107cfbf6a90267241cc537872247a07159f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11100760284&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 30 Sep 2024 07:11:48 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 object mapping capabilities with a new method to handle
maximum string length for large data.
- **Bug Fixes**
- Improved handling of multipart data to prevent truncation during
serialization.

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

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-10-01 16:43:13 +05:30
Nilansh Bansal
e6cd97318d
feat: added LRU cache for mockDB connections (#36480)
## Description
This PR implements an LRU (Least Recently Used) caching mechanism for
the Mongo mockDB connections which get auto-cleaned up every 2 hours
based on their access time.
This is done to stop the overpopulation of the open dangling connections
to the mockDB resulting in the max connection limit.
The Caching Implementation used is [Google Guave
Cache](https://github.com/google/guava/wiki/CachesExplained).
Also refer - [Working of Guava cache
](https://medium.com/@alxkm/introduction-to-caching-with-google-guava-a-simple-and-flexible-solution-2c721427e72e)

<img width="811" alt="image"
src="https://github.com/user-attachments/assets/5abb3e05-13ea-421e-aaf0-22ac441f68e6">


Fixes #36474

## 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/11066462645>
> Commit: 38fcf572b32f1b5d7544828ccf00f2b6fbaa180e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11066462645&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Fri, 27 Sep 2024 08:01: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

- **New Features**
- Introduced a new constant for the MongoDB plugin to enhance plugin
identification.
- Added a `DatasourcePluginContext` class to encapsulate datasource
plugin context, including connection details and creation time.
- Implemented a caching mechanism for datasource contexts to optimize
connection management and reduce excessive database connections.
	- Added functionality to identify mock MongoDB datasources.

- **Bug Fixes**
- Enhanced cleanup processes for stale connections in the caching
system.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-27 14:00:01 +05:30
Manish Kumar
91bea3ea71
fix: added flags back (#36561) 2024-09-26 13:38:00 +05:30
Manish Kumar
842443c267
chore: making autocommit GA (#36347)
## Description
- Removal of release_git_autocommit_feature_enabled flag
- Removal of fallback implementation to classes which was autocommit
flag annotated
- Removal of irrelevant test cases post removal of fallback
implementation.


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/10994151881>
> Commit: 42b43f19e4b47d70f8c9784ae1c4c67601d79412
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10994151881&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Mon, 23 Sep 2024 12:53:01 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 file operations for resource management in Git, including
methods for saving, deleting, and reading resources.
- Streamlined handling of auto-commit functionalities, making certain
features universally accessible.

- **Bug Fixes**
- Removed outdated fallback implementations for auto-commit eligibility
and Git auto-commit helpers.

- **Refactor**
- Simplified constructors and dependencies in file operation classes,
improving maintainability.
- Eliminated feature flag dependencies from various components,
including tests, focusing on core functionality.

- **Tests**
- Removed tests related to feature flags, streamlining the testing
process for auto-commit and migration functionalities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: brayn003 <rudra@appsmith.com>
2024-09-25 14:32:01 +05:30
Anna Hariprasad
7aae152dee
fix: logger-not-working-in-plugins (#36231)
Fixes #36073 

Hi @NilanshBansal 

**Issue :**

**Missing Logging Implementation :**

- Without a logging implementation (such as SLF4J Simple or Logback) in
the project's classpath, the logging statements in the plugins cannot be
executed.
- As a result, no log output is being printed to the terminal.

**Solution :**

The solution is to add a logging implementation to the plugins parent
pom. In this case, you can add the slf4j-simple dependency to your
pom.xml file. This will provide a simple logging implementation that
will output log statements to the console.

```
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
</dependency>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.36</version> 
</dependency>
```
**Explanation:**

- slf4j-api provides the SLF4J API, which is the interface for logging.
  provides the SLF4J API, which is the interface for logging.
- slf4j-simple provides a simple implementation of the SLF4J API, which
is responsible for actually printing the log messages to the console.

**Screenshots :** 

Amazon S3 Plugin and Postgres Plugin 

![image](https://github.com/user-attachments/assets/d3e90b96-2b02-493d-8ffa-44e2aa348fc1)


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

## Summary by CodeRabbit

- **New Features**
- Enhanced logging capabilities with the integration of SLF4J API and
SLF4J Simple implementations.

- **Improvements**
- Improved log management and output formatting for better monitoring
and debugging across various plugins, transitioning from standard output
to structured logging.
- Refined logging practices in multiple plugins to support better
maintainability and performance.
- Removed method for console logging from the Stopwatch class to
streamline logging practices.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-17 10:47:58 +01:00
Manish Kumar
71261b1e6e
chore: autocommit migration for annotation and embedded datasource changes. (#36261)
## Description
- Added autocommit migration to avoid uncommited changes on some of the
applications.


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

## Automation

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

### 🔍 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/10878546679>
> Commit: 0013cdec8894922d3cae386a8d8d7b8aebc3837d
> Workflow: `PR Automation test suite`
> Tags: `@tag.Git`
> Spec: ``
> <hr>Mon, 16 Sep 2024 06:20: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**
- Updated the server version from 10 to 11, enhancing compatibility and
functionality related to JSON schema handling.
- Improved logic for default REST datasource migrations, making it more
robust and accessible.
- Added support for SSH connection configurations in datasource
management.

- **Bug Fixes**
- Added null checks to prevent potential errors during datasource
migrations, enhancing overall reliability.

- **Refactor**
- Streamlined filtering logic for actions, improving code readability
and maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-16 13:24:08 +05:30
subratadeypappu
9a2606618f
chore: introduce caching and projection to optimise FPL (#36118)
## Description
This PR aims to enhance the performance of the pages span in
consolidated-API view mode. It does so by brining the following changes

- **Add Projection:** Implement projections to enhance performance for
`appsmith.consolidated-api.view.pages.getpage`.
- **Implement Caching:** Introduce caching to eliminate the `getpage`
query, thereby optimizing
`appsmith.consolidated-api.view.application_id` and related spans.
    
We will implement caching to store `defaultApplicationId` information in
memory. This cache will reduce the need for the time-consuming `getpage`
query. On a cache miss, the system will first fetch the page and then
the branched application. If the information is present in the cache, it
will directly retrieve the branched application, leveraging the cached
data for improved efficiency.

With these changes, the pages API is showing improvements. A few
screenshots from local environment:

![Screenshot 2024-09-04 at 6 57
01 PM](https://github.com/user-attachments/assets/c5e91d81-7902-4f58-8d18-8c16e92af540)
![Screenshot 2024-09-04 at 6 57
46 PM](https://github.com/user-attachments/assets/3b99000e-2236-41cc-8955-b8b30780ee87)
![Screenshot 2024-09-04 at 7 03
17 PM](https://github.com/user-attachments/assets/ff60d8cb-2588-40a7-ad82-b132da6dba72)
![Screenshot 2024-09-04 at 7 12
47 PM](https://github.com/user-attachments/assets/e528ebc7-b48d-4632-a44c-4a6b3cbb2cf8)



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

## 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/10778438378>
> Commit: 25e71b594261a318ef6204603a225c3136892a89
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10778438378&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 09 Sep 2024 18:03:52 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced page retrieval capabilities with additional parameters for
improved data handling.
- Introduced a caching mechanism for optimized retrieval of application
IDs in view mode.
- Added support for bulk cache eviction through the `@CacheEvict`
annotation.

- **Bug Fixes**
- Adjusted method signatures in tests to align with updated service
methods, ensuring proper functionality.

- **Documentation**
- Updated test cases to reflect changes in method parameters for clarity
and accuracy.

- **Chores**
- Refactored method calls across various services and tests to
incorporate new parameters and improve overall performance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-09-10 00:04:22 +06:00
Nilansh Bansal
1c14d698f1
chore: added thread logging info for plugins (#36077) 2024-09-05 17:19:57 +05:30
Rishabh Rathod
b447b0f29e
chore: Add metrics to newRelic for update JSobject Collection (#35947)
## Description

- Add newRelic spans to track performance of process involved in update
JSObject collection

Fixes #36049 

## Automation

/test js

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

## Summary by CodeRabbit

- **New Features**
- Introduced enhanced observability for action collections and layout
updates, allowing better tracking and monitoring of actions within the
application.
- Added new constants related to action collections and layout updates
for improved functionality and clarity.

- **Bug Fixes**
- Improved the reliability of action collection retrieval and layout
updates through enhanced observability features.

- **Tests**
- Updated tests to incorporate observability metrics, ensuring better
monitoring of actions during testing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-05 16:46:25 +05:30
Abhijeet
75599f8847
chore: Keep the copy of policies object while updating policyMap (#35916)
## Description
1. After releasing the migration from policies to policyMap we have seen
instances where customers went back to previous versions and faced
issues around missing permissions.
2. In another instance we ended up in a state where the datasource
permission were missing.

While triaging these issues we couldn't able to figure out the root
cause so decided to keep both policies and policyMap in the DB. This
will rule out the issue if user went back to previous versions and
upgrades to latest we will still have some reference to look at.
Ref:
https://theappsmith.slack.com/archives/C02K2MZERSL/p1724779433650089

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


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced policy management by transitioning from the `policies` field
to a more efficient `policyMap`.
  
- **Bug Fixes**
- Improved state management during the pristine state reset, ensuring
policies are cleared correctly.
- Strengthened the removal process for policies to prevent concurrent
modification issues.

- **Chores**
- Optimized policy handling for better performance and readability by
reducing redundant method calls.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-09-05 15:16:36 +05:30
Manish Kumar
2a6885a5cb
fix: Embedded datasource persistence changes for git. (#36109) 2024-09-04 13:45:01 +05:30
Anna Hariprasad
f3374bd5fd
feat: Added SSH Tunnel for Postgres (#35449)
@appsmithorg/contributor-support

Hi @rohan-arthur 

Fixes #30792 

[**Video
Demonstration**](https://drive.google.com/file/d/1IOGlTsPVgeBNOpq3vydO01lrcN10S8ZS/view?usp=sharing)

**What's in this pr :**

- Added connection mode option for SSH Tunnel.
- Added SSH Host, Port, SSH Username and SSH key fields.
- Added Validation logic for SSH fields.
- Added SSH connection logic.
- Added three test cases for SSH connection.

**Screenshots :**

![image](https://github.com/user-attachments/assets/8332a0f7-f184-401d-acea-b46aa07fe759)

![image](https://github.com/user-attachments/assets/37f8b372-5532-4133-8e3e-f41d5ad6e91f)

![image](https://github.com/user-attachments/assets/eee5a119-70e5-4ddb-bf13-8316ab9b160b)

![image](https://github.com/user-attachments/assets/a3cb0d12-9255-4b2e-b2c8-00c98227ca39)

![image](https://github.com/user-attachments/assets/6acd9b7f-f16e-48e4-8dfc-996ef62d2262)

Please review this pr. Let me know if any changes required.





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

## Summary by CodeRabbit

- **New Features**
- Introduced SSH tunneling support for PostgreSQL connections, allowing
users to configure SSH settings for enhanced security.
- Added a new "Connection method" option in the configuration, enabling
selection between "Standard" and "SSH tunnel" connections, with relevant
fields for SSH details.

- **Bug Fixes**
- Improved error handling by adding specific error messages for missing
SSH configuration parameters, providing clearer feedback to users.
- Updated error messages for authentication issues to include missing
passwords.

- **Tests**
- Enhanced test coverage with new unit tests for validating the
configuration of PostgreSQL data sources, particularly for SSH
connections.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-29 11:09:08 +01:00
sneha122
9da8c4962f
chore: removed sanitise action functionality from actions span (#35884)
## Description
This PR improves performance of actions in consolidated view API by:
1. Removing `sanitiseAction` method that was getting called after
fetching actions from DB
2. Moving the publishedAction filtering to the DB layer

Reasoning:
`sanitiseAction` was added earlier in the
[PR](https://github.com/appsmithorg/appsmith/pull/13263/files) because
of the [issue](https://github.com/appsmithorg/appsmith/issues/11927).
The issue mentioned for some reason JSObject actions were getting
corrupted and causing it to lose pluginId and pluginType values, since
we did not know as to why the JsObject actions were going in bad state,
we added a bandaid fix which would add pluginId and pluginType if these
actions did not have them.

RCA for above issue can be found here:
https://www.notion.so/appsmith/Data-inconsistencies-w-r-t-JS-Objects-c58f124fe20e4415b5c0e180b423b0be

For our consolidated view api -> actions span, we do not need JSObject
actions, we only need DB actions and APIs. Since we are not fetching
JSObject actions from DB, sanitisation won't be required.

As for the second part, where filtering is moved to DB layer. Earlier we
used to fetch all actions from DB and on server we would check if the
viewMode is true, then filter out published actions. This filtering has
now been moved to DB layer to avoid any further operations on service
layer.


Fixes #35857 
_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/10573445222>
> Commit: 2e4f36d7d6cd829584ed41b279a0399810a59228
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10573445222&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Datasource`
> Spec:
> <hr>Tue, 27 Aug 2024 10:26: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


- **New Features**
- Enhanced action retrieval to focus exclusively on published actions,
improving clarity and performance.

- **Bug Fixes**
- Removed unnecessary filtering conditions, broadening the set of
actions available in view mode.

- **Refactor**
- Renamed methods for better alignment with their purpose, specifically
around fetching published actions.

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

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
2024-08-27 19:26:03 +05:30
subratadeypappu
98f748031a
chore: Add metrics to pages sub-components (#35723)
## Description
After adding sub-spans to pages component the breakdown of duration
looks like below:

### Sample 1
![Sample 1 (pages
breakdown)](https://github.com/user-attachments/assets/210d61db-2a05-41c8-8b4b-89494ac15c20)

### Sample 2
![Sample 2 (pages
breakdown)](https://github.com/user-attachments/assets/f996da3f-0848-40b8-8f66-1493d5fe0035)



Fixes https://github.com/appsmithorg/appsmith/issues/35718
_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/10484118259>
> Commit: 2bf56fa97ec8ce6952aca9f73816f3ddbfe9b648
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10484118259&attempt=4"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Wed, 21 Aug 2024 09:36:26 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- **New Features**
- Enhanced page management functionalities with new constants for
improved data organization and retrieval.
- Introduced functionality for generating standardized span names to
improve API monitoring and tracing.
- Improved observability with new tracking features for application
pages, aiding in performance analysis.

- **Bug Fixes**
- Streamlined handling of span names to eliminate redundancy within the
application.

- **Refactor**
- Updated service classes to incorporate enhanced observability features
for better resource monitoring.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-08-21 16:30:05 +06:00
Nilesh Sarupriya
365ac27af0
chore: change the isResourceUpdated implementation to check if the resourceType is present or not (#35765)
## Description
> This code change aims to change the implementation of
`isResourceUpdated` method in `ModifiedResources`. This change will take
into account whether the `resourceType` is present or not.


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.ImportExport,@tag.Git,@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/10465647668>
> Commit: 6c751da6f373c3b373dfa45940ef70b9496f32e5
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=10465647668&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.ImportExport,@tag.Git,@tag.Sanity`
> Spec:
> <hr>Tue, 20 Aug 2024 05:34:36 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 resource update detection logic to improve accuracy in
determining if resources have been modified based on the provided
resource type.
  
- **Bug Fixes**
- Adjusted conditions under which resources are considered updated,
potentially resolving inconsistencies in previous behavior.
  
- **Tests**
- Improved test coverage for the resource update detection logic by
adding assertions for handling null inputs, ensuring robustness against
edge cases.

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

---------

Co-authored-by: Nilesh Sarupriya <20905988+nsarupr@users.noreply.github.com>
2024-08-20 02:27:16 -05:00