diff --git a/backend/routers/stats.py b/backend/routers/stats.py index 06b70b3..0a7f36c 100644 --- a/backend/routers/stats.py +++ b/backend/routers/stats.py @@ -85,7 +85,7 @@ def get_stats( avg_completion = db.execute( text(""" SELECT AVG(uv.completion_percent) AS avg_pct, - COUNT(CASE WHEN uv.completion_percent >= 90 THEN 1 END) AS finished_count, + COUNT(CASE WHEN uv.completion_percent >= 75 THEN 1 END) AS finished_count, COUNT(CASE WHEN uv.completion_percent < 20 AND uv.completion_percent IS NOT NULL THEN 1 END) AS bailed_count, SUM(uv.rewatch_count) AS total_rewatches, COUNT(CASE WHEN uv.rewatch_count > 0 THEN 1 END) AS rewatched_videos diff --git a/backend/routers/videos.py b/backend/routers/videos.py index 1dc34fc..bdc69fb 100644 --- a/backend/routers/videos.py +++ b/backend/routers/videos.py @@ -999,10 +999,10 @@ def update_progress( if pct < 0.20: _update_affinity(db, current_user.id, video, -0.5) - # Backend safety net: auto-mark watched at ≥90% completion even if the frontend + # Backend safety net: auto-mark watched at ≥75% completion even if the frontend # didn't send watched=True (e.g. browser closed before debounce fired) if (not prev_watched and not uv.watched - and uv.completion_percent is not None and uv.completion_percent >= 90 + and uv.completion_percent is not None and uv.completion_percent >= 75 and video.duration_seconds and video.duration_seconds > 60): uv.watched = True _update_affinity(db, current_user.id, video, +2.0) diff --git a/frontend/src/components/VideoPlayer.jsx b/frontend/src/components/VideoPlayer.jsx index ae70df0..7f32e1d 100644 --- a/frontend/src/components/VideoPlayer.jsx +++ b/frontend/src/components/VideoPlayer.jsx @@ -158,7 +158,7 @@ export default function VideoPlayer() { saveTimerRef.current = setTimeout(() => { if (video?.id) { const duration = video.duration_seconds ?? 0; - const watched = duration > 0 && secs >= duration * 0.9; + const watched = duration > 0 && secs >= duration * 0.75; updateProgress(video.id, { watch_progress_seconds: secs, watched }); } }, 10_000); diff --git a/frontend/src/pages/Stats.jsx b/frontend/src/pages/Stats.jsx index 306bd95..a566cff 100644 --- a/frontend/src/pages/Stats.jsx +++ b/frontend/src/pages/Stats.jsx @@ -87,7 +87,7 @@ export default function Stats() {