From 9d81b36223e1805cbdeb713a2537a09faf267c58 Mon Sep 17 00:00:00 2001 From: Brayo Date: Wed, 15 Jul 2026 01:43:48 +0300 Subject: [PATCH 1/2] fix(android): update JNI androidQuery to use new aw-watcher-android bucket name This fixes an issue introduced in #628 where the legacy '-test' suffix was dropped from buckets but not from the query. --- aw-server/src/android/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aw-server/src/android/mod.rs b/aw-server/src/android/mod.rs index 1c0b1efa..b36d6c6c 100644 --- a/aw-server/src/android/mod.rs +++ b/aw-server/src/android/mod.rs @@ -343,8 +343,8 @@ pub mod android { Err(err) => return create_error_object(&env, err.to_string()), }; - // Hardcoded bucket ID for testing - let bid_android = "aw-watcher-android-test".to_string(); + // Hardcoded bucket ID + let bid_android = "aw-watcher-android".to_string(); // Get classes from server settings via HTTP API let classes = match AwClient::new("127.0.0.1", 5600, "aw-android-query") { From 626a555f712c9cccba89ca0a9334314ce33f3d9d Mon Sep 17 00:00:00 2001 From: Brayo Date: Sat, 18 Jul 2026 15:59:50 +0300 Subject: [PATCH 2/2] fix(query): prefer exact match in find_bucket to prevent incorrect bucket resolution --- aw-transform/src/find_bucket.rs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/aw-transform/src/find_bucket.rs b/aw-transform/src/find_bucket.rs index abaec000..a86941db 100644 --- a/aw-transform/src/find_bucket.rs +++ b/aw-transform/src/find_bucket.rs @@ -7,18 +7,27 @@ pub fn find_bucket<'a>( hostname_filter: &Option, buckets: impl IntoIterator, ) -> Option { + let mut prefix_match = None; for bucket in buckets { if bucket.id.starts_with(bucket_filter) { - if let Some(hostname) = hostname_filter { - if hostname == &bucket.hostname { + let hostname_matches = match hostname_filter { + Some(hostname) => hostname == &bucket.hostname, + None => true, + }; + + if hostname_matches { + if bucket.id == bucket_filter { + // Exact match, return immediately return Some(bucket.id.to_string()); } - } else { - return Some(bucket.id.to_string()); + if prefix_match.is_none() { + // Save the first prefix match in case we don't find an exact match + prefix_match = Some(bucket.id.to_string()); + } } } } - None + prefix_match } #[cfg(test)]