Files
Marcelo Machuca 24f5391645 fix(api): validate geo coordinate ranges in gRPC FieldCondition (#9347)
`FieldCondition::validate` checked geo polygon *shape* (point count and
closure) but never the *coordinate ranges* of any geo sub-condition. A gRPC
filter with latitude outside [-90, 90] or longitude outside [-180, 180] (in
geo_bounding_box, geo_radius, or geo_polygon) passed validation, reached the
geo index, and panicked during geohash encoding, which expects pre-validated
input.

Reject out-of-range coordinates at the API boundary for all three geo
sub-conditions, mirroring `segment::types::GeoPoint::validate`. The bounds are
duplicated because the `api` crate does not depend on `segment`.

Includes a regression test covering geo_radius, geo_bounding_box, and a
well-formed (shape-valid) geo_polygon with out-of-range coordinates.
2026-06-10 16:47:13 +02:00
..