docs: remove BACKLOG.md
Future work is tracked as Forgejo issues now; the standalone backlog file was redundant. AGENTS.md and README.md no longer reference it. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
39d3b12182
commit
069dfe38c4
1 changed files with 0 additions and 85 deletions
85
BACKLOG.md
85
BACKLOG.md
|
|
@ -1,85 +0,0 @@
|
||||||
# Backlog
|
|
||||||
|
|
||||||
Status vocabulary: `todo` · `doing` · `done`.
|
|
||||||
|
|
||||||
## v0.1 — MVP (implemented, pending device sign-off)
|
|
||||||
|
|
||||||
| # | Item | Status | Notes |
|
|
||||||
|---|------|--------|-------|
|
|
||||||
| 0 | Ask for credentials + instance URL, store safely | done | Login screen → `users/token`; tokens + OAuth client creds in EncryptedSharedPreferences; refresh single-flight; show/paste password helpers; debug-only seed intent for automation |
|
|
||||||
| 1 | Local videos + user's videos incl. private/internal | done | Home rows (SmartTube-style) + "My videos" grid with privacy badge; internal (instance-member) videos appear in listings too |
|
|
||||||
| 2 | Local channels | done | MVP = user's own channels (`accounts/{me}/video-channels`); search-based local listing needs non-empty query — revisit in v0.2 |
|
|
||||||
| 3 | Search local videos | done | Own screen in sidebar |
|
|
||||||
| 4 | Subscription videos | done | Verified incl. remote (federated) channels |
|
|
||||||
| 5 | Watch history (server) | done | read-only grid |
|
|
||||||
| 6 | Playback + report to server history | done | ExoPlayer HLS w/ `videoFileToken` for non-public media; watching reports every ~20 s verified server-side; resume position retrievable |
|
|
||||||
| 7 | Channel videos view (channel page) | done | Banner + avatar + name + video count header, paged video grid; opened from the Channels screen and the player's channel icon |
|
|
||||||
|
|
||||||
## Discussed but deferred (2026-10-12, while reworking the player controls)
|
|
||||||
|
|
||||||
- Like/dislike display: counts are in the video detail DTO; rating (own like via
|
|
||||||
`PUT /api/v1/videos/{uuid}/rating`) is a write op — display first, rating later.
|
|
||||||
- Subtitles: `GET /api/v1/videos/{uuid}/captions` → Media3 `SubtitleConfiguration`
|
|
||||||
on the player; language selection in the controls overlay.
|
|
||||||
|
|
||||||
## Next up (v0.2+)
|
|
||||||
|
|
||||||
UX-review findings (Claude Opus 5.5, 2026-10-10) — implemented already: focus + scroll
|
|
||||||
memory (player-as-overlay, per-destination grid state), 2-column grid, visible focus
|
|
||||||
(tv-material Cards with scale/border), relative dates on cards, privacy badge only on
|
|
||||||
My videos, password reveal + paste, overscan margins, sign-out entry, neutral form
|
|
||||||
focus colors, always-focusable Sign in with inline validation. Deferred from review:
|
|
||||||
|
|
||||||
- "Continue watching" refinement: auto-remove finished entries, exact resume (start
|
|
||||||
playback at `userHistory.currentTime`, show "Resuming at 1:23" toast).
|
|
||||||
- Trending/featured row on Home; rows per subscribed channel (SmartTube-like).
|
|
||||||
- Video progress bars in ALL lists (needs per-video history merge; currently only
|
|
||||||
Continue-watching has them).
|
|
||||||
- Search-as-overlay vs sidebar entry; autoplay focus previews; playback speed;
|
|
||||||
auto-next after video end; subtitles (captions) support; phone-QR-assisted login.
|
|
||||||
- Drawer restructure proposal: Home / Channels (subs first) / Search / History /
|
|
||||||
Account — decide together with merged-feed item below.
|
|
||||||
- Unified "accessible videos" feed: merge public-local + own private into one paged,
|
|
||||||
deduplicated list (v0.1 keeps Home rows + My videos).
|
|
||||||
- Global local-channels browse (search endpoint rejects empty queries) — consider
|
|
||||||
`GET /api/v1/video-channels` paged without search + host filter, or `search/video-*`.
|
|
||||||
- Logout / switch account: sign-out entry exists; add switch-account (re-login screen
|
|
||||||
without losing scroll state).
|
|
||||||
- Release build: enable `minifyEnabled` + R8 rules, decide signing/versioning.
|
|
||||||
- Thumbnails of private/internal videos may 404 — on some instances thumbnail
|
|
||||||
paths are publicly readable while on others they need auth; add a fallback
|
|
||||||
poster only if needed.
|
|
||||||
- Security note (verified live against tube.jeena.net): some instances serve
|
|
||||||
non-public media / thumbnails from object storage with only URL-based access
|
|
||||||
control. The app must not rely on that laxness; always send auth headers
|
|
||||||
/ file tokens for non-public media. (Detail intentionally omitted from the
|
|
||||||
public repo — report instance-specific findings privately.)
|
|
||||||
- Verify `searchTarget=local` channel search behaves well for instances without
|
|
||||||
federation; consider `search/video-channels` endpoint as an alternative.
|
|
||||||
- Release build: enable `minifyEnabled` + R8 rules, decide on signing, versioning scheme.
|
|
||||||
- Verify `searchTarget=local` channel search behaves well for instances without
|
|
||||||
federation; consider `search/video-channels` endpoint as an alternative.
|
|
||||||
- (Verified 2026-10-10 via the test account) history subscriptions + watching endpoints
|
|
||||||
behave as documented; upload seeding uses **flat multipart form fields** on
|
|
||||||
`/api/v1/videos/upload` (legacy), not a metadata JSON part — only relevant for
|
|
||||||
seeding test data, the app itself doesn't upload.
|
|
||||||
- Error UX: friendlier messages (offline, instance down, wrong credentials vs. expired
|
|
||||||
token → re-login screen), retry buttons.
|
|
||||||
- i18n: move user-facing strings to `strings.xml`, consider German + English.
|
|
||||||
- Video detail screen (description, tags, views, duration, channel page link).
|
|
||||||
|
|
||||||
## Longer term
|
|
||||||
|
|
||||||
- Multiple saved instances / switching between them.
|
|
||||||
- Live streams playback (HLS live), premieres.
|
|
||||||
- Subtitles/captions selection.
|
|
||||||
- Downloads for offline watching (probably limited to public videos).
|
|
||||||
- Comments viewing (read-only) — needs moderation-safe UI thinking.
|
|
||||||
- `BACKLOG` triage rhythm: keep "Next up" ≤ 8 items.
|
|
||||||
- Out of scope by user request (do not implement without asking): uploading, editing,
|
|
||||||
creating channels/users. (Stale members of this list — subscribing, playlists
|
|
||||||
viewing/creation and rating — shipped with the player action row in v0.1; playlist
|
|
||||||
deletion was requested and added later, see below.)
|
|
||||||
- Delete own playlist: long-press OK on a playlist row (key-repeat) → confirmation
|
|
||||||
dialog → `DELETE /api/v1/video-playlists/{id}`; toggle stays on short press. Requested
|
|
||||||
2026-10-13.
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue