Skip to content

Commit

Permalink
chore: git mod - fixes toast issues (#39140)
Browse files Browse the repository at this point in the history
## Description
Fixes issue with missing success toast related to git

Fixes #38872
Fixes #38862

## 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/13216997415>
> Commit: 95ccaed
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=13216997415&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Git`
> Spec:
> <hr>Sat, 08 Feb 2025 17:43:52 UTC
<!-- end of auto-generated comment: Cypress test results  -->


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


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

## Summary by CodeRabbit

- New Features  
- Discard operations now display clear, contextual success messages to
enhance user feedback.
- Toast notifications have been added for pull actions and protected
branch updates, providing real-time confirmation of successful
operations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
  • Loading branch information
brayn003 authored Feb 10, 2025
1 parent 3fb7555 commit d199546
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ interface TabDeployViewProps {
commit: (commitMessage: string) => void;
commitError: GitApiError | null;
currentBranch: string | null;
discard: () => void;
discard: (successMessage: string) => void;
discardError: GitApiError | null;
isCommitLoading: boolean;
isDiscardLoading: boolean;
Expand Down Expand Up @@ -239,7 +239,7 @@ function TabDeployView({
AnalyticsUtil.logEvent("GIT_DISCARD", {
source: "GIT_DISCARD_BUTTON_PRESS_2",
});
discard();
discard(createMessage(DISCARD_CHANGES));
setShowDiscardWarning(false);
setShouldDiscard(true);
setIsDiscarding(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {
AUTOCOMMIT_IN_PROGRESS_MESSAGE,
COMMIT_CHANGES,
createMessage,
DISCARD_AND_PULL_SUCCESS,
GIT_SETTINGS,
MERGE,
} from "ee/constants/messages";
Expand All @@ -27,7 +28,7 @@ const Container = styled.div`

interface QuickActionsViewProps {
currentBranch: string | null;
discard: () => void;
discard: (successMessage: string) => void;
isAutocommitEnabled: boolean;
isAutocommitPolling: boolean;
isBranchPopupOpen: boolean;
Expand Down Expand Up @@ -105,7 +106,7 @@ function QuickActionsView({
});

if (isProtectedMode) {
discard();
discard(createMessage(DISCARD_AND_PULL_SUCCESS));
} else {
pull();
}
Expand Down
19 changes: 14 additions & 5 deletions app/client/src/git/hooks/useDiscard.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,20 @@ export default function useDiscard() {

const discardState = useArtifactSelector(selectDiscardState);

const discard = useCallback(() => {
if (artifactDef && artifactId) {
dispatch(gitArtifactActions.discardInit({ artifactDef, artifactId }));
}
}, [artifactDef, artifactId, dispatch]);
const discard = useCallback(
(successMessage: string) => {
if (artifactDef && artifactId) {
dispatch(
gitArtifactActions.discardInit({
artifactDef,
artifactId,
successMessage,
}),
);
}
},
[artifactDef, artifactId, dispatch],
);

const clearDiscardError = useCallback(() => {
if (artifactDef) {
Expand Down
11 changes: 6 additions & 5 deletions app/client/src/git/sagas/discardSaga.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { toast } from "@appsmith/ads";
import { captureException } from "@sentry/react";
import { builderURL } from "ee/RouteBuilder";
import { createMessage, DISCARD_SUCCESS } from "ee/constants/messages";
import discardRequest from "git/requests/discardRequest";
import type { DiscardResponse } from "git/requests/discardRequest.types";
import type { DiscardInitPayload } from "git/store/actions/discardActions";
Expand All @@ -15,7 +14,7 @@ import { validateResponse } from "sagas/ErrorSagas";
export default function* discardSaga(
action: GitArtifactPayloadAction<DiscardInitPayload>,
) {
const { artifactDef, artifactId } = action.payload;
const { artifactDef, artifactId, successMessage } = action.payload;

let response: DiscardResponse | undefined;

Expand All @@ -34,9 +33,11 @@ export default function* discardSaga(

if (response && isValidResponse) {
yield put(gitArtifactActions.discardSuccess({ artifactDef }));
toast.show(createMessage(DISCARD_SUCCESS), {
kind: "success",
});

if (successMessage) {
toast.show(successMessage, { kind: "success" });
}

// adding delay to show toast animation before reloading
yield delay(500);
const basePageId: string =
Expand Down
6 changes: 6 additions & 0 deletions app/client/src/git/sagas/pullSaga.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ import { APP_MODE } from "entities/App";
import log from "loglevel";
import { captureException } from "@sentry/react";
import { selectGitApiContractsEnabled } from "git/store/selectors/gitFeatureFlagSelectors";
import { toast } from "@appsmith/ads";
import { createMessage, DISCARD_AND_PULL_SUCCESS } from "ee/constants/messages";

export default function* pullSaga(
action: GitArtifactPayloadAction<PullInitPayload>,
Expand Down Expand Up @@ -50,6 +52,10 @@ export default function* pullSaga(
mode: APP_MODE.EDIT,
}),
);

toast.show(createMessage(DISCARD_AND_PULL_SUCCESS), {
kind: "success",
});
}
} catch (e) {
if (response && response.responseMeta.error) {
Expand Down
6 changes: 6 additions & 0 deletions app/client/src/git/sagas/updateProtectedBranchesSaga.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import { toast } from "@appsmith/ads";
import { captureException } from "@sentry/react";
import { createMessage, PROTECT_BRANCH_SUCCESS } from "ee/constants/messages";
import updateProtectedBranchesRequest from "git/requests/updateProtectedBranchesRequest";
import type {
UpdateProtectedBranchesRequestParams,
Expand Down Expand Up @@ -41,6 +43,10 @@ export default function* updateProtectedBranchesSaga(
gitArtifactActions.updateProtectedBranchesSuccess({ artifactDef }),
);
yield put(gitArtifactActions.fetchProtectedBranchesInit({ artifactDef }));

toast.show(createMessage(PROTECT_BRANCH_SUCCESS), {
kind: "success",
});
}
} catch (e) {
if (response && response.responseMeta.error) {
Expand Down
1 change: 1 addition & 0 deletions app/client/src/git/store/actions/discardActions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import type {

export interface DiscardInitPayload extends GitArtifactBasePayload {
artifactId: string;
successMessage?: string;
}

export const discardInitAction = createArtifactAction<DiscardInitPayload>(
Expand Down

0 comments on commit d199546

Please sign in to comment.