From d86ac368a4ce5e8e6db85902aee7e63224db403c Mon Sep 17 00:00:00 2001 From: Akshita Goyal <36129505+gakshita@users.noreply.github.com> Date: Fri, 25 Apr 2025 14:31:35 +0530 Subject: [PATCH] [WEB-3863] fix: handled error handling for link editing #6968 --- .../store/issue/issue-details/link.store.ts | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/web/core/store/issue/issue-details/link.store.ts b/web/core/store/issue/issue-details/link.store.ts index 85c6fa5b8..5a0ea20e6 100644 --- a/web/core/store/issue/issue-details/link.store.ts +++ b/web/core/store/issue/issue-details/link.store.ts @@ -121,17 +121,28 @@ export class IssueLinkStore implements IIssueLinkStore { linkId: string, data: Partial ) => { - runInAction(() => { - Object.keys(data).forEach((key) => { - set(this.linkMap, [linkId, key], data[key as keyof TIssueLink]); + const initialData = { ...this.linkMap[linkId] }; + try { + runInAction(() => { + Object.keys(data).forEach((key) => { + set(this.linkMap, [linkId, key], data[key as keyof TIssueLink]); + }); }); - }); - const response = await this.issueService.updateIssueLink(workspaceSlug, projectId, issueId, linkId, data); + const response = await this.issueService.updateIssueLink(workspaceSlug, projectId, issueId, linkId, data); - // fetching activity - this.rootIssueDetailStore.activity.fetchActivities(workspaceSlug, projectId, issueId); - return response; + // fetching activity + this.rootIssueDetailStore.activity.fetchActivities(workspaceSlug, projectId, issueId); + return response; + } catch (error) { + console.error("error", error); + runInAction(() => { + Object.keys(initialData).forEach((key) => { + set(this.linkMap, [linkId, key], initialData[key as keyof TIssueLink]); + }); + }); + return initialData; + } }; removeLink = async (workspaceSlug: string, projectId: string, issueId: string, linkId: string) => {