Commit Graph

45 Commits

Author SHA1 Message Date
Julien Calixte
e5dcdac65a feat(offline): record structured failures during note caching
Expose a failures list alongside the existing failedNotes counter so each
failure carries kind/path/sha/message. Also catches throws from
buildNoteDocs and bulkUpdate that previously aborted the whole loop.
2026-05-17 00:07:20 +02:00
Julien Calixte
f3ed5e063f perf(offline): parallelise note caching with batched writes
Fetch blobs with a concurrency of 8 instead of one at a time, batch
PouchDB writes via bulkUpdate, filter already-cached files up front,
and run the README fetch in parallel with the worker loop.
2026-05-16 23:48:06 +02:00
Julien Calixte
c5236b2587 fix(offline): don't abort cache loop on a single fetch failure
A single null from queryFileContent silently exited cacheAllNotes,
leaving every later note uncached while the success toast still fired.
Skip the failing file, count failures, and surface them via errorMessage.
2026-05-16 23:31:42 +02:00
Julien Calixte
b003a3e008 perf: move PouchDB/IndexedDB operations to a Web Worker
All database reads and writes now run off the main thread via a
dedicated worker, eliminating IndexedDB overhead from the frame budget.

- Create data.worker.ts exposing the Data class via Comlink
- Refactor data.ts to export a Comlink-wrapped proxy and a standalone
  generateId() pure function (workers can't expose sync methods cleanly)
- Update all 10 call sites to import generateId directly instead of
  calling data.generateId()

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 11:27:45 +02:00
Julien Calixte
5f48aa5690 chore: lint and fmt 2026-03-28 09:38:55 +01:00
Julien Calixte
5c70232fba deps: upgrade 2026-02-15 08:00:11 +01:00
Julien Calixte
25f3ed1181 fix: no more blurry countdown 2026-02-12 23:05:31 +01:00
Julien Calixte
63903d48eb feat: init public notes 2026-02-10 20:05:21 +01:00
Julien Calixte
3e417ca271 fix: Google Font
feat: add a todo view
2026-01-19 00:37:55 +01:00
Julien Calixte
11d4814f2f feat: add a countdown animation for offline note progress 2025-11-29 13:53:01 +01:00
Julien Calixte
80f4f39006 fix: progress bar for offline notes 2025-11-29 13:13:30 +01:00
Julien Calixte
f98ac48fe4 fix: multiple \n when editing 2025-11-11 18:01:48 +01:00
Julien Calixte
c93e4a8b16 design: confirm message with daisyui design 2024-12-29 01:12:54 +01:00
Julien Calixte
9e875af78e design: change to good svg! 2024-12-24 00:28:00 +01:00
Julien Calixte
786286391a style: rename hook for the global usage 2024-10-27 12:34:26 +01:00
Julien Calixte
84789393ad fix: distinct multiple layer of cache 2024-10-27 12:33:26 +01:00
Julien Calixte
ffa7c42021 fix: more resilient saved to avoid conflict. (no need to add the README main file when saveCacheNote) 2024-10-27 12:07:32 +01:00
Julien Calixte
0841bbfe50 better cache all note button 2024-10-20 00:09:41 +02:00
Julien Calixte
941f867031 cache all notes 2024-09-01 22:27:51 +02:00
Julien Calixte
8802ffb5b2 add a more resilient cache system with a global cache for each note from path 2024-07-16 21:55:54 +02:00
Julien Calixte
c7ea52c7f8 add path to new inbox file in pinia store
Not ideal to have data in multiple store (pinia and PouchDB) but it work this way. May need a refactoring.
2023-11-26 10:35:38 +01:00
Julien Calixte
2f6e8e7ca8 save editedSha in cached note to remember even after navigations 2023-09-06 22:49:44 +02:00
Julien Calixte
15d25abd7a 💄 (edit) text align left 2023-08-26 19:00:52 +02:00
Julien Calixte
ccb486a0b6 progress for file update inapp 2023-08-20 23:55:25 +02:00
Julien Calixte
978b98bdc5 extract edit note component 2023-08-20 15:34:13 +02:00
Julien Calixte
2cab8c8e3f autoimport with eslint now 2023-08-14 18:04:27 +02:00
Julien Calixte
133a998ef8 rename previous hook 2023-08-13 21:10:21 +02:00
Julien Calixte
1b7f7539a8 note more hook involved 2023-08-13 21:09:52 +02:00
Julien Calixte
656e4b14a9 store has a first copy of readme from cache is no waiting 2023-08-13 21:07:17 +02:00
Julien Calixte
e0618e0df6 ⬆️ (lite-note) migrate to pnpm and upgrade every outdated libs 2023-07-01 22:42:35 +02:00
Julien Calixte
e4a2d4d8de (history) count notes 2021-08-08 00:27:15 +02:00
Julien Calixte
9792e2e56b (historic notes) add history note page 2021-08-08 00:19:49 +02:00
Julien Calixte
a3082f25bd ♻️ (folder notes) 2021-08-08 00:19:25 +02:00
Julien Calixte
4f13c18573 compute note backlinks 2021-06-06 09:57:17 +02:00
Julien Calixte
6a5e7a9d63 🚨 2021-05-09 01:12:01 +02:00
Julien Calixte
9afe9ef289 🔧 (eslint) 2021-05-09 00:52:09 +02:00
6347edd82e (folders) folders can start with a _ 2021-04-05 10:34:49 +02:00
32fc87b9e4 ♻️ 2021-04-04 16:22:25 +02:00
Julien Calixte
53046ba2db (folder notes) content is nullable if there is no files. 2021-04-03 20:12:47 +02:00
e199c68d68 ♻️ (store) use a store to store readme and files 2021-03-24 21:23:23 +01:00
1b860944ea 🐛 (readme) do not fetch readme for folder notes 2021-03-22 22:57:01 +01:00
d4391bb8c6 (note) init image display 2021-03-22 22:50:43 +01:00
Julien Calixte
e96253959d (draft) add draft folder page in note header
Closes #1
2021-03-21 11:00:56 +01:00
11d25e25af (fleeting notes) init fleeting notes 2021-03-20 22:00:37 +01:00
71f1642c45 (stacked note) cache visited note 2021-03-20 12:24:27 +01:00