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
CI / Check / Test (push) Successful in 37m41s
2026-06-10 11:02:18 +02:00
d14199813f
perf: optimize compile times
...
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
CI / Check / Test (push) Has been cancelled
2026-06-10 03:25:14 +02:00
6e21ec115d
fmt
CI / Check / Test (push) Has been cancelled
2026-06-10 03:24:17 +02:00
deae83cfd1
fix: Password uses char count not byte length, redact Debug output, tighten test assertion
CI / Check / Test (push) Failing after 49s
2026-06-10 03:23:23 +02:00
c4d6b68ef9
refactor: enforce password min-length via domain Password value object
CI / Check / Test (push) Failing after 49s
2026-06-10 03:15:43 +02:00
d8cff33679
refactor: move profile-field count validation into domain UserProfile
2026-06-10 03:13:19 +02:00
e9aa6131ae
refactor: extract wrapup analytics into domain::services::wrapup_analyzer
2026-06-10 03:10:44 +02:00
43f6c5679d
fmt
CI / Check / Test (push) Successful in 15m39s
2026-06-10 02:56:56 +02:00
956e51530e
refactor: move domain inline tests to separate files under tests/
...
CI / Check / Test (push) Failing after 44s
Match the application crate convention: each source file references its
tests via #[cfg(test)] #[path = "tests/filename.rs"] mod tests; with
the test code in a sibling tests/ directory.
- events.rs -> tests/events.rs
- value_objects.rs -> tests/value_objects.rs
- models/mod.rs -> models/tests/mod.rs (renamed from tests.rs)
- models/person.rs -> models/tests/person.rs
- models/goal.rs -> models/tests/goal.rs
- models/watch_event.rs -> models/tests/watch_event.rs
- services/review_history.rs -> services/tests/review_history.rs
2026-06-10 02:55:47 +02:00
b882569ee1
fix: use correct i18n key for comment placeholder in queue tab
CI / Check / Test (push) Has been cancelled
2026-06-10 02:47:04 +02:00