diff --git a/server/models/helpers/SearchHelper.ts b/server/models/helpers/SearchHelper.ts index ff43fe16e..9007e6606 100644 --- a/server/models/helpers/SearchHelper.ts +++ b/server/models/helpers/SearchHelper.ts @@ -443,8 +443,14 @@ export default class SearchHelper { } private static escapeQuery(query: string): string { - // replace "\" with escaped "\\" because sequelize.escape doesn't do it - // https://github.com/sequelize/sequelize/issues/2950 - return query.replace(/\\/g, "\\\\"); + return ( + query + // replace "\" with escaped "\\" because sequelize.escape doesn't do it + // see: https://github.com/sequelize/sequelize/issues/2950 + .replace(/\\/g, "\\\\") + // replace ":" with escaped "\:" because it's a reserved character in tsquery + // see: https://github.com/outline/outline/issues/6542 + .replace(/:/g, "\\:") + ); } }