Repository navigation
items: fix +index crash on unmatched itemid - #2425
Merged
UlrichB22 merged 1 commit intoNov 7, 2026
Merged
Conversation
When the index view is rooted at an item addressed by something other than a name, such as /+index/@itemid/... for an itemid that matches nothing, the item has no NAME in its meta and thus no subitem prefixes. build_index_query indexed subitem_prefixes[0] unconditionally and died with IndexError instead of rendering an empty index -- unlike get_subitem_revs, which already skips the prefix filter when the item has no names. Fix by returning a NullQuery matching nothing when there are no prefixes; the view then renders an empty index as it does for a name with no subitems. The regression test roots an index at a nonexistent itemid and locks in the empty result; it fails with IndexError on the old code.
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.
items: fix +index crash on unmatched itemid
When the index view is rooted at an item addressed by something other
than a name, such as /+index/@itemid/... for an itemid that matches
nothing, the item has no NAME in its meta and thus no subitem prefixes.
build_index_query indexed subitem_prefixes[0] unconditionally and died
with IndexError instead of rendering an empty index -- unlike
get_subitem_revs, which already skips the prefix filter when the item
has no names.
Fix by returning a NullQuery matching nothing when there are no
prefixes; the view then renders an empty index as it does for a name
with no subitems.
The regression test roots an index at a nonexistent itemid and locks in
the empty result; it fails with IndexError on the old code.