From 46ea8fbf722441425c443481137b192767e07923 Mon Sep 17 00:00:00 2001 From: Michael Clark <5285928+MikesGlitch@users.noreply.github.com> Date: Mon, 24 Jun 2024 16:08:15 +0100 Subject: [PATCH] :electron: Fix regex filters on electron app (#2929) * fix regex on desktop app * add release notes --- .../loot-core/src/platform/server/sqlite/index.electron.ts | 6 ++++++ upcoming-release-notes/2929.md | 6 ++++++ 2 files changed, 12 insertions(+) create mode 100644 upcoming-release-notes/2929.md diff --git a/packages/loot-core/src/platform/server/sqlite/index.electron.ts b/packages/loot-core/src/platform/server/sqlite/index.electron.ts index 02206a4cf..d12d133e7 100644 --- a/packages/loot-core/src/platform/server/sqlite/index.electron.ts +++ b/packages/loot-core/src/platform/server/sqlite/index.electron.ts @@ -95,6 +95,10 @@ export async function asyncTransaction( } } +function regexp(regex: string, text: string | null) { + return new RegExp(regex).test(text) ? 1 : 0; +} + export function openDatabase(pathOrBuffer: string | Buffer) { const db = new SQL(pathOrBuffer); // Define Unicode-aware LOWER and UPPER implementation. @@ -107,6 +111,8 @@ export function openDatabase(pathOrBuffer: string | Buffer) { db.function('UNICODE_UPPER', { deterministic: true }, (arg: string | null) => arg?.toUpperCase(), ); + // @ts-expect-error @types/better-sqlite3 does not support setting strict 3rd argument + db.function('REGEXP', { deterministic: true }, regexp); return db; } diff --git a/upcoming-release-notes/2929.md b/upcoming-release-notes/2929.md new file mode 100644 index 000000000..2168ed38a --- /dev/null +++ b/upcoming-release-notes/2929.md @@ -0,0 +1,6 @@ +--- +category: Bugfix +authors: [MikesGlitch] +--- + +Fixes regex filtering on the desktop app -- GitLab