core: fix tags & colors not resolving on sync

This commit is contained in:
Abdullah Atta
2023-09-04 13:09:57 +05:00
committed by Abdullah Atta
parent d5b679187a
commit 12d89114a4
2 changed files with 11 additions and 13 deletions

View File

@@ -31,7 +31,6 @@ class Merger {
this.logger = logger.scope("Merger");
this.syncCollectionMap = {
note: "notes",
shortcut: "shortcuts",
reminder: "reminders",
relation: "relations",
@@ -76,7 +75,6 @@ class Merger {
mergeItemSync(remoteItem, type, lastSynced) {
switch (type) {
case "note":
case "shortcut":
case "reminder":
case "relation": {
@@ -144,6 +142,13 @@ class Merger {
async mergeItem(remoteItem, type, lastSynced) {
switch (type) {
case "note": {
const localItem = this._db.notes._collection.getItem(remoteItem.id);
if (!localItem || remoteItem.dateModified > localItem.dateModified) {
return await this._db.notes.merge(localItem, remoteItem);
}
break;
}
case "settings": {
const localItem = this._db.settings.raw;
if (

View File

@@ -44,12 +44,12 @@ export default class Notes extends Collection {
return this.raw.find((item) => item.dateDeleted > 0 && item.id === id);
}
async merge(remoteNote) {
if (!remoteNote) return;
async merge(localNote, remoteNote) {
const id = remoteNote.id;
const localNote = this._collection.getItem(id);
if (localNote) {
if (localNote.localOnly) return;
if (localNote.color) await this._db.colors.untag(localNote.color, id);
for (let tag of localNote.tags || []) {
@@ -57,13 +57,6 @@ export default class Notes extends Collection {
}
}
if (
remoteNote.deleted &&
remoteNote.deleteReason !== "localOnly" &&
(!localNote || !localNote.localOnly)
)
return remoteNote;
await this._resolveColorAndTags(remoteNote);
return remoteNote;