fix: read episodeNumber from nested episode object in Sonarr records
All checks were successful
Build and Push Docker Image / build (push) Successful in 25s
CI / Security audit (push) Successful in 45s
CI / Tests & coverage (push) Successful in 1m9s

Sonarr queue and history records do not expose episodeNumber at the
top level — it is only present inside the nested episode object
(record.episode.episodeNumber). Same for seasonNumber. The original
extractEpisode() read record.episodeNumber which was always undefined,
so gatherEpisodes() always returned an empty array.

Fix: prefer the nested episode object fields, falling back to the
top-level fields for forward-compatibility.
This commit is contained in:
2026-05-17 17:19:39 +01:00
parent d1496a76e2
commit 37c8229061
2 changed files with 8 additions and 6 deletions

View File

@@ -97,10 +97,11 @@ function getRadarrLink(movie) {
// Extract episode info from a Sonarr queue/history record.
// Returns { season, episode, title } or null if data is missing.
function extractEpisode(record) {
const s = record.seasonNumber;
const e = record.episodeNumber;
const ep = record.episode || {};
const s = ep.seasonNumber != null ? ep.seasonNumber : record.seasonNumber;
const e = ep.episodeNumber != null ? ep.episodeNumber : record.episodeNumber;
if (s == null || e == null) return null;
const title = record.episode && record.episode.title ? record.episode.title : null;
const title = ep.title || null;
return { season: s, episode: e, title };
}

View File

@@ -84,10 +84,11 @@ function buildTagBadges(allTags, embyUserMap) {
// Extract episode info from a Sonarr history record.
function extractEpisode(record) {
const s = record.seasonNumber;
const e = record.episodeNumber;
const ep = record.episode || {};
const s = ep.seasonNumber != null ? ep.seasonNumber : record.seasonNumber;
const e = ep.episodeNumber != null ? ep.episodeNumber : record.episodeNumber;
if (s == null || e == null) return null;
const title = record.episode && record.episode.title ? record.episode.title : null;
const title = ep.title || null;
return { season: s, episode: e, title };
}