Commit Graph

418 Commits

Author SHA1 Message Date
66bd138927 refactor(person): EnrichPersonDeps + GetPersonDeps, PersonEnrichmentHandler 2026-06-11 22:05:38 +02:00
b29f3020e6 refactor(integrations): IngestWatchEventDeps, scoped Arc deps, WatchEventCleanupJob 2026-06-11 22:01:15 +02:00
76edd52bb0 refactor(import): fix test files to not use AppContext 2026-06-11 21:51:24 +02:00
b5ff43d9dc refactor(import): scoped Arc deps, ImportSessionCleanupJob 2026-06-11 21:49:15 +02:00
b552c1d156 refactor(watchlist): WatchlistAddDeps, scoped Arc deps 2026-06-11 21:40:48 +02:00
f006ba00a8 refactor(goals): scoped Arc deps instead of AppContext 2026-06-11 21:36:11 +02:00
2b295e10ba refactor(search): scoped Arc dep instead of AppContext 2026-06-11 21:32:19 +02:00
20ac0d3adf fmt
All checks were successful
CI / Check / Test (push) Successful in 38m10s
2026-06-11 14:44:53 +02:00
8ac87a3735 refactor: split jobs.rs into per-context modules 2026-06-11 14:44:23 +02:00
4f0f44dec3 test: refresh token rotation, logout revocation, login refresh token 2026-06-11 14:42:39 +02:00
96c753c2c6 spa: silent refresh on 401, persistent login 2026-06-11 14:39:10 +02:00
822f3f9d9c api: refresh + logout endpoints, update login response 2026-06-11 14:37:09 +02:00
55feaa353f app: refresh/logout use cases, update login with refresh token 2026-06-11 14:35:53 +02:00
3a3f3b3889 db: refresh_sessions migration + SQLite/Postgres adapters 2026-06-11 14:31:46 +02:00
ef9ecbae06 domain: add RefreshSession model + repository port 2026-06-11 14:29:43 +02:00
db285b513b fix: swap import/export icons 2026-06-11 14:13:51 +02:00
2617c77b42 feat: add arrow navigation to horizontal scroll strips 2026-06-11 14:12:42 +02:00
e618e1aa84 feat: horizontal poster strip for person filmography 2026-06-11 14:10:20 +02:00
7dc372a7b6 feat: redesign person page with Cards, SwipeTabs, collapsible bio 2026-06-11 14:07:27 +02:00
e39fcf6802 feat: show person age calculated from birthday 2026-06-11 14:04:52 +02:00
b09ef4686a fmt 2026-06-11 14:03:05 +02:00
2074a2244e refactor: move person enrichment staleness check to application layer 2026-06-11 14:01:44 +02:00
338ecb71c8 perf: reduce worker concurrency to 4 to ease SQLite write contention 2026-06-11 13:55:48 +02:00
8cb90b256c fix: guard also_known_as access when undefined 2026-06-11 13:52:44 +02:00
c05087a6c7 fmt 2026-06-11 13:51:33 +02:00
0fdc79af23 fix: add enrichment columns to test schema 2026-06-11 13:51:14 +02:00
262ba5ca39 fix: collapse nested if per clippy 2026-06-11 13:48:08 +02:00
57c720b22f fix: collapse nested if per clippy 2026-06-11 13:47:32 +02:00
53b7f730cb refactor: drop EnrichmentHandler alias, use MovieEnrichmentHandler directly 2026-06-11 13:46:30 +02:00
e8fa24bf9b refactor: split tmdb-enrichment into client, movie_handler, person_handler 2026-06-11 13:46:00 +02:00
7437ed89ad fix: handle PersonEnrichmentRequested in test fakes 2026-06-11 13:43:37 +02:00
b2a41db290 feat: rich person detail page with bio, dates, links 2026-06-11 13:42:04 +02:00
9b932cde8e feat: wire person enrichment handler, update API DTOs 2026-06-11 13:40:16 +02:00
a68e19aad7 feat: TMDB person enrichment client + event handler 2026-06-11 13:38:07 +02:00
371a3cdc46 app: person enrichment use case + staleness checks 2026-06-11 13:36:43 +02:00
517a18da8a db: person enrichment migrations + adapter updates 2026-06-11 13:34:10 +02:00
7df24a19ee domain: add person enrichment fields, event, port 2026-06-11 13:30:19 +02:00
549923b92e feat: show relative watched date and comment preview in profile entries 2026-06-11 13:03:49 +02:00
3cbb406ea7 feat: add export route to settings in route tree 2026-06-11 13:01:12 +02:00
21cc6ed437 fix: move useDocumentTitle before early returns (Rules of Hooks) 2026-06-11 12:59:13 +02:00
5dc90724d3 feat: JSON import + mapping presets in SPA
- Accept .json files in import upload, send format to backend
- Backend endpoint PUT /import/sessions/{id}/profile/{profile_id}
- Load saved presets on mapping step, auto-apply and skip to preview
- Save current mapping as preset on confirm step
- Delete presets from mapping step
2026-06-11 12:58:08 +02:00
9a894c3a95 refactor: move export to its own settings page under Data group 2026-06-11 12:46:46 +02:00
acc20d2f43 feat: dynamic page titles across SPA
useDocumentTitle hook sets document.title per page.
Dynamic: movie name, person name, username, wrapup year.
Static: diary, profile, search, social, all settings pages.
2026-06-11 12:45:01 +02:00
a95be0b131 feat: add search input on user profile pages 2026-06-11 12:39:14 +02:00
f10b114e83 feat: expose search param on user profile API endpoint 2026-06-11 12:37:20 +02:00
c020135cd1 feat: move diary export to settings page with CSV/JSON options 2026-06-11 12:36:03 +02:00
ad55897871 i18n: add export and profile search translations 2026-06-11 12:34:29 +02:00
87fcdc12ca clean up
All checks were successful
CI / Check / Test (push) Successful in 37m41s
2026-06-10 11:02:18 +02:00
d14199813f perf: optimize compile times
All checks were successful
CI / Check / Test (push) Successful in 37m59s
- Remove sqlx 'macros' feature — migrated to runtime queries in f4fd915,
  proc-macro crates (sqlx-macros-core, sqlx-macros) were dead weight
- Add [profile.dev] debug=1 (line tables only) + split-debuginfo=unpacked
  to speed up linking on macOS
- Add [profile.dev.package.'*'] opt-level=2 to compile deps faster at
  runtime; one-time cost on first build, cached after that
2026-06-10 03:33:48 +02:00
f52219b2b7 docs: update architecture diagram — add domain services, Password VO
Some checks failed
CI / Check / Test (push) Has been cancelled
2026-06-10 03:25:14 +02:00