From ec91a784de4130d150522ca392c7aa1a87f6181b Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Thu, 3 Sep 2020 13:42:54 +0200 Subject: [PATCH] NotesFolderFS: Remove any notes which failed to load --- lib/core/notes_folder_fs.dart | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/core/notes_folder_fs.dart b/lib/core/notes_folder_fs.dart index 1639821c..3bff203d 100644 --- a/lib/core/notes_folder_fs.dart +++ b/lib/core/notes_folder_fs.dart @@ -163,6 +163,20 @@ class NotesFolderFS with NotesFolderNotifier implements NotesFolder { await Future.wait(futures); futures = []; + // Remove notes which have errors + var errFunc = (Note n) => n.loadState == NoteLoadState.Error; + var hasBadNotes = _notes.any(errFunc); + if (hasBadNotes) { + while (true) { + var i = _notes.indexWhere(errFunc); + if (i == -1) { + break; + } + var note = _notes.removeAt(i); + notifyNoteRemoved(i, note); + } + } + for (var folder in _folders) { var f = folder.loadRecursively(); futures.add(f);