Commit graph

533 commits

Author SHA1 Message Date
699bbf3a9f chore: finish rebrand from upstream obsidian-media-db-plugin
package.json author/description now match manifest.json, release
workflow plugin name and repo-automation.config.json repo ref no
longer point at the upstream project.
2026-07-30 13:24:53 +08:00
a4ba1b8e42 fix(watchlist): stale-read clobber, concurrency guard, leaked timeout, quiet catch-up notices
- SyncDeps.listNotes now returns paths only; new readNote(path) reads
  content immediately before parse/diff/write per note, closing the
  window where an edit made between the initial scan and a later write
  got silently overwritten. resolveMissingIds updated to match.
- WatchlistController gains a syncing flag shared by syncNow and
  resolveMissingIds so overlapping invocations short-circuit instead
  of racing on the same vault notes.
- main.ts registers cleanup for the 30s startup catch-up setTimeout so
  it doesn't fire after unload.
- syncNow takes a quiet flag (used by the scheduled catch-up path) so
  zero-change scheduled syncs don't spam a Notice; manual commands are
  unaffected.
2026-07-30 13:24:33 +08:00
b77a189848 fix(watchlist): resolve 429 backoff + unique-exact-match acceptance 2026-07-30 13:05:31 +08:00
22a409ce9b feat(watchlist): resolve-missing-ids command 2026-07-30 12:54:49 +08:00
aafa3bb1e4 fix(watchlist): surface sync command errors via Notice 2026-07-30 12:49:59 +08:00
f9cc324ead feat(watchlist): settings, commands, catch-up scheduler wiring 2026-07-30 12:44:52 +08:00
e8cb9b93fe fix(watchlist): strip surrounding quotes from prev user fields (notion_url round-trip) 2026-07-30 12:37:52 +08:00
eeaa37469c feat(watchlist): SyncEngine — tiered diff-on-write sync with throttle/backoff 2026-07-30 12:31:00 +08:00
1923bb87b8 fix(watchlist): normalize notion_url null-sentinel in buildRecord prev-read
quotedOrNull renders an empty notion_url as the literal string `null`.
buildRecord read that back verbatim on the next sync pass and re-quoted
it as "null", breaking diff-on-write (every re-sync of a note with no
notion_url appeared changed). Treat the `null` sentinel as empty when
reading prev frontmatter.
2026-07-30 12:30:57 +08:00
79ba40f04d fix: tests/tsconfig baseUrl after root baseUrl addition (typecheck script) 2026-07-30 12:27:21 +08:00
08f63205c2 feat(watchlist): tmdb client — v3/v4 auth, detail + search 2026-07-30 12:22:27 +08:00
0aa6df81a3 feat(watchlist): renderNote — canonical note serializer (golden-tested) 2026-07-30 11:17:22 +08:00
51d630fcd6 feat(watchlist): buildRecord — TMDB detail → canonical record
Port pure fn mapping raw TMDB JSON + prev frontmatter → WatchlistRecord. Fixtures from python reference selftest. TDD: 14 new cases all green.
2026-07-29 23:15:36 +08:00
732ec8adf6 feat(watchlist): note parsing (frontmatter, My Notes, tmdb ref) 2026-07-29 22:55:46 +08:00
cade7104db feat(watchlist): yaml helpers + schema types 2026-07-29 21:47:25 +08:00
e7714736ce docs: watchlist suite implementation plan 2026-07-29 21:06:54 +08:00
071c76862a rebrand: media-db-sync fork + fix bun test resolution
- manifest/manifest-beta/package.json → id media-db-sync, v0.1.0
- pluginName const → media-db-sync
- tsconfig: baseUrl (bun test needs it for packages/* paths) + ignoreDeprecations 6.0
- upstream tests were broken on clean checkout (module resolution) → 31/31 pass now
2026-07-29 19:18:59 +08:00
Moritz Jung
65754270ad [auto] bump version to 0.8.0-canary.20260703T094912 2026-07-03 11:49:18 +02:00
Moritz Jung
a449d24fce fix changelog 2026-07-03 11:48:58 +02:00
Moritz Jung
1851f8e6a0 update changelog once more 2026-07-03 11:45:49 +02:00
Moritz Jung
80adf4aff7 more tests 2026-07-03 11:38:15 +02:00
Moritz Jung
84a82f521a fix issue 2026-06-23 19:17:22 +02:00
Moritz Jung
c522ff1301 small tweaks 2026-06-21 22:37:50 +02:00
Moritz Jung
63e8359895
Merge pull request #277 from ltctceplrm/api-key-popup
Add legacy api key popup so users can copy old keys
2026-06-21 22:20:48 +02:00
ltctceplrm
f176a12d6f Applied review suggestions 2026-06-21 22:00:13 +02:00
ltctceplrm
e1ab585103 fix lint errors and ran bun run check:fix 2026-06-21 20:06:38 +02:00
ltctceplrm
54f971f609 Add legacy api key modal
Pop up modal when legacy keys are found in data.json
The keys are hidden by default but the user can show them or just copy them. The old plaintext keys should be deleted for safety reasons
2026-06-21 19:50:23 +02:00
ltctceplrm
e38f450e24 Comment out mobygames and giantbomb 2026-06-21 17:51:01 +02:00
Moritz Jung
5833ca261f
Merge pull request #275 from ltctceplrm/isbn-fix
Change isbns to strings
2026-06-17 09:43:06 +02:00
ltctceplrm
c4b5908e6e Change isbns to strings 2026-06-17 00:03:24 +02:00
Moritz Jung
624be7ef82 [auto] bump version to 0.8.0-canary.20260616T160138 2026-06-16 18:01:44 +02:00
Moritz Jung
08d15660c3 update deps 2026-06-16 18:01:26 +02:00
Moritz Jung
fc5ef663ca
Merge pull request #269 from ltctceplrm/openlibrary-genres
Partial rewrite of OpenLibraryAPI
2026-06-12 10:44:45 +02:00
ltctceplrm
37b8057edd fix crlf problem 2026-06-12 02:04:25 +02:00
ltctceplrm
979ed6804f forgot to include ratings for editions 2026-06-10 20:08:47 +02:00
ltctceplrm
338fea341f reimplemented /isbn/ search + fixed amount of pages 2026-06-10 18:18:00 +02:00
ltctceplrm
bc53fdfd22 Rewrote OpenLibraryAPI
* Split general book search and specific editions search (when using /books/ID in searchByID)
* When searching for specific editions if there's missing metadata it'll use search.json to fill in the missing info
* ran bun check fix
2026-06-10 02:08:07 +02:00
ltctceplrm
f03e3bf442 Add genres again 2026-06-10 01:03:20 +02:00
ltctceplrm
29f2c58703 Merge branch 'mProjectsCode-master' into openlibrary-genres 2026-06-10 01:00:49 +02:00
Moritz Jung
3d2789a730 add check pr workflow 2026-06-03 19:09:38 +02:00
Moritz Jung
21ad8c59d0 remove solid; rework season search 2026-06-03 19:06:03 +02:00
Moritz Jung
ee985419e0 [auto] bump version to 0.8.0-canary.20260602T115558 2026-06-02 13:56:06 +02:00
Moritz Jung
07c0421dc5 fix errors 2026-06-02 13:55:48 +02:00
Moritz Jung
768c916fa7 fix config 2026-06-02 13:54:13 +02:00
Moritz Jung
7695a44350 update deps 2026-06-02 13:53:40 +02:00
Moritz Jung
0fdda8b9ff add repo config 2026-06-02 13:52:45 +02:00
Moritz Jung
ad568b5c9f another cleanup pass 2026-05-21 20:14:11 +02:00
Moritz Jung
898b495f52 more changes to modal flow, fixes some issues I hope 2026-05-21 20:04:33 +02:00
Moritz Jung
5a032a87ae cleanup of new result code 2026-05-06 17:03:31 +02:00
Moritz Jung
498e2611ae add obsidian eslint plugin, solve major issues 2026-05-06 16:26:59 +02:00