Commit Graph
3 Commits
Author SHA1 Message Date
rmsitzandClaude Sonnet 5 acabb89981 Add auto-thumbnails, library-wide remaining time, backup restore
Auto-generated course thumbnails: find_course_thumbnail() falls back to
grabbing a frame from a course's first video via ffmpeg when there's no
manual cover image, cached to .offlineu_thumbnail.jpg so it only ever
runs once. Folded into the "Precompute" prewarm button, now "Precompute
Lengths & Cover Art".

Library-wide "Remaining" stat: sums every course's already-cached
duration (no ffprobe, just a JSON read) into the dashboard's Library
Stats card, alongside the existing "Watched" figure.

Backup restore: new /api/backup/restore endpoint and a "Choose Backup
File..." control in Settings, with zip-slip and missing-course guards.
Also fixed a gap in the export itself - next_up.json and
outline_config.json weren't being backed up before, so restore wouldn't
have been a true round trip.

Move Surprise Me from a full-width button above the course list to a
dice-icon button in the dashboard header, swapping with the course-name
badge depending on whether a course is loaded.

Update README to cover all of the above.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-23 22:50:48 -04:00
rmsitzandClaude Sonnet 5 01a965c0f1 Rewrite README as internal deployment/reference documentation
Replace the original upstream template README (public-project framing,
roadmap items already built, links to a different GitHub repo) with
documentation matching the actual private deployment: real
docker-compose.yml, the Gitea->Dockhand rebuild-on-push behavior, env
vars/CLI flags, data file locations, and the full current feature set
(theming, notes hub, video duration/ffprobe caching, backup export,
Outline integration) that had never been documented.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-23 22:30:00 -04:00
rmsitz 6f0fc6cb60 Add library browser feature 2026-08-20 13:47:51 -04:00