Page MenuHomePhabricator

[kayserver] Fix search endpoint failing when called with a stopword
ClosedPublic

Authored by inka on Jun 7 2023, 6:45 AM.
Tags
None
Referenced Files
F1801247: D8144.id27652.diff
Mon, May 20, 8:03 AM
F1800152: D8144.id27524.diff
Mon, May 20, 5:47 AM
Unknown Object (File)
Tue, May 14, 2:13 PM
Unknown Object (File)
Mon, May 13, 10:29 AM
Unknown Object (File)
Thu, May 9, 2:34 PM
Unknown Object (File)
Apr 18 2024, 1:38 AM
Unknown Object (File)
Apr 18 2024, 1:38 AM
Unknown Object (File)
Apr 18 2024, 1:38 AM
Subscribers

Details

Summary

issue: https://linear.app/comm/issue/ENG-4055/search-endpoint-failing-when-called-with-only-a-stopword
When searchMessagesInSingleChat was passed a string with only stopwords, they were stripped away by processQueryForSearch and the pattern variable was '+', which is not a valid patter for MATCH AGAINST query

Test Plan

call the endpoint with a string that had only stopwords, checked that there are no errors. Called the endpoint with a string containing both a stopword and a non stopword, checked that it returns correct values. Checked he endpoint with a string containing only a non stopword.

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

inka edited the test plan for this revision. (Show Details)

I could also just check if pattern === '+' and not change the processQueryForSearch function, but I like this approach better

inka requested review of this revision.Jun 7 2023, 7:02 AM
kamil added inline comments.
keyserver/src/database/search-utils.js
139 ↗(On Diff #27524)

maybe worth adding a test case with something like: expect(processQueryForSearch(stopWord)).toBe('');

This revision is now accepted and ready to land.Jun 12 2023, 1:27 AM