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
This issue captures the remaining search cleanups that are not covered by pagination or shared SQL fragments.
Tasks
Create a helper that normalizes search options (page, limit, origin, max distance) and share it across searchLocationsByText, searchLocationsByCategories, and searchLocationsBySimilarCategories. Coordinate with the pagination work in Fix SQL pagination instead of post-fetch slicing #67 and the fragment work in Create shared SQL fragment utilities #70 so the helpers stay aligned.
Update both semantic and text search flows to use AND semantics when multiple categories are provided (reuse sqlFragments.categoryFilter once Create shared SQL fragment utilities #70 lands).
Improve text search resilience by switching to websearch_to_tsquery or sanitizing tokens before calling to_tsquery.
Handle GeoIP zero-coordinate responses without throwing (server/utils/geoip.ts).
Scope
This issue captures the remaining search cleanups that are not covered by pagination or shared SQL fragments.
Tasks
searchLocationsByText,searchLocationsByCategories, andsearchLocationsBySimilarCategories. Coordinate with the pagination work in Fix SQL pagination instead of post-fetch slicing #67 and the fragment work in Create shared SQL fragment utilities #70 so the helpers stay aligned.sqlFragments.categoryFilteronce Create shared SQL fragment utilities #70 lands).websearch_to_tsqueryor sanitizing tokens before callingto_tsquery.server/utils/geoip.ts).OpeningHourserror handling added in Fix openNow filtering with real-time data #68 and ensure the shared helper calls it consistently.Acceptance Criteria
0values.Parent Issue
Part of #66