Commit Graph

316 Commits

Author SHA1 Message Date
15dc0e526b feat: expose display_name, also_known_as, profile fields in GET /profile 2026-06-04 02:58:12 +02:00
cf2f4a1b4f feat: watchlist add accepts title/year/imdb for movies not in DB 2026-06-04 02:47:55 +02:00
e7cdbf9ca7 fix: user profile URLs, typed returns for following/followers
- avatar_url/banner_url now use full base_url + /images/ prefix
- get_user_following/followers return Result<Json<_>, ApiError>
- add ap_to_domain helper for anyhow→DomainError conversion
2026-06-04 02:40:04 +02:00
837b7866af feat: include avatar_url and banner_url in UserProfileResponse 2026-06-04 02:37:16 +02:00
c4908b7765 feat: API endpoints for any user's following/followers 2026-06-04 02:34:01 +02:00
dbc78a1ff4 feat: add user_id to FeedEntryDto 2026-06-04 02:22:08 +02:00
a97e263ed3 fix: always return following/followers counts, only hide pending for non-own profiles 2026-06-04 02:19:27 +02:00
b1d667d3cb fix: user profile returns social counts when viewing own profile 2026-06-04 02:18:28 +02:00
bf73d4a695 feat: CORS, role in auth, banner_url, diary sort, cleanup
- CORS layer on API routes via CORS_ORIGINS env var
- role field in login + profile responses
- banner_url in profile response
- diary sort_by: rating_desc/rating_asc/date_asc/date_desc
- UserRole::as_str() to deduplicate role mapping
- typed DTOs for import preview (replace ad-hoc JSON)
- warn on invalid CORS origins
2026-06-04 02:06:51 +02:00
7b9b0f9ffe feat: API preview endpoint for import sessions 2026-06-04 01:59:09 +02:00
7d6f874ae7 feat: activity feed accepts sort_by param 2026-06-04 01:35:45 +02:00
4206bb4b06 fix: diary sort_by rating_desc/rating_asc in all/movie queries 2026-06-04 01:28:35 +02:00
004243dcbb fix: use embed=true for serde bool compat
Some checks failed
CI / Check / Test (push) Failing after 6m35s
2026-06-03 10:17:43 +02:00
c798b851dc fmt
Some checks failed
CI / Check / Test (push) Has been cancelled
2026-06-03 10:14:53 +02:00
c18d4eebc1 fix: use array instead of vec for clippy 2026-06-03 10:14:20 +02:00
3f6e01ed65 feat: add embed snippet to profile settings 2026-06-03 10:09:38 +02:00
19642175eb feat: wire embed param to EmbedProfileTemplate 2026-06-03 10:08:51 +02:00
8ca378b25f feat: add embed.css standalone stylesheet 2026-06-03 10:07:46 +02:00
fad73a9fab feat: add embed_profile.html template 2026-06-03 10:07:45 +02:00
627db45a56 feat: add embed_base.html template shell 2026-06-03 10:07:43 +02:00
976d872eed feat: add EmbedProfileTemplate struct 2026-06-03 10:07:41 +02:00
6c7ce24e1f feat: add embed param to ProfileQueryParams 2026-06-03 10:07:39 +02:00
6668ba511c fmt
Some checks failed
CI / Check / Test (push) Failing after 6m32s
2026-06-03 01:38:25 +02:00
430fbb21ea refactor: rename image-storage crate to object-storage
Some checks failed
CI / Check / Test (push) Failing after 44s
2026-06-03 01:37:14 +02:00
f262417971 refactor: rename ImageStorage → ObjectStorage
Some checks failed
CI / Check / Test (push) Failing after 46s
2026-06-03 01:33:08 +02:00
d94ccbe057 refactor: store typed WrapUpReport in domain, serialize in adapters
Some checks failed
CI / Check / Test (push) Failing after 45s
2026-06-03 01:25:16 +02:00
e4b8ba550e refactor: extract storage key conventions into WrapUpStorage
Some checks failed
CI / Check / Test (push) Failing after 43s
2026-06-03 01:20:51 +02:00
3cec726e3d refactor: move VideoRenderConfig from domain to adapter, inject at construction
Some checks failed
CI / Check / Test (push) Failing after 44s
2026-06-03 01:18:52 +02:00
e8e83d3f16 assets + fmt
Some checks failed
CI / Check / Test (push) Has been cancelled
2026-06-03 01:13:06 +02:00
8cabc6af70 fix: clippy — redundant closure in AdminApiUser
Some checks failed
CI / Check / Test (push) Has been cancelled
2026-06-03 01:12:36 +02:00
e378191045 fix: clippy — collapse nested if in cast photo store
Some checks failed
CI / Check / Test (push) Has been cancelled
2026-06-03 01:12:07 +02:00
bca07b7824 fix: clippy — collapse nested ifs, use div_ceil
Some checks failed
CI / Check / Test (push) Failing after 41s
2026-06-03 01:11:17 +02:00
857896f057 feat: add video download link to wrapup HTML page
Some checks failed
CI / Check / Test (push) Failing after 41s
2026-06-03 01:06:11 +02:00
e905842b62 fix: idempotency guard on wrapup handler to prevent duplicate processing
Some checks failed
CI / Check / Test (push) Failing after 42s
2026-06-03 01:01:50 +02:00
83103e5eb5 feat: redesign wrapup HTML with glass cards, ranked lists, better layout
Some checks failed
CI / Check / Test (push) Failing after 42s
2026-06-03 01:00:50 +02:00
fc086de7f7 refactor: move DateRange validation to value object, add delete/cleanup
Some checks failed
CI / Check / Test (push) Failing after 40s
2026-06-03 00:58:07 +02:00
3a66f89609 fix: reverse rating bar order to 5★→1★ in video slides
Some checks failed
CI / Check / Test (push) Failing after 42s
2026-06-03 00:55:43 +02:00
45d6183ea4 fix: reverse rating bar order to 5★→1★
Some checks failed
CI / Check / Test (push) Failing after 41s
2026-06-03 00:54:59 +02:00
241063c914 feat: wrapup date validation, delete endpoint, failed record cleanup
Some checks failed
CI / Check / Test (push) Failing after 41s
2026-06-03 00:54:08 +02:00
3f483f8f81 fix: alpha-blend glass panels instead of opaque overwrite
Some checks failed
CI / Check / Test (push) Failing after 41s
2026-06-03 00:46:09 +02:00
c842ad6a55 feat: download top-5 cast photos during TMDb enrichment
Some checks failed
CI / Check / Test (push) Failing after 41s
2026-06-03 00:42:25 +02:00
a5cf62e281 fix: cover-fill backgrounds, bigger highlight posters
Some checks failed
CI / Check / Test (push) Failing after 42s
2026-06-03 00:40:35 +02:00
6fb00f9205 docs: add WRAPUP_BG_DIR to env/readme
Some checks failed
CI / Check / Test (push) Failing after 40s
2026-06-03 00:35:15 +02:00
d52120d6a9 feat: frutiger aero visual overhaul — backgrounds, glass panels, cast photos, full mosaic
Some checks failed
CI / Check / Test (push) Failing after 42s
2026-06-03 00:34:13 +02:00
e57ddd78ac feat: frutiger aero visual overhaul for wrapup video slides 2026-06-03 00:32:39 +02:00
0d02f23f4f fix: decode AVIF posters via ffmpeg fallback for mosaic slide
Some checks failed
CI / Check / Test (push) Failing after 41s
2026-06-03 00:23:39 +02:00
86639853d2 fix: render genres via SlideRenderer, enable AVIF decoding, add poster fetch logging
Some checks failed
CI / Check / Test (push) Failing after 42s
2026-06-03 00:19:18 +02:00
7155bea78e fix: disable plotters axis labels to avoid system font lookup
Some checks failed
CI / Check / Test (push) Failing after 43s
2026-06-03 00:10:56 +02:00
8429d13db0 fix: enable ab_glyph font backend for plotters
Some checks failed
CI / Check / Test (push) Failing after 42s
2026-06-03 00:09:10 +02:00
cb611bcc7d fix: wire FfmpegWrapUpRenderer into worker when ffmpeg available
Some checks failed
CI / Check / Test (push) Failing after 41s
2026-06-03 00:06:04 +02:00