Broken/missing handler on latest version

Created on 13 February 2024, about 1 year ago

Updating to release 8.x-1.0-alpha3 causes all location searches on our website to break.

After a lot of debugging I found the culprit was this issue: #3159697: Configure no fallback type so the latlon datatype is not handled as a string .

I don't understand how it's meant to work because when I step through the code in _search_api_views_get_handlers() it finds two potential $types:

  • location - from $field->getType(), there is no mapping for this type
  • NULL - from LocationDataType::getFallbackType(), which obviously has no mapping

Therefore it returns an empty array and has no handler, so appears broken.

What was expected to happen here?

Any location filters in the config of my views have the plugin_id as search_api_string since that's how they were added before. I can't even add location fields on alpha3, it doesn't appear as a possible filter, presumably because it has no handler.

It looks to me like backwards compatibility has been broken. Is there something I can do to fix all my broken views? So far I can fix them immediately just by undoing issue 3159697 - delete the getFallBackType() function and it works again.

🐛 Bug report
Status

Active

Component

Code

Created by

🇬🇧United Kingdom Rob230

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024