From 8b51f174d8bf23d958b9031d3bdb10f2d69decfe Mon Sep 17 00:00:00 2001 From: rhklee <32553665+rhklee@users.noreply.github.com> Date: Fri, 2 Apr 2021 22:29:54 +0200 Subject: [PATCH] Remove backslash from search queries Co-authored-by: Lee Randy Co-authored-by: Evan Hahn <69474926+EvanHahn-Signal@users.noreply.github.com> See [#5053][0]. [0]: https://github.com/signalapp/Signal-Desktop/pull/5053 --- ts/test-both/util/cleanSearchTerm_test.ts | 13 +++++++++++++ ts/util/cleanSearchTerm.ts | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 ts/test-both/util/cleanSearchTerm_test.ts diff --git a/ts/test-both/util/cleanSearchTerm_test.ts b/ts/test-both/util/cleanSearchTerm_test.ts new file mode 100644 index 000000000..151231b1e --- /dev/null +++ b/ts/test-both/util/cleanSearchTerm_test.ts @@ -0,0 +1,13 @@ +// Copyright 2021 Signal Messenger, LLC +// SPDX-License-Identifier: AGPL-3.0-only + +import { assert } from 'chai'; +import { cleanSearchTerm } from '../../util/cleanSearchTerm'; + +describe('cleanSearchTerm', () => { + it('should remove \\ from a search term', () => { + const searchTerm = '\\search\\term'; + const sanitizedSearchTerm = cleanSearchTerm(searchTerm); + assert.strictEqual(sanitizedSearchTerm, 'search* term*'); + }); +}); diff --git a/ts/util/cleanSearchTerm.ts b/ts/util/cleanSearchTerm.ts index 6d6ba7edd..f77fa513c 100644 --- a/ts/util/cleanSearchTerm.ts +++ b/ts/util/cleanSearchTerm.ts @@ -4,7 +4,7 @@ export function cleanSearchTerm(searchTerm: string): string { const lowercase = searchTerm.toLowerCase(); const withoutSpecialCharacters = lowercase.replace( - /([!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~])/g, + /([-!"#$%&'()*+,./\\:;<=>?@[\]^_`{|}~])/g, ' ' ); const whiteSpaceNormalized = withoutSpecialCharacters.replace(/\s+/g, ' ');