Skip to content

Treat piped item types as alternatives instead of one invalid id - #289

Draft
JeroenDeDauw wants to merge 1 commit into
masterfrom
fix/piped-item-types
Draft

JeroenDeDauw wants to merge 1 commit into
masterfrom
fix/piped-item-types

Conversation

@JeroenDeDauw

@JeroenDeDauw JeroenDeDauw commented Sep 8, 2026

Copy link
Copy Markdown
Member

haswbfacet:P1=Q1|Q2 on the item type property was handed to ItemId whole, which rejected it, leaving the
query with no item type: the search applied no type filter, the sidebar showed no facets, and
action=wbfacetsearch failed with wbfs-item-type-required. | already means OR in a facet value filter, and
repeated item type tokens already union, so the value is now split on |, valid ids added and invalid segments
skipped as a single invalid id already was. Piped and repeated forms now select the same items and the same
facets, which remain those of the first item type in the expression.

AI-authored — Claude Code, Opus 5 (max); one-line ask from @JeroenDeDauw covering three review findings, one
PR each; no redirections; diff not yet human-reviewed; regression tests seen failing then passing, full extension
PHPUnit suite, phpcs and phpstan clean, and both the search page and the API re-checked on a dev wiki.

@codecov-commenter

codecov-commenter commented Sep 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.44%. Comparing base (f41af94) to head (6dbdcff).

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #289      +/-   ##
============================================
+ Coverage     75.51%   76.44%   +0.92%     
- Complexity      429      431       +2     
============================================
  Files            50       50              
  Lines          1401     1405       +4     
============================================
+ Hits           1058     1074      +16     
+ Misses          343      331      -12     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

`haswbfacet:P1=Q1|Q2` on the item type property was handed to `ItemId` whole, which rejected it, leaving the
query with no item type: the search applied no type filter, the sidebar showed no facets, and
`action=wbfacetsearch` failed with `wbfs-item-type-required`. `|` already means OR in a facet value filter, and
repeated item type tokens already union, so the value is now split on `|`, valid ids added and invalid segments
skipped as a single invalid id already was. Piped and repeated forms now select the same items and the same
facets, which remain those of the first item type in the expression.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants