diff --git a/dashboard.html b/dashboard.html
index 04445c3..f33c014 100644
--- a/dashboard.html
+++ b/dashboard.html
@@ -939,7 +939,10 @@
renderJellyfinStatus(payload);
const action = payload.published ? "published" : payload.changed ? "updated library" : "no changes";
renderMediaChanges(payload.changes);
- setJellyfinMessage(`Synced ${payload.movieCount} movies and ${payload.showCount} shows; ${action}.`);
+ const scope = Array.isArray(payload.libraryNames) && payload.libraryNames.length
+ ? ` from ${payload.libraryNames.join(", ")}`
+ : "";
+ setJellyfinMessage(`Synced ${payload.movieCount} movies and ${payload.showCount} shows${scope}; ${action}.`);
}
function renderMediaChanges(changes = {}) {
diff --git a/status_bot.py b/status_bot.py
index c20acd5..725a312 100644
--- a/status_bot.py
+++ b/status_bot.py
@@ -919,14 +919,20 @@ def fetch_jellyfin_library_ids(settings: dict[str, Any], library_names: list[str
def fetch_jellyfin_items(settings: dict[str, Any], item_type: str) -> list[dict[str, Any]]:
+ parent_ids = settings.get("ParentIds")
+ if isinstance(parent_ids, list) and parent_ids:
+ all_items: list[dict[str, Any]] = []
+ for parent_id in parent_ids:
+ scoped_settings = dict(settings)
+ scoped_settings["ParentId"] = str(parent_id)
+ scoped_settings.pop("ParentIds", None)
+ all_items.extend(fetch_jellyfin_items(scoped_settings, item_type))
+ return all_items
+
+ parent_id_value = str(settings.get("ParentId", "")).strip() or None
items: list[dict[str, Any]] = []
start_index = 0
limit = 200
- parent_ids = settings.get("ParentIds")
- if isinstance(parent_ids, list) and parent_ids:
- parent_id_value = ",".join(str(parent_id) for parent_id in parent_ids)
- else:
- parent_id_value = None
while True:
data = jellyfin_request(
settings,
@@ -1108,6 +1114,7 @@ def sync_jellyfin_library(runtime: BotRuntime, force_publish: bool = False) -> d
"changes": changes,
"movieCount": len(movies),
"showCount": len(shows),
+ "libraryNames": jellyfin_settings(runtime).get("libraryNames", []),
"library": media_library_to_jsonable(movies, shows),
"publishResult": result,
"jellyfin": jellyfin_settings(runtime),