Add Favorites, storage drill-down, keyboard shortcuts, and What's New
- Favorites: star toggle on course rows, the course page, and a new dashboard card; rebased on rename/move, backed up/restored, and caught by stale-reference cleanup (also fixed a pre-existing gap where favorites.json wasn't in the backup file list). - Storage Usage: click a folder row to drill into its contents one level at a time, with a Back button. - Lesson player: added ,/. (speed step), [/] (prev/next lesson), and F (fullscreen) keyboard shortcuts. - Settings: a CHANGELOG.md-backed "What's New" list, since VERSION alone only ever shows the current build. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -53,7 +53,10 @@ guessing. Deliberately not derived from `git rev-parse` at Docker build
|
||||
time - Dockhand's build context doesn't reliably have `.git` available,
|
||||
which silently produced "unknown" instead of an actual commit. Reads as
|
||||
`dev` outside Docker (no `VERSION` file to read, e.g. before the first
|
||||
commit that adds one).
|
||||
commit that adds one). `CHANGELOG.md` at the repo root accumulates that
|
||||
same line on every commit (newest first) instead of overwriting it, and
|
||||
shows as a "What's New" list under the version line in Settings - so you
|
||||
can see recent history, not just the current build.
|
||||
|
||||
---
|
||||
|
||||
@@ -186,18 +189,22 @@ silently stay blank instead of erroring.
|
||||
listed (and reversible) under "Ignored matches," and persist through
|
||||
backup/restore alongside hidden paths and Next Up.
|
||||
- *Clean Up Stale References*: finds entries in the hidden-paths list,
|
||||
Next Up queue, or Recently Viewed history that point at a path no longer
|
||||
on disk - normally from renaming/moving/deleting a course directly on
|
||||
the NAS instead of through the app (doing it through the app already
|
||||
keeps these in sync). Review individually or clear them all at once;
|
||||
course files themselves are never touched.
|
||||
Next Up queue, Favorites, or Recently Viewed history that point at a path
|
||||
no longer on disk - normally from renaming/moving/deleting a course
|
||||
directly on the NAS instead of through the app (doing it through the app
|
||||
already keeps these in sync). Review individually or clear them all at
|
||||
once; course files themselves are never touched.
|
||||
- *Storage Usage*: disk usage per top-level library folder, largest
|
||||
first, with a simple proportional bar per entry - manually triggered
|
||||
(it reads every file's size) rather than run automatically.
|
||||
(it reads every file's size) rather than run automatically. Click any
|
||||
folder row to drill into its own contents one level at a time, with a
|
||||
Back button to climb back out.
|
||||
|
||||
**Dashboard**
|
||||
- Library-wide stats (courses, lessons completed, time watched, time
|
||||
remaining, day streak) and a 90-day activity heatmap
|
||||
- Favorites — star any course from its list row or its own page for quick
|
||||
access from the dashboard, independent of recency or curated queues
|
||||
- Next Up queue (manually curated, reorderable)
|
||||
- Pick Back Up (courses with progress that have gone stale)
|
||||
- Recently Added / Recently Viewed
|
||||
@@ -207,6 +214,10 @@ silently stay blank instead of erroring.
|
||||
**Playback & progress**
|
||||
- Video/audio player with resize, playback-speed presets, and resume-from-
|
||||
last-position
|
||||
- Keyboard shortcuts on the lesson page: Space (play/pause), ←/→ (seek
|
||||
10s), ↑/↓ (volume), `,`/`.` (step playback speed), `[`/`]` (previous/next
|
||||
lesson), `F` (fullscreen), `N` (quick-capture a note) - see Help for the
|
||||
full list
|
||||
- Auto-tracks watch progress and completion per lesson
|
||||
- Video/audio durations read via `ffprobe` and cached persistently per
|
||||
course (`.offlineu_duration_cache.json`), so total runtime and per-lesson
|
||||
@@ -236,9 +247,9 @@ silently stay blank instead of erroring.
|
||||
|
||||
**Backup & integrations**
|
||||
- One-click backup export and restore: settings, hidden-path choices, the
|
||||
Next Up queue, recent-view history, ignored-duplicate pairs, Outline
|
||||
config, and every course's progress/notes as a zip (not the course files
|
||||
themselves). Restore
|
||||
Next Up queue, Favorites, recent-view history, ignored-duplicate pairs,
|
||||
Outline config, and every course's progress/notes as a zip (not the
|
||||
course files themselves). Restore
|
||||
overwrites current data and needs a matching course folder to already
|
||||
exist for each course's progress to land - it's a "put my data back"
|
||||
action, not a merge
|
||||
@@ -256,6 +267,7 @@ Everything under `OFFLINEU_DATA_DIR` (app-wide, not tied to a course):
|
||||
| `settings.json` | Theme, layout, library path, etc. |
|
||||
| `hidden_paths.json` | Courses/folders curated out of the browser |
|
||||
| `next_up.json` | The Next Up queue, in order |
|
||||
| `favorites.json` | Favorited course paths |
|
||||
| `recent_views.json` | Cross-course "Recently Viewed" history |
|
||||
| `ignored_duplicates.json` | Course-path pairs confirmed not duplicates |
|
||||
| `outline_config.json` | Outline API token/collection mapping |
|
||||
|
||||
Reference in New Issue
Block a user