Fix inconsistency when scraping performer with multiple stash ids from same endpoint (#6260)

(cherry picked from commit bc91ca0a25)
This commit is contained in:
WithoutPants
2025-11-14 12:59:29 +11:00
parent c8379c0281
commit c78aa7d99c
2 changed files with 17 additions and 0 deletions

View File

@@ -146,6 +146,22 @@ export const PerformerScrapeDialog: React.FC<IPerformerScrapeDialogProps> = (
return;
}
// #6257 - it is possible (though unsupported) to have multiple stash IDs for the same
// endpoint; in that case, we should prefer the one matching the scraped remote site ID
// if it exists
const stashIDs = (props.performer.stash_ids ?? []).filter(
(s) => s.endpoint === endpoint
);
if (stashIDs.length > 1 && props.scraped.remote_site_id) {
const matchingID = stashIDs.find(
(s) => s.stash_id === props.scraped.remote_site_id
);
if (matchingID) {
return matchingID.stash_id;
}
}
// otherwise, return the first stash ID for the endpoint
return props.performer.stash_ids?.find((s) => s.endpoint === endpoint)
?.stash_id;
}

View File

@@ -34,6 +34,7 @@
* Include IP address in login errors in log. ([#5760](https://github.com/stashapp/stash/pull/5760))
### 🐛 Bug fixes
* **[0.29.4]** Fixed existing match stash ID sometimes not being displayed in the performer scrape dialog. ([#6257](https://github.com/stashapp/stash/pull/6257))
* **[0.29.4]** Fixed inline videos showing as full-screen on iPhone devices. ([#6259](https://github.com/stashapp/stash/pull/6259))
* **[0.29.4]** Fixed download backup function not working when generated directory is on a different filesystem. ([#6244](https://github.com/stashapp/stash/pull/6244))
* **[0.29.3]** Fixed sidebar filter contents not loading. ([#6240](https://github.com/stashapp/stash/pull/6240))