|
|
857896f057
|
feat: add video download link to wrapup HTML page
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
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
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
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
CI / Check / Test (push) Failing after 42s
|
2026-06-03 00:55:43 +02:00 |
|
|
|
45d6183ea4
|
fix: reverse rating bar order to 5★→1★
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
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
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
CI / Check / Test (push) Failing after 41s
|
2026-06-03 00:42:25 +02:00 |
|
|
|
a5cf62e281
|
fix: cover-fill backgrounds, bigger highlight posters
CI / Check / Test (push) Failing after 42s
|
2026-06-03 00:40:35 +02:00 |
|
|
|
6fb00f9205
|
docs: add WRAPUP_BG_DIR to env/readme
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
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
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
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
CI / Check / Test (push) Failing after 43s
|
2026-06-03 00:10:56 +02:00 |
|
|
|
8429d13db0
|
fix: enable ab_glyph font backend for plotters
CI / Check / Test (push) Failing after 42s
|
2026-06-03 00:09:10 +02:00 |
|
|
|
cb611bcc7d
|
fix: wire FfmpegWrapUpRenderer into worker when ffmpeg available
CI / Check / Test (push) Failing after 41s
|
2026-06-03 00:06:04 +02:00 |
|
|
|
bb503f3ce8
|
feat: AdminApiUser extractor for Bearer-token admin endpoints
CI / Check / Test (push) Has been cancelled
|
2026-06-03 00:00:45 +02:00 |
|
|
|
bf0350c87a
|
fmt
CI / Check / Test (push) Failing after 6m39s
|
2026-06-02 23:50:20 +02:00 |
|
|
|
9e13f04e9c
|
fix: clippy warnings in wrapup compute + renderer
CI / Check / Test (push) Has been cancelled
|
2026-06-02 23:49:39 +02:00 |
|
|
|
e69f77a99f
|
docs: add wrap-up to Dockerfile, .env.example, README
CI / Check / Test (push) Failing after 42s
|
2026-06-02 23:47:21 +02:00 |
|
|
|
1e063b6580
|
feat: streaming video download via ImageStorage::get_stream
CI / Check / Test (push) Failing after 41s
|
2026-06-02 23:45:31 +02:00 |
|
|
|
f160adcd1c
|
feat: wrapup env vars + render concurrency semaphore
CI / Check / Test (push) Failing after 43s
|
2026-06-02 23:41:08 +02:00 |
|
|
|
efd1214a4c
|
feat: font rendering + logo branding on wrapup slides
CI / Check / Test (push) Failing after 43s
|
2026-06-02 23:16:55 +02:00 |
|
|
|
21c33b169e
|
feat: gate wrapup generate behind admin role
|
2026-06-02 23:14:06 +02:00 |
|
|
|
490bd97a40
|
feat: wire video renderer pipeline + download endpoint
CI / Check / Test (push) Failing after 41s
|
2026-06-02 22:34:55 +02:00 |
|
|
|
d45d8aa913
|
feat: video renderer adapter w/ slides + charts + ffmpeg
|
2026-06-02 22:31:45 +02:00 |
|
|
|
f00a2cbbb8
|
feat: HTML wrap-up page with Askama template
|
2026-06-02 22:28:28 +02:00 |
|
|
|
c0b3fb6940
|
fix: collapse nested if in wrapup generate
CI / Check / Test (push) Failing after 44s
|
2026-06-02 22:20:29 +02:00 |
|
|
|
ea43911984
|
feat: wire real wrapup adapters into presentation + worker
|
2026-06-02 22:19:29 +02:00 |
|
|
|
5a15bea3d4
|
feat: wrap-up REST API endpoints
|
2026-06-02 22:17:11 +02:00 |
|
|
|
5e740ba2a1
|
fix: add async_trait + exhaustive match for wrapup events in tests
|
2026-06-02 22:14:50 +02:00 |
|
|
|
7ef8912d69
|
feat: wrapup worker handler + auto-generate job
|
2026-06-02 22:13:08 +02:00 |
|
|
|
ac05cdfeaf
|
fix: add WrapUp events to NATS subject mapping
|
2026-06-02 22:09:57 +02:00 |
|
|
|
b171d2d1e2
|
feat(application): wrapup generate/get/list use cases
|
2026-06-02 22:09:08 +02:00 |
|
|
|
59b42ce810
|
feat: add WrapUpRequested/Completed domain events
|
2026-06-02 22:06:06 +02:00 |
|
|
|
5a6abdcc23
|
feat(adapters): WrapUpStatsQuery + WrapUpRepository for postgres/sqlite
|
2026-06-02 22:04:46 +02:00 |
|
|
|
a95d831fd1
|
feat(domain): add WrapUpRecord, WrapUpRepository port
|
2026-06-02 21:59:47 +02:00 |
|
|
|
4c75113c4f
|
chore: wire WrapUpStatsQuery panic stub into binaries
CI / Check / Test (push) Failing after 44s
|
2026-06-02 21:49:54 +02:00 |
|
|
|
8fec989dc6
|
test(wrapup): unit tests for stats computation
|
2026-06-02 21:46:51 +02:00 |
|
|
|
8c31a2b829
|
feat(application): add wrapup stats computation engine
|
2026-06-02 21:44:46 +02:00 |
|
|
|
4df78221a8
|
feat(domain): add WrapUpStatsQuery port and in-memory fake
|
2026-06-02 21:42:15 +02:00 |
|
|
|
e8b2d4f7ee
|
feat(domain): add WrapUpReport model and supporting types
|
2026-06-02 21:40:43 +02:00 |
|
|
|
c878c0358f
|
fix: add 403 response to confirm/dismiss OpenAPI annotations
CI / Check / Test (push) Failing after 6m22s
|
2026-06-02 21:06:22 +02:00 |
|
|
|
4067dedb28
|
refactor: add DomainError::Forbidden + centralize error-to-HTTP mapping
Ownership checks (delete_review, confirm/dismiss watch events) now
return Forbidden instead of Unauthorized. Presentation layer maps
DomainError→StatusCode via domain_error_response helper, replacing
verbose per-handler match arms.
|
2026-06-02 21:00:22 +02:00 |
|
|
|
28170c95d4
|
chore: fmt + remove dead federation module
CI / Check / Test (push) Failing after 5m58s
|
2026-06-02 20:44:08 +02:00 |
|
|
|
62fd6682c6
|
refactor: extract view-model mappers from presentation handlers
CI / Check / Test (push) Has been cancelled
Move mapping logic (domain→DTO/template structs) into mappers/ module.
Handlers now call mapper fns instead of inline conversions.
|
2026-06-02 20:43:33 +02:00 |
|
|
|
b9210b6c4e
|
fix: batch N+1 queries in import duplicate check and watch event dismiss
CI / Check / Test (push) Failing after 5m54s
apply_mapping: 2 batch queries instead of up to 2N per-row lookups
dismiss: single fetch + single update instead of 2N per-event queries
|
2026-06-02 20:05:15 +02:00 |
|
|
|
ac7edd6953
|
WIP: federation + integrations
CI / Check / Test (push) Failing after 5m56s
|
2026-06-02 19:50:19 +02:00 |
|