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));