@@ -324,19 +324,25 @@ class BaseScanner<T> {
324
324
}
325
325
}
326
326
327
+ // We want to skip specials when checking if a show is available
327
328
const isAllStandardSeasons =
328
329
seasons . length &&
329
- seasons . every (
330
- ( season ) =>
331
- season . episodes === season . totalEpisodes && season . episodes > 0
332
- ) ;
330
+ seasons
331
+ . filter ( ( season ) => season . seasonNumber !== 0 )
332
+ . every (
333
+ ( season ) =>
334
+ season . episodes === season . totalEpisodes && season . episodes > 0
335
+ ) ;
333
336
334
337
const isAll4kSeasons =
335
338
seasons . length &&
336
- seasons . every (
337
- ( season ) =>
338
- season . episodes4k === season . totalEpisodes && season . episodes4k > 0
339
- ) ;
339
+ seasons
340
+ . filter ( ( season ) => season . seasonNumber !== 0 )
341
+ . every (
342
+ ( season ) =>
343
+ season . episodes4k === season . totalEpisodes &&
344
+ season . episodes4k > 0
345
+ ) ;
340
346
341
347
if ( media ) {
342
348
media . seasons = [ ...media . seasons , ...newSeasons ] ;
@@ -398,15 +404,20 @@ class BaseScanner<T> {
398
404
}
399
405
400
406
// If the show is already available, and there are no new seasons, dont adjust
401
- // the status
407
+ // the status. Skip specials when performing availability check
402
408
const shouldStayAvailable =
403
409
media . status === MediaStatus . AVAILABLE &&
404
- newSeasons . filter ( ( season ) => season . status !== MediaStatus . UNKNOWN )
405
- . length === 0 ;
410
+ newSeasons . filter (
411
+ ( season ) =>
412
+ season . status !== MediaStatus . UNKNOWN && season . seasonNumber !== 0
413
+ ) . length === 0 ;
406
414
const shouldStayAvailable4k =
407
415
media . status4k === MediaStatus . AVAILABLE &&
408
- newSeasons . filter ( ( season ) => season . status4k !== MediaStatus . UNKNOWN )
409
- . length === 0 ;
416
+ newSeasons . filter (
417
+ ( season ) =>
418
+ season . status4k !== MediaStatus . UNKNOWN &&
419
+ season . seasonNumber !== 0
420
+ ) . length === 0 ;
410
421
411
422
media . status =
412
423
isAllStandardSeasons || shouldStayAvailable
0 commit comments