mirror of
https://github.com/streetwriters/notesnook.git
synced 2025-12-29 00:20:04 +01:00
core: fix tags & colors not resolving on sync
This commit is contained in:
committed by
Abdullah Atta
parent
d5b679187a
commit
12d89114a4
@@ -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 (
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user