From fe3c975ddd5542da95936708ab41086e583ff3bb Mon Sep 17 00:00:00 2001 From: Philip Trauner Date: Thu, 10 Sep 2026 14:29:34 +0200 Subject: [PATCH] fix: missing rule pattern escape fixes #190 --- .../src/service/database/query/derived/device-insert.sql | 4 ++-- .../src/service/scheduler/scheduled/derive/device/rules.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/project/server/src/service/database/query/derived/device-insert.sql b/project/server/src/service/database/query/derived/device-insert.sql index e2665aa7..f1427dd7 100644 --- a/project/server/src/service/database/query/derived/device-insert.sql +++ b/project/server/src/service/database/query/derived/device-insert.sql @@ -26,7 +26,7 @@ with filtered_deduplicated_attribution_submission as ( snapshot_submission_device ssd1 join ( select value from json_each(@rulePatternManufacturer) ) r on ( - ssd1.manufacturer like r.value + ssd1.manufacturer like r.value escape '\\' ) ) and lower(ssd.manufacturer) not in (select lower(value) from json_each(@ruleLiteralManufacturer)) and @@ -46,7 +46,7 @@ with filtered_deduplicated_attribution_submission as ( snapshot_submission_device ssd1 join ( select value from json_each(@rulePatternModel) ) r on ( - ssd1.model like r.value + ssd1.model like r.value escape '\\' ) ) ), filtered_counted_device as materialized ( diff --git a/project/server/src/service/scheduler/scheduled/derive/device/rules.ts b/project/server/src/service/scheduler/scheduled/derive/device/rules.ts index 36445c5b..8d1a1d25 100644 --- a/project/server/src/service/scheduler/scheduled/derive/device/rules.ts +++ b/project/server/src/service/scheduler/scheduled/derive/device/rules.ts @@ -64,7 +64,7 @@ export const pattern = { "%ONVIF%", // a standard for ip video cameras, not an actual manufacturer "0x%", // some protocol integrations (mostly fritzbox, but sometimes also matter) provide internal manufacturer code instead of name "TUYA%", // tuya whitelabel devices (insufficient data quality) - "_T%", // tuya whitelabel devices (insufficient data quality) + "\\_T%", // tuya whitelabel devices (insufficient data quality) "%???%", // tuya whitelabel devices (insufficient data quality) ], model: [