From 09aa75e4ebe9e11221c1ed29246c0a987b34bd9d Mon Sep 17 00:00:00 2001 From: Prateek Shourya Date: Thu, 26 Dec 2024 15:34:58 +0530 Subject: [PATCH] [WEB-2896] fix: mutation problem with issue properties while accepting an intake issue. --- web/core/local-db/utils/utils.ts | 5 +++-- web/core/store/inbox/inbox-issue.store.ts | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/web/core/local-db/utils/utils.ts b/web/core/local-db/utils/utils.ts index b0330e057aa..4f5f0befb8c 100644 --- a/web/core/local-db/utils/utils.ts +++ b/web/core/local-db/utils/utils.ts @@ -64,9 +64,10 @@ export const updatePersistentLayer = async (issueIds: string | string[]) => { issueIds.forEach(async (issueId) => { const dbIssue = await persistence.getIssue(issueId); const issue = rootStore.issue.issues.getIssueById(issueId); + const updatedIssue = dbIssue ? { ...dbIssue, ...issue } : issue; - if (issue) { - addIssueToPersistanceLayer(issue); + if (updatedIssue) { + addIssueToPersistanceLayer(updatedIssue); } }); }; diff --git a/web/core/store/inbox/inbox-issue.store.ts b/web/core/store/inbox/inbox-issue.store.ts index 74e6534d67a..31bb5f591a4 100644 --- a/web/core/store/inbox/inbox-issue.store.ts +++ b/web/core/store/inbox/inbox-issue.store.ts @@ -98,7 +98,9 @@ export class InboxIssueStore implements IInboxIssueStore { // If issue accepted sync issue to local db if (status === EInboxIssueStatus.ACCEPTED) { - addIssueToPersistanceLayer({ ...this.issue, ...inboxIssue.issue }); + const updatedIssue = { ...this.issue, ...inboxIssue.issue }; + this.store.issue.issues.addIssue([updatedIssue]); + await addIssueToPersistanceLayer(updatedIssue); } } catch { runInAction(() => set(this, "status", previousData.status));