MISSING_STATUS=upgrade behaves as missing on Whisparr — the hasFile() guard is missing its negation.
WhisparrUpdater.java:112:
if (missingStatus == MissingStatus.UPGRADE && m.resource().hasFile()) {
RadarrUpdater.java:112 has && !m.resource().hasFile(), and Sonarr (:134) and Lidarr (:139) use the same negated form.
So on Whisparr upgrade skips everything that has a file and keeps only what's missing — exactly what missing does. There's no way to get upgrade-only searching out of the Whisparr updater. The logs don't reveal it either: the skip still posts SelectionCancellationReason.MISSING and logs "because it is missing a movie file (upgrade only)" for items that do have one.
Fix is the missing !.
Found with Claude Code
MISSING_STATUS=upgradebehaves asmissingon Whisparr — thehasFile()guard is missing its negation.WhisparrUpdater.java:112:RadarrUpdater.java:112has&& !m.resource().hasFile(), and Sonarr (:134) and Lidarr (:139) use the same negated form.So on Whisparr
upgradeskips everything that has a file and keeps only what's missing — exactly whatmissingdoes. There's no way to get upgrade-only searching out of the Whisparr updater. The logs don't reveal it either: the skip still postsSelectionCancellationReason.MISSINGand logs "because it is missing a movie file (upgrade only)" for items that do have one.Fix is the missing
!.Found with Claude Code