You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
$id fragment lookup silently returns the parent schema when resolution fails #676
On libopenapi v0.41.8, a reference resolved through a registered $id can return the enclosing schema when the requested fragment does not resolve. This affects both the absolute URI and its absolute-path lookup form.
With the schema below, #/properties/A+B%20C should select the integer property. #/properties/missing and #/properties/%zz should not resolve. All three currently return the enclosing object schema instead.
This silently changes the referenced contract and can hide a misspelled or malformed reference. The documented FindComponent/ResolveRefViaSchemaId behavior is to return nil when the target cannot be resolved.
Actual: all six calls print object. Expected: integer for the encoded property name, <nil> for the missing member and malformed escape, for both URI forms.
The $id resolver retains entry.SchemaNode when fragment navigation fails and does not URI-decode the fragment before navigation. The absolute-path lookup repeats the parent fallback. Related pointer-token corrections are in #675, but these $id resolution paths bypass that lookup boundary and need their own correction.
Activity