new Date(note.updatedAt) > new Date(this.lastSyncTime)
lastSyncTime
// OLD (problematic):
note.updatedAt = note.updatedAt || new Date().toISOString();
// NEW (fixed):
note.updatedAt = new Date().toISOString();
extension/lib/storage.js
): Force fresh updatedAt
timestampextension/popup/modules/storage.js
): Force fresh updatedAt
timestampsync_pending
flag - not needed for timestamp-based syncjs/dashboard.js
- Enhanced validationextension/popup/modules/settings.js
- Enhanced validationextension-firefox/popup/modules/settings.js
- Enhanced validationextension/lib/storage.js
- Fixed import timestampsextension/popup/modules/storage.js
- Fixed import timestampsupdatedAt > lastSyncTime
getNotesForSync()
gets all active notesnotesToSync = localNotes.filter(note => new Date(note.updatedAt) > new Date(this.lastSyncTime))
window.notesStorage
) - used for syncThe fix was elegant: instead of trying to work around the sync system, we made imported notes compatible with the existing timestamp-based sync mechanism.