goon/app
jtrzupek 6eb7cdd320 feat(movies): watched/continue-watching tracking end-to-end
Bug-report b207ff17 2026-05-26 ("przydaloby sie oznaczenie filmow juz
obejrzanych" - sceny mialy watched badge + dim, filmom brakowalo).

Backend:
- alembic 0018_movie_play_progress: nowa tabela (mirror scene_play_progress)
- MoviePlayProgress SQLAlchemy model
- MovieOut schema dolane finished/position_sec/last_played_at
- POST+DELETE /movies/{id}/progress endpointy (upsert via pg ON CONFLICT)
- _movie_to_out wstrzykuje progress z DB

Mobile:
- RouteParams.entityKind: 'scene'|'movie' (default scene dla back-compat)
- PlayerScreen NativeVideoPlayer + EmbedWebViewPlayer dispatchuja
  upsertProgress vs upsertMovieProgress po entityKind
- MovieDetailScreen przekazuje entityKind='movie' do nav
- MoviePosterCard renderuje dim + check badge + progress bar
  (parity ze ScenesScreen pattern)

Wczesniej MovieDetail przekazywal movieId jako sceneId -> backend
/scenes/<movieId>/progress zwracal 404 (silently caught). Po dodaniu
dedykowanego movie endpoint proper routing dziala.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 23:24:06 +02:00
..
api feat(movies): watched/continue-watching tracking end-to-end 2026-05-28 23:24:06 +02:00
connectors fix(connectors/dooplay): max_pages cap to unblock movie ingest queue 2026-05-28 23:23:50 +02:00
extractors fix(extractors): mixdrop hardening, yespornvip extractor, freshporno revert 2026-05-28 23:23:37 +02:00
models feat(movies): watched/continue-watching tracking end-to-end 2026-05-28 23:24:06 +02:00
normalize Initial commit 2026-05-20 10:10:22 +02:00
resolve fix(scenes): use ON CONFLICT for tag slug upsert in enrich_tags_from_tube 2026-05-27 15:38:43 +02:00
scheduler session work: bug-report fixes + WIP cleanup 2026-05-25 22:02:52 +02:00
templates Initial commit 2026-05-20 10:10:22 +02:00
__init__.py Initial commit 2026-05-20 10:10:22 +02:00
auth.py Initial commit 2026-05-20 10:10:22 +02:00
config.py Mobile 0.1.9: OTA enable, WebView cookie-dismiss fix, porndoe connector 2026-05-22 11:20:57 +02:00
db.py Initial commit 2026-05-20 10:10:22 +02:00
ingest.py Initial commit 2026-05-20 10:10:22 +02:00
main.py session work: bug-report fixes + WIP cleanup 2026-05-25 22:02:52 +02:00