## Description
- Git mod integration with applications behind feature flag
Fixes#37815Fixes#37816Fixes#37817Fixes#37818Fixes#37819Fixes#37820
## 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/12526603607>
> Commit: 19f3ca0a35b16b25b2cff8700e2df4b2a497e7fe
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12526603607&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Sat, 28 Dec 2024 15:57: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
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Introduced various new hooks for Git functionalities, including
`useGitModEnabled`, `useGitCurrentBranch`, `useGitProtectedMode`, and
`useGitConnected`.
- Added a new component `DeployButton` to manage deployment actions.
- Integrated `ConnectSuccessModal` to enhance user feedback upon
successful Git connection.
- Added `GitImportModal` for improved Git import functionality.
- Introduced `GlobalProfileView` for managing and displaying user
profile information.
- Added a new icon, `CloudIconV2`, to the icon provider.
- Implemented `fetchGlobalSSHKey` and `gitImport` sagas for better state
management.
- **Improvements**
- Enhanced handling of Git-related states and actions across multiple
components and sagas.
- Streamlined selector usage for determining preview mode by replacing
`combinedPreviewModeSelector` with `selectCombinedPreviewMode`.
- Updated the `DeployPreview` component to manage success feedback and
handle commit operations more effectively.
- Improved the `StatusChangesView` component by adding a callout for
migration messages.
- Added new transformers for application status handling.
- **Bug Fixes**
- Updated error handling and loading states across various actions and
components to improve reliability.
- **Refactor**
- Refactored action creators to use `createArtifactAction` instead of
`createSingleArtifactAction` for consistency and clarity.
- Consolidated Git import and connection logic to improve modularity and
maintainability.
- Modified the `Header` component to utilize
`GitApplicationContextProvider` for managing Git-related state.
- Updated various components to utilize the new
`selectCombinedPreviewMode` selector for improved state management.
- Refactored the `DeployPreview` component to enhance its functionality
and styling consistency.
- Enhanced the `applicationStatusTransformer` to handle multiple status
transformations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Connects connect modal to store
- Adds component for branch list
Fixes#37814Fixes#37802
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12376713895>
> Commit: 34d96b492e20118aa5d82bfa10b9f09315b2bc60
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12376713895&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Tue, 17 Dec 2024 16: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
- **New Features**
- Introduced a `ConnectInitialize` component for Git provider
connections.
- Added `ConnectSuccess` modal to display successful Git connections.
- Implemented `ImportModal` for Git import functionality.
- Added `LocalProfileView` for managing user profile settings.
- Introduced `BranchList` component for displaying and managing
branches.
- **Bug Fixes**
- Enhanced error handling and state management in various components.
- **Refactor**
- Streamlined prop handling and state management in multiple components.
- Updated action and selector names for clarity and consistency.
- **Tests**
- Expanded test coverage for new and modified components, ensuring
accurate behavior under various conditions.
- **Chores**
- Updated import paths and removed unused files to improve project
structure.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Adds settings modal
- Adds CD/EE split
Fixes https://github.com/appsmithorg/appsmith/issues/37808
Fixes https://github.com/appsmithorg/appsmith/issues/37814
Fixes https://github.com/appsmithorg/appsmith/issues/37810
Fixes https://github.com/appsmithorg/appsmith/issues/37813
Fixes https://github.com/appsmithorg/appsmith/issues/37809
## 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/12368684531>
> Commit: 047af233b7cf3f83b1d414ede45425c1a9d955e7
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12368684531&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Tue, 17 Dec 2024 09:01: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
## Summary by CodeRabbit
- **New Features**
- Introduced new components for managing protected branches, settings
modals, and disconnect functionality.
- Added custom hooks for managing autocommit, global and local profiles,
and feature flags.
- Implemented new sagas for handling disconnect and autocommit toggle
actions.
- Added a new constant for Git remote branch prefix.
- Introduced a component for continuous delivery configuration when
unlicensed.
- Added a new component for confirming the disabling of autocommit
functionality.
- **Improvements**
- Enhanced state management for Git operations, including updates to
Redux selectors and action creators.
- Streamlined prop handling and component structure across various
Git-related components.
- Updated the structure of metadata fetching and response handling.
- **Bug Fixes**
- Updated error handling and response validation in sagas to ensure
robust operation.
- **Refactor**
- Renamed and reorganized various components and hooks for clarity and
consistency.
- Consolidated saga management for better organization.
- **Documentation**
- Improved comments and documentation for better understanding of new
functionalities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Adds git modal
- Adds pull saga
- Adds ability to commit
- Adds ability to merge
- Adds ability to see status
- Adds ability to discard
- Improves on saga error handling
Fixes#37826Fixes#37803Fixes#37804Fixes#37807
## 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/12319147488>
> Commit: ec461fde26da90af2f365fb36f49e3758c14cb96
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12319147488&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Fri, 13 Dec 2024 17:27: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**
- Introduced new components for managing Git operations, including
`ConflictErrorView`, `OpsModal`, `TabDeploy`, `TabMerge`, and
`StatusChanges`.
- Added loading and error handling components such as `StatusLoader` and
`DiscardFailedError`.
- Enhanced the `StatusTree` component for displaying hierarchical status
changes.
- **Bug Fixes**
- Improved error handling across various sagas and components.
- **Refactor**
- Renamed several modal toggle functions for clarity and consistency.
- Updated prop types for improved type safety in components.
- **Chores**
- Removed unused component `GitTest`.
- Updated imports and exports for better organization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Adds more selectors
- Adds more sagas
- Introduces init steps for git
- Improvements upon CtxAwareGitQuickActions
Fixes#37800Fixes#36814
## 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/12295168481>
> Commit: ea1ab497cad677aac36f044462e623e526d421d1
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12295168481&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Thu, 12 Dec 2024 12:06: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
## Summary by CodeRabbit
- **New Features**
- Introduced a context provider for managing Git-related state.
- Added a `GitQuickActions` component for various Git actions.
- Implemented custom hooks for managing Git branches, metadata,
operations, and settings.
- Added Redux Saga functions for fetching Git metadata and protected
branches.
- Enhanced autocommit functionality with polling for progress.
- Introduced actions for managing the autocommit process and fetching
protected branches.
- Added new actions to initialize Git for editor context and manage
loading states.
- **Bug Fixes**
- Improved error handling in various action creators and sagas.
- **Chores**
- Updated action creators and types for better type safety and clarity.
- Refined test cases for components to ensure accurate button selection.
- Modified request functions to utilize Axios promises directly for
better consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Git mod components, add connect/import from git modal components
Fixes https://github.com/appsmithorg/appsmith/issues/37812
Fixes https://github.com/appsmithorg/appsmith/issues/37802
## Automation
/ok-to-test tags="@tag.Git"
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!TIP]
> 🟢🟢🟢 All cypress tests have passed! 🎉🎉🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/12291098002>
> Commit: e94ebe0722dcf52ea078675449771d1ee671718d
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12291098002&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Thu, 12 Dec 2024 07:43:05 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [ ] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Release Notes
- **New Features**
- Introduced a multi-step `ConnectModal` for Git provider connections.
- Added components for generating SSH keys and managing Git remote URLs.
- New constants for Git integration steps and demo GIFs for user
guidance.
- Added optional `errorType` property to enhance error handling in API
responses.
- New `Steps` component for step navigation in the modal.
- New `CopyButton` component for clipboard functionality with visual
feedback.
- **Improvements**
- Enhanced error handling and user prompts related to Git operations.
- Improved user interface with styled components for better layout and
presentation.
- **Bug Fixes**
- Improved validation and error messaging for SSH URL inputs.
- **Refactor**
- Renamed `AutocommitStatusbar` to `Statusbar` for consistency across
components and tests.
- **Tests**
- Comprehensive test coverage for new components and functionalities
related to Git integration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Adds GitContextProvider
- Adds more sagas
- Moved actions folder into store
- Minor restructuring of GitQuickActions
Fixes#36814Fixes#36812Fixes#36811Fixes#37805
## 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/12271500398>
> Commit: e1eb35a6c4efab61735ccc55837bdbf5bb26ccfa
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12271500398&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Wed, 11 Dec 2024 08:12:54 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 icon, `ProtectedIcon`, for enhanced visual
representation.
- Added a new component, `CtxAwareGitQuickActions`, for context-aware
Git operations.
- Implemented a new utility hook, `useStatusChangeCount`, to calculate
modified entity counts.
- Added a new component, `BranchList`, for displaying a list of
branches.
- Introduced the `GitQuickActions` component for managing various Git
actions in one interface.
- Added new actions for managing Git branch operations, including
checkout, creation, and deletion.
- Introduced new Redux sagas for handling Git operations, including
checkout, commit, and fetch branches.
- **Bug Fixes**
- Updated error handling for various Git-related actions to ensure
proper state management.
- **Documentation**
- Enhanced documentation for new components and hooks to improve
developer understanding.
- **Chores**
- Removed obsolete files and actions related to branch operations to
streamline the codebase.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Migrates sagas to new git folder
- Introduces slice for git config
Fixes#36811Fixes#36814
## 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/12221200823>
> Commit: 488b3460793b13cc88effd0504a02a33797b4e3e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12221200823&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Sun, 08 Dec 2024 11:57: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
## Release Notes
- **New Features**
- Introduced new action creators for managing local profile data and
repository limit error modals.
- Added support for fetching and updating both global and local profile
information.
- Added new sagas for handling the fetching of branch data and local
profile updates.
- **Improvements**
- Enhanced type safety across various actions and requests.
- Improved error handling for repository limit scenarios and added
structured error management for profile updates.
- Updated the Redux slice structure for better organization and clarity.
- **Bug Fixes**
- Fixed issues related to loading and error states in action creators.
- **Chores**
- Removed outdated global configuration actions and requests to
streamline the codebase.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Add application apis for git package
Fixes#37823
## 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/12194637717>
> Commit: e72e02f75e0c58ad1306776b3246c6de2431e9bf
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12194637717&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Fri, 06 Dec 2024 08:23: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
- **New Features**
- Introduced various asynchronous functions for Git operations,
including:
- `checkoutBranchRequest`
- `commitRequest`
- `connectRequest`
- `createBranchRequest`
- `deleteBranchRequest`
- `fetchBranchesRequest`
- `fetchGitMetadataRequest`
- `fetchProtectedBranchesRequest`
- `mergeRequest`
- `pullRequest`
- `toggleAutocommitRequest`
- `triggerAutocommitRequest`
- `updateGlobalConfigRequest`
- `updateLocalConfigRequest`
- `updateProtectedBranchesRequest`
- Added new enumeration `AutocommitStatus` and interfaces to enhance
type safety for Git operations.
- **Bug Fixes**
- Updated import paths for consistency and clarity across multiple
files.
- **Documentation**
- Enhanced type definitions for various request and response structures.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Decouple and move disconnect modal
Fixes https://github.com/appsmithorg/appsmith/issues/37811
## 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/12155733900>
> Commit: f30ad803c1d26d6880fe549965d9dd364b3a1a4f
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12155733900&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Wed, 04 Dec 2024 09:17: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 the `DisconnectModal` component for disconnecting Git
repositories from applications.
- Added input validation for the application name with a "Revoke" button
that is conditionally enabled.
- Included a warning message about the irreversible action and a link to
documentation.
- **Tests**
- Implemented a comprehensive test suite for the `DisconnectModal` to
ensure correct functionality and user interactions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
Git modularisation - Bottom quick action bar control
Note to Reviewer:
- The `BranchButton` component is commented out right now since it was
not part of the modularisation
- I have modified the logic for `AutocommitStatusbar` as I found there
was a bug with the percentage calculation, please review
Fixes https://github.com/appsmithorg/appsmith/issues/37801
## 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/12153277180>
> Commit: e9e901f0ad720a1410b20e0b8c1181f8eb47c40a
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12153277180&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Wed, 04 Dec 2024 06:02: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
## Release Notes
- **New Features**
- Introduced `AutocommitStatusbar` component to display autocommit
progress.
- Added `ConnectButton` for initiating Git connection actions.
- Launched `QuickActionButton` for customizable Git action buttons.
- Implemented `QuickActions` component for managing various Git
operations.
- **Tests**
- Comprehensive test suites added for `AutocommitStatusbar`,
`ConnectButton`, `QuickActionButton`, and `QuickActions` components to
ensure functionality and reliability.
- Enhanced test coverage for helper functions managing Git button
statuses and string manipulation.
These updates enhance user interaction with Git functionalities within
the application.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Removing yarn based package for git
- Adding git as a folder inside the src of the root project
**Why?**
Dependencies on code like request and AnalyticsUtil
## 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/12113540863>
> Commit: 310b351a3229407046318931ed697a885b524bdb
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12113540863&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Mon, 02 Dec 2024 06:55:35 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**
- Integrated Redux Toolkit to enhance state management capabilities.
- **Bug Fixes**
- Removed specific ESLint settings for the `git` package, which may lead
to inconsistencies in coding standards.
- **Chores**
- Deleted the `@appsmith/git` package and its associated configuration
files, streamlining the project structure.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->