@@ -204,6 +204,38 @@ server path. For Docker and headless servers, type the real server-visible path
204204**Append picked folder** only when the current text box already contains the parent path and you
205205want the picker to append one child folder name.
206206
207+ # ## Full Catalog and Favorites Are Separate Rails
208+
209+ AniLiberty STRM Plugin deliberately writes the full catalog and favorites into different output
210+ roots :
211+
212+ - **All Titles STRM Path** is the full-catalog reconstruction rail.
213+ - **Favorites STRM Path** is the personal favorites reconstruction rail.
214+
215+ The rails are operated separately :
216+
217+ - **Generate full catalog library** enables or disables the full-catalog rail.
218+ - **Generate favorites library** enables or disables the favorites rail.
219+ - **Generate AniLiberty STRM library** updates only the full-catalog root.
220+ - **Generate AniLiberty STRM (Favorites Only)** updates only the favorites root and requires a valid
221+ AniLiberty token.
222+
223+ Running a scheduled task is not enough by itself. If the matching enable flag is off, or the matching
224+ path is empty, that task exits without generating files. Save plugin settings before running either
225+ task.
226+
227+ This is not duplication by accident. Favorites are often a smaller, authenticated operational
228+ surface that you may want to scan, schedule, or expose separately from the full catalog. In Jellyfin
229+ you can add them as two separate libraries, for example :
230+
231+ - ` /media/aniliberty-strm/all`
232+ - ` /media/aniliberty-strm/favorites`
233+
234+ Do not point **All Titles STRM Path** and **Favorites STRM Path** at the same directory. Each output
235+ root owns its own `.aniliberty-strm-plugin/manifest.json`; cleanup decisions are made per root. If
236+ both rails share one folder, one rail can treat the other rail's generated files as stale, especially
237+ when **Stale generated files** is set to `Delete managed stale files`.
238+
207239Recommended first run :
208240
2092411. Open **Dashboard → Plugins → AniLiberty STRM**.
@@ -223,14 +255,17 @@ The first successful run creates the governance manifest
223255artwork, and skip-control files where the upstream signal contains them.
224256
225257For favorites, complete **AniLiberty authentication** first, set **Favorites STRM Path** to a
226- container-visible path such as `/media/aniliberty-strm/favorites`, then run
227- **Generate AniLiberty STRM (Favorites Only)**.
258+ container-visible path such as `/media/aniliberty-strm/favorites`, keep **Generate favorites
259+ library** enabled, then run **Generate AniLiberty STRM (Favorites Only)**. Add that favorites path
260+ as a separate Jellyfin library if you want a dedicated favorites surface.
228261
229262If the output directory stays empty, check these control points :
230263
231264- The plugin path is the Docker container path, not the host path.
232265- The mounted folder is writable by the Jellyfin container user.
233266- The selected rail is enabled in plugin settings.
267+ - The scheduled task matches the path you expect : full catalog task writes only **All Titles STRM Path**,
268+ favorites task writes only **Favorites STRM Path**.
234269- The scheduled task was run after saving settings.
235270- Favorites generation has a valid AniLiberty token.
236271- Playback clients can reach **Jellyfin Playback Proxy Base URL** if the playback proxy is enabled.
@@ -295,8 +330,8 @@ Open **Dashboard → Plugins → AniLiberty STRM**.
295330
296331| Field | Meaning |
297332|------------------------------|-------------------------------------------------------------------------|
298- | **All Titles STRM Path** | Root for the full-catalog reconstruction rail. Leave empty to disable. |
299- | **Favorites STRM Path** | Root for the favorites reconstruction rail. |
333+ | **All Titles STRM Path** | Dedicated root for the full-catalog reconstruction rail. Leave empty to disable. |
334+ | **Favorites STRM Path** | Dedicated root for the favorites reconstruction rail. Keep it separate from the full-catalog root. |
300335| **Preferred Resolution** | HLS quality policy for STRM playback entries : 1080 / 720 / 480. |
301336| **Generate favorites library** | Enables the favorites orchestration rail. |
302337| **Generate full catalog library** | Enables the full-catalog orchestration rail. |
@@ -378,14 +413,18 @@ Three orchestration rails appear under **Dashboard → Scheduled Tasks → AniLi
378413
3794141. **Full Catalog Reconstruction Rail**
380415 - Acquires the complete AniLiberty catalog signal from `/anime/catalog/releases`.
416+ - Requires **Generate full catalog library** to be enabled.
381417 - Applies `AllTitlesPageSize` and `AllTitlesMaxPages` as acquisition pressure controls.
382418 - Produces STRM playback entries, metadata, skip markers, thumbnails, and optional chapters
383419 under **All Titles STRM Path**.
420+ - Does nothing when **All Titles STRM Path** is empty.
384421 - By default runs **once per day**.
385422
3864232. **Favorites Reconstruction Rail**
387424 - Requires a valid `AniLibertyToken`.
425+ - Requires **Generate favorites library** to be enabled.
388426 - Converts the authenticated favorites signal into the same governed media surface under **Favorites STRM Path**.
427+ - Does nothing when **Favorites STRM Path** is empty.
389428 - Has no default trigger; you can enable and schedule it as you like.
390429
3914303. **Watch-State Recovery Rail**
0 commit comments