Fix bug causing IIIF image slider view all links to be broken in AI mode#484
Merged
Conversation
mbklein
approved these changes
Jun 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
When AI mode is enabled, the "View All" links on the IIIF image sliders are linking to a blank page of search results and behind the scenes the search query is returning a 400 error.
Root cause
The hybrid search request body included an inline
search_pipelinedefinition alongside the?search_pipeline=dc-v2-work-pipelineURL parameter. The API uses the URL parameter to specify the pipeline, and sending a conflicting inline definition in the body caused the 400.Changes
search_pipelinefrom request body as the URL parameter is the correct mechanism for this API and is sufficient on its ownmodel_idfrom neural sub-query because the API injects the correct model ID server-side if not providedpost_filterapplies after scoring, so filters oncollectionandsubjectweren't constraining the neural query's candidate pool; pushing them into each sub-query ensures the K nearest neighbors are drawn from the correct filtered setpost_filteron non-AI queries which keeps existing filter behavior for standard keyword search unchanged