Skip to content

New: Improve Scraper Search - #7259

Merged
Gykes merged 3 commits into
stashapp:developfrom
Maista6969:scraper-search-improvements
Oct 1, 2026
Merged

Gykes merged 3 commits into
stashapp:developfrom
Maista6969:scraper-search-improvements

Conversation

@Maista6969

@Maista6969 Maista6969 commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Description

This lets the "Filter" bar for Available Scrapers find scrapers by the studios they scrape or their URL patterns in addition to the literal scraper names. This is a fully backwards-compatible change to the frontend because it uses additional metadata in the package index which is optional and (as far as I know) has only been implemented for the CommunityScrapers repository.

Related Issue

Resolves #7258

Testing

Since I've already added this metadata to the Community scraper feed this can be tested by searching for scrapers by either a non-obvious studio name or a full URL pattern as seen in the screenshots below.

Screenshots

This is what the search behaved like before this change: a literal search for the scraper name succeeds, but only finds the scrapers who happen to contain that studio name in the scraper name.
before-literal-search
Searching for something like "Brit" would return no results at all.
before-no-results

And here's how the search behaves once this new functionality is added: searching for something like Brit finds several studios that users would not otherwise know belonged to those scrapers.
multiple-results

And searching with a full URL finds the scraper whose URL pattern would match
url-result

Checklist

  • I have read and understood the Contributing document.
  • I have read and understood the AI Usage Policy document.
  • I have made corresponding changes to the documentation (if applicable).

@Gykes Gykes left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a quick static lookover. No testing was done yet.

Comment thread ui/v2.5/src/components/Shared/PackageManager/packageSearch.ts
Comment thread ui/v2.5/src/components/Shared/PackageManager/styles.scss
Comment thread ui/v2.5/src/components/Shared/PackageManager/PackageManager.tsx Outdated
@Maista6969
Maista6969 requested a review from Gykes October 1, 2026 17:41

@Gykes Gykes left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for the quick changes

@Gykes Gykes changed the title Improve scraper search New: Improve Scraper Search Oct 1, 2026
@Gykes Gykes added this to the Version 0.32.0 milestone Oct 1, 2026
@Gykes Gykes added the improvement Something needed tweaking. label Oct 1, 2026
@Gykes
Gykes merged commit 92ea03b into stashapp:develop Oct 1, 2026
11 checks passed
@Maista6969
Maista6969 deleted the scraper-search-improvements branch October 1, 2026 18:02
@Maista6969 Maista6969 mentioned this pull request Oct 1, 2026
1 task done
8ullyMaguire pushed a commit to 8ullyMaguire/stash that referenced this pull request Oct 3, 2026
Keeps the fork current with upstream. The drift was measured with docs/fork-drift.sh rather
than eyeballed -- and the first reading of `git rev-list --left-right --count` was misread,
which made 434 commits look like 434 commits of BEHIND when they are 434 AHEAD. This fork is a
soft fork carrying a large local programme (StashForge governance, the mesh, ed2k transfer), so
"ahead" being large is expected; what matters is the merge-base age.

Upstream work taken in: stashapp#7235 Safari layout, stashapp#7248 VR player colour, stashapp#7259 scraper search,
stashapp#7249 portrait video height, stashapp#7254 organized-button contrast, stashapp#7264 patchable create endpoints,
stashapp#7267 duration-match checkmark.

Merge, not rebase: the ledger cites commits by SHA and the local tags point at them, so a
rebase would rewrite every citation.

Three conflicts, all in files this fork had also touched.

## en-GB.json -- kept ours, spliced in upstream's one key

Upstream's only SEMANTIC change to this file is `package_manager.matched_via`. Every other
difference between the two sides is key ORDER, which git reports as a conflict because both
sides rewrote the same run of lines. So this is a keep-both, not a coin toss: take our side,
then add the one key -- via docs/add-3530-locale.py, the same splice tool, precisely because a
JSON round-trip cannot be byte-identical here.

Verified after: the file parses, all six media_info range keys and all four validation range
keys and both action range keys survive, and matched_via is present.

## Scenes/styles.scss -- took upstream's deletion

This fork set `&.organized { color: #ffffff }` (stash#7160); upstream deleted the whole
`&.organized` block instead (stash#7254). Both fix the same 1.35:1 contrast failure, and
deleting the rule lets the button inherit the default colour rather than restating it. Took
upstream's version and kept a comment recording WHY the rule is absent, since the reason is
invisible in the CSS -- which is what would otherwise invite a well-meaning "tidying" back in.

## utils/apple.ts -- kept ours

Upstream shipped the same ua-parser-js v2 fix (`"macOS"` where v1 said `"Mac OS"`, stash#7234),
terser. Ours takes one UAParser() parse instead of two and names the booleans, which matters
because the two reads were being taken from separate parser instances. Same behaviour, more
legible, and the reasoning is written down.

Verification after the merge:
  go build ./...                   exit 0
  go test -count=1 ./...           61 packages green
  go test -tags integration ./...  61 packages green
  pnpm run check                   1 error, the pre-existing Scene.tsx:756
  vite build                       exit 0
  ScenePlayer/styles.scss          upstream's max-height added, this fork's CSS intact
                                   (git diff HEAD on that file is empty)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Something needed tweaking.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Improve scraper discoverability

2 participants