Home: v0.2 — All videos folder, user-data mirror, sort names, official icon, OAuth plumbing
25
Home.md
25
Home.md
@@ -6,6 +6,31 @@ A Jellyfin **channel plugin** that shows your Floatplane subscriptions (creators
|
|||||||
- Install: Dashboard → Plugins → Repositories → add `https://gitea.brasse-pc.eu/brasse/jellyfin-plugin-floatplane/releases/download/latest/manifest.json`, or run `install-pi5.sh` from the release.
|
- Install: Dashboard → Plugins → Repositories → add `https://gitea.brasse-pc.eu/brasse/jellyfin-plugin-floatplane/releases/download/latest/manifest.json`, or run `install-pi5.sh` from the release.
|
||||||
- Built for **Jellyfin 10.10.x** (.NET 8, `targetAbi 10.10.0.0`). One AnyCPU DLL for x64 and arm64 (Pi5).
|
- Built for **Jellyfin 10.10.x** (.NET 8, `targetAbi 10.10.0.0`). One AnyCPU DLL for x64 and arm64 (Pi5).
|
||||||
|
|
||||||
|
## What's new (2026-10-25, v0.2)
|
||||||
|
|
||||||
|
- **"All videos" folder** per creator: every sub-channel's videos in release order
|
||||||
|
(`all:<creatorId>`, items keep the canonical `post:<id>` ids). Sub-channel folders list
|
||||||
|
the same posts under `cpost:<channelId>:<postId>` because Jellyfin allows one parent per
|
||||||
|
item id; `UserDataMirror` (an `IHostedService`) copies played/resume state between the
|
||||||
|
two copies on every `UserDataSaved` event.
|
||||||
|
- **Release order by default in every client**: `SortNameUpdater` sets each video's
|
||||||
|
`ForcedSortName` to `(10^13 - 1 - releaseUnixMs)` zero-padded, so the clients' default
|
||||||
|
"Name ascending" sort shows newest first. Runs ~10 s after a listing (the DB entities exist
|
||||||
|
only after Jellyfin synced them) and during the scheduled refresh.
|
||||||
|
- **Official Floatplane icon** (from `frontend.floatplane.com/favicons`) as channel Primary
|
||||||
|
image (16:9 card, `Resources/logo.png`) and plugin thumbnail (`thumb.png` in the zip,
|
||||||
|
`imagePath` in meta.json, `imageUrl` in manifest.json). The channel offers **only** a
|
||||||
|
Primary image: a channel Thumb is inherited by video cards in "Continue watching" and
|
||||||
|
would hide the video thumbnails. Existing installs get the new image once via
|
||||||
|
`FloatplaneSyncTask.ChannelImageVersion` (explicit `SaveImage` + delete of Thumb/Backdrop;
|
||||||
|
a metadata refresh does not replace a stored Primary).
|
||||||
|
- **OAuth device-flow plumbing** (`FloatplaneAuthService`, `Floatplane/OAuth/*` endpoints,
|
||||||
|
settings page section): works as soon as Floatplane issues a `client_id`; unregistered ids
|
||||||
|
get `invalid_client`. Username/password inside Jellyfin is impossible: Floatplane's
|
||||||
|
Turnstile site key is domain-bound (error 110200 on other origins, verified).
|
||||||
|
- Generic `install.sh` (auto-detects linuxserver / official image / native layout),
|
||||||
|
`doc/usage.md` with screenshots.
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user