Skip to content

fix(state): ignore unresolvable IRIs in IriConverterParameterProvider - #8844

Merged
soyuka merged 2 commits into
api-platform:5.0from
soyuka:fix/8834-unresolvable-iri
Nov 13, 2026
Merged

soyuka merged 2 commits into
api-platform:5.0from
soyuka:fix/8834-unresolvable-iri

Conversation

@soyuka

@soyuka soyuka commented Nov 13, 2026

Copy link
Copy Markdown
Member
Q A
Branch? 5.0
Tickets Closes #8834
License MIT
Doc PR ∅

Supersedes #8839, thanks @pysocrates for the report work and the first iteration.

IriConverterParameterProvider swallowed IRI conversion errors without setting a value, so the raw string reached IriFilter and the ORM one crashed with a TypeError (500). The array branch also stopped at the first invalid IRI (break), dropping the valid ones after it, and an empty value skipped conversion.

The provider now always sets resolved resources: unresolvable IRIs are skipped (logged as notice), and an unresolvable single value becomes an empty list, so the filter matches nothing. This is the same result as a well-formed IRI to a missing item, and what the ODM filter already did; its own non-object guards are removed and an empty list now yields an always-false match instead of an empty $or. throw_not_found is unchanged.

soyuka and others added 2 commits November 13, 2026 11:45
Co-authored-by: CRC <46287826+pysocrates@users.noreply.github.com>
Co-authored-by: CRC <46287826+pysocrates@users.noreply.github.com>
@soyuka
soyuka merged commit d2f7a0f into api-platform:5.0 Nov 13, 2026
113 of 117 checks passed
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.

1 participant