From 604603785eada3484cc96b20c8d3f2b6e284b09a Mon Sep 17 00:00:00 2001 From: laoXong Date: Mon, 4 Aug 2025 02:56:57 +0800 Subject: [PATCH] Fix: author filtering --- src/nostr/filter.rs | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/nostr/filter.rs b/src/nostr/filter.rs index 471bace..643d15f 100644 --- a/src/nostr/filter.rs +++ b/src/nostr/filter.rs @@ -44,18 +44,10 @@ impl FilterExt for Filter { // 作者过滤 (NIP-01 支持前缀匹配) if let Some(authors) = &self.authors { if !authors.is_empty() { - sql.push(" AND ("); - let mut separated = sql.separated(" OR "); - for author_prefix in authors { - if author_prefix.len() < 64 { - // 如果是公钥前缀,使用 LIKE - separated - .push("pubkey LIKE ") - .push_bind(format!("{}%", author_prefix)); - } else { - // 否则进行精确匹配 - separated.push("pubkey = ").push_bind(author_prefix); - } + sql.push(" AND pubkey IN ("); + let mut separated = sql.separated(","); + for author in authors { + separated.push_bind(author); } separated.push_unseparated(")"); }