From b97e68c1b34615ca37e3ac15bb77bd2543425e42 Mon Sep 17 00:00:00 2001 From: Goloman Adrian Date: Fri, 25 Apr 2025 23:47:24 +0300 Subject: [PATCH] Backed out 2 changesets (bug 1956132) for causing xpcshell failures @test_quicksuggest_yelp.js. CLOSED TREE Backed out changeset c1331eb0cedb (bug 1956132) Backed out changeset 9fc480c79a0f --- .cargo/config.toml.in | 4 +- Cargo.lock | 32 +- Cargo.toml | 18 +- .../rust/relevancy/.cargo-checksum.json | 2 +- third_party/rust/relevancy/src/ingest.rs | 26 +- third_party/rust/relevancy/src/lib.rs | 24 +- third_party/rust/relevancy/src/rs.rs | 66 +- .../rust/remote_settings/.cargo-checksum.json | 2 +- .../rust/remote_settings/src/client.rs | 82 ++- .../rust/remote_settings/src/config.rs | 64 +- third_party/rust/remote_settings/src/lib.rs | 21 +- .../rust/remote_settings/src/service.rs | 21 +- .../rust/remote_settings/src/storage.rs | 30 +- third_party/rust/search/.cargo-checksum.json | 2 +- third_party/rust/search/src/selector.rs | 17 +- third_party/rust/suggest/.cargo-checksum.json | 2 +- .../rust/suggest/src/benchmarks/mod.rs | 19 +- third_party/rust/suggest/src/provider.rs | 2 +- third_party/rust/suggest/src/rs.rs | 12 +- third_party/rust/suggest/src/store.rs | 103 +-- third_party/rust/suggest/src/yelp.rs | 664 +++++++----------- .../ContentRelevancyManager.sys.mjs | 15 +- .../xpcshell/test_ContentRelevancyManager.js | 3 +- .../generated/RustRelevancy.sys.mjs | 19 +- .../generated/RustRemoteSettings.sys.mjs | 31 +- .../components/generated/RustSearch.sys.mjs | 14 +- .../components/generated/RustSuggest.sys.mjs | 52 +- .../components/generated/RustTabs.sys.mjs | 50 +- .../generated/RustWebextstorage.sys.mjs | 44 +- .../fixtures/generated/RustArithmetic.sys.mjs | 8 +- .../generated/RustCustomTypes.sys.mjs | 2 +- .../generated/RustExternalTypes.sys.mjs | 6 +- .../generated/RustFixtureCallbacks.sys.mjs | 6 +- .../fixtures/generated/RustFutures.sys.mjs | 50 +- .../fixtures/generated/RustGeometry.sys.mjs | 4 +- .../fixtures/generated/RustRefcounts.sys.mjs | 6 +- .../fixtures/generated/RustRondpoint.sys.mjs | 120 ++-- .../fixtures/generated/RustSprites.sys.mjs | 12 +- .../fixtures/generated/RustTodolist.sys.mjs | 30 +- .../RustUniffiTraitInterfaces.sys.mjs | 6 +- .../uniffi-js/GeneratedScaffolding.cpp | 452 ++++++------ 41 files changed, 877 insertions(+), 1266 deletions(-) diff --git a/.cargo/config.toml.in b/.cargo/config.toml.in index 3fd532c064a5..45e5bf105018 100644 --- a/.cargo/config.toml.in +++ b/.cargo/config.toml.in @@ -70,9 +70,9 @@ git = "https://github.com/jfkthame/mapped_hyph.git" rev = "eff105f6ad7ec9b79816cfc1985a28e5340ad14b" replace-with = "vendored-sources" -[source."git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1"] +[source."git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8"] git = "https://github.com/mozilla/application-services" -rev = "5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +rev = "41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" replace-with = "vendored-sources" [source."git+https://github.com/mozilla/audioipc?rev=e6f44a2bd1e57d11dfc737632a9e849077632330"] diff --git a/Cargo.lock b/Cargo.lock index aeda05136d35..adaab867041f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1852,7 +1852,7 @@ dependencies = [ [[package]] name = "error-support" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "error-support-macros", "lazy_static", @@ -1864,7 +1864,7 @@ dependencies = [ [[package]] name = "error-support-macros" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "proc-macro2", "quote", @@ -1981,7 +1981,7 @@ dependencies = [ [[package]] name = "firefox-versioning" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "serde_json", "thiserror 1.999.999", @@ -3318,7 +3318,7 @@ dependencies = [ [[package]] name = "interrupt-support" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "lazy_static", "parking_lot", @@ -5035,7 +5035,7 @@ checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "payload-support" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "serde", "serde_derive", @@ -5538,7 +5538,7 @@ checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] name = "relevancy" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "anyhow", "base64 0.21.999", @@ -5563,7 +5563,7 @@ dependencies = [ [[package]] name = "remote_settings" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "anyhow", "camino", @@ -5904,7 +5904,7 @@ dependencies = [ [[package]] name = "search" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "error-support", "firefox-versioning", @@ -6195,7 +6195,7 @@ dependencies = [ [[package]] name = "sql-support" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "interrupt-support", "lazy_static", @@ -6401,7 +6401,7 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "suggest" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "anyhow", "chrono", @@ -6453,7 +6453,7 @@ dependencies = [ [[package]] name = "sync-guid" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "base64 0.21.999", "rand", @@ -6464,7 +6464,7 @@ dependencies = [ [[package]] name = "sync15" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "anyhow", "error-support", @@ -6504,7 +6504,7 @@ dependencies = [ [[package]] name = "tabs" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "anyhow", "error-support", @@ -6848,7 +6848,7 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "types" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "rusqlite 0.33.0", "serde", @@ -7230,7 +7230,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "viaduct" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "ffi-support", "log", @@ -7400,7 +7400,7 @@ dependencies = [ [[package]] name = "webext-storage" version = "0.1.0" -source = "git+https://github.com/mozilla/application-services?rev=5da98f694a7ad8ba86c3b936038f7483e9cfb9b1#5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" +source = "git+https://github.com/mozilla/application-services?rev=41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8#41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" dependencies = [ "anyhow", "error-support", diff --git a/Cargo.toml b/Cargo.toml index 44f2178d0c81..9f1a42d447fa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -260,14 +260,14 @@ malloc_size_of_derive = { path = "xpcom/rust/malloc_size_of_derive" } objc = { git = "https://github.com/glandium/rust-objc", rev = "4de89f5aa9851ceca4d40e7ac1e2759410c04324" } # application-services overrides to make updating them all simpler. -interrupt-support = { git = "https://github.com/mozilla/application-services", rev = "5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" } -relevancy = { git = "https://github.com/mozilla/application-services", rev = "5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" } -search = { git = "https://github.com/mozilla/application-services", rev = "5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" } -sql-support = { git = "https://github.com/mozilla/application-services", rev = "5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" } -suggest = { git = "https://github.com/mozilla/application-services", rev = "5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" } -sync15 = { git = "https://github.com/mozilla/application-services", rev = "5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" } -tabs = { git = "https://github.com/mozilla/application-services", rev = "5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" } -viaduct = { git = "https://github.com/mozilla/application-services", rev = "5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" } -webext-storage = { git = "https://github.com/mozilla/application-services", rev = "5da98f694a7ad8ba86c3b936038f7483e9cfb9b1" } +interrupt-support = { git = "https://github.com/mozilla/application-services", rev = "41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" } +relevancy = { git = "https://github.com/mozilla/application-services", rev = "41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" } +search = { git = "https://github.com/mozilla/application-services", rev = "41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" } +sql-support = { git = "https://github.com/mozilla/application-services", rev = "41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" } +suggest = { git = "https://github.com/mozilla/application-services", rev = "41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" } +sync15 = { git = "https://github.com/mozilla/application-services", rev = "41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" } +tabs = { git = "https://github.com/mozilla/application-services", rev = "41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" } +viaduct = { git = "https://github.com/mozilla/application-services", rev = "41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" } +webext-storage = { git = "https://github.com/mozilla/application-services", rev = "41e0b8f5679977ff2f551eb60fa9b3288ce1f2d8" } allocator-api2 = { path = "third_party/rust/allocator-api2" } diff --git a/third_party/rust/relevancy/.cargo-checksum.json b/third_party/rust/relevancy/.cargo-checksum.json index bac2f04d9313..d3981700f002 100644 --- a/third_party/rust/relevancy/.cargo-checksum.json +++ b/third_party/rust/relevancy/.cargo-checksum.json @@ -1 +1 @@ -{"files":{"Cargo.toml":"fa569d53ba068f1626419e3910775ad6b5fce69f17a41a342640cba42a57f291","src/bin/generate-test-data.rs":"7cc80b56929091d02675b9dd9bf4c657a95cda502656cf2ec8d91f56d7a393c7","src/db.rs":"d9dd44501ee3b19c696d8830d3036f7bfe0e8ad7751d5a057f5d8295ebf0bd4f","src/error.rs":"3a1308e65440769d9435fc95528d4ef42994c84d88e1da04ba058491dea387c4","src/ingest.rs":"04ae6d4c65a46fa96364fc39018502de172a4393bf42bd3ede2865313e7977e5","src/interest.rs":"e4369a1280867438bca12746f71288a03b4d5e180e156f4bc0335046012565f7","src/lib.rs":"8f7408a4bebb882441b697cc16356a8d02342f57ebada515e289ce813e9f5e24","src/ranker.rs":"e71414fe79ade26f3c79dceb5211af4f37984a9cded8c938dc1da8d8d28c2ad3","src/rs.rs":"e897443bd4d8d308effeae55a955d237d22e823b5d5abfb271a25b5796ebd419","src/schema.rs":"38ea82679da2729a571aad936f96469e732ec1c104d7c21fd869842f7a5f30a3","src/url_hash.rs":"2e908316fb70923644d1990dbf470d69ce2f5e99b0c5c3d95ec691590be8ffa5","test-data":"1ef2cd092d59e7e126cd4a514af983d449ed9f9c98708702fd237464a76c2b5e"},"package":null} \ No newline at end of file +{"files":{"Cargo.toml":"fa569d53ba068f1626419e3910775ad6b5fce69f17a41a342640cba42a57f291","src/bin/generate-test-data.rs":"7cc80b56929091d02675b9dd9bf4c657a95cda502656cf2ec8d91f56d7a393c7","src/db.rs":"d9dd44501ee3b19c696d8830d3036f7bfe0e8ad7751d5a057f5d8295ebf0bd4f","src/error.rs":"3a1308e65440769d9435fc95528d4ef42994c84d88e1da04ba058491dea387c4","src/ingest.rs":"09ac45d68470512f13a58f832c64d2a3dd85230b6454b3fd8fbecc6c1c735a7b","src/interest.rs":"e4369a1280867438bca12746f71288a03b4d5e180e156f4bc0335046012565f7","src/lib.rs":"80e69c16d0b84ae4b7434cd7cf43ade1c2f556bfa166bfb72a250b1eca8de075","src/ranker.rs":"e71414fe79ade26f3c79dceb5211af4f37984a9cded8c938dc1da8d8d28c2ad3","src/rs.rs":"3ba6ad925e62bbce1790598cb429328191393ec89f2ebc3d1fbf26b0db5de955","src/schema.rs":"38ea82679da2729a571aad936f96469e732ec1c104d7c21fd869842f7a5f30a3","src/url_hash.rs":"2e908316fb70923644d1990dbf470d69ce2f5e99b0c5c3d95ec691590be8ffa5","test-data":"1ef2cd092d59e7e126cd4a514af983d449ed9f9c98708702fd237464a76c2b5e"},"package":null} \ No newline at end of file diff --git a/third_party/rust/relevancy/src/ingest.rs b/third_party/rust/relevancy/src/ingest.rs index d0b0f60b16a7..aaf413e29e99 100644 --- a/third_party/rust/relevancy/src/ingest.rs +++ b/third_party/rust/relevancy/src/ingest.rs @@ -42,8 +42,11 @@ fn fetch_interest_data_inner( let remote_settings_response = client.get_records()?; let mut result = vec![]; - for record in remote_settings_response { - let attachment_data = client.get_attachment(&record)?; + for record in remote_settings_response.records { + let attachment_data = match &record.attachment { + None => return Err(Error::FetchInterestDataError), + Some(a) => client.get_attachment(&a.location)?, + }; let interest = get_interest(&record)?; let urls = get_hash_urls(attachment_data)?; result.extend(std::iter::repeat(interest).zip(urls)); @@ -95,6 +98,7 @@ mod test { use std::{cell::RefCell, collections::HashMap}; use anyhow::Context; + use remote_settings::RemoteSettingsResponse; use serde_json::json; use super::*; @@ -156,12 +160,20 @@ mod test { } impl RelevancyRemoteSettingsClient for SnapshotSettingsClient { - fn get_records(&self) -> Result> { - Ok(self.snapshot.borrow().records.clone()) + fn get_records(&self) -> Result { + let records = self.snapshot.borrow().records.clone(); + let last_modified = records + .iter() + .map(|record: &RemoteSettingsRecord| record.last_modified) + .max() + .unwrap_or(0); + Ok(RemoteSettingsResponse { + records, + last_modified, + }) } - fn get_attachment(&self, record: &RemoteSettingsRecord) -> Result> { - let location = record.attachment.as_ref().unwrap().location.as_str(); + fn get_attachment(&self, location: &str) -> Result> { Ok(self .snapshot .borrow() @@ -170,8 +182,6 @@ mod test { .unwrap_or_else(|| unreachable!("Unexpected request for attachment `{}`", location)) .clone()) } - - fn close(&self) {} } #[test] diff --git a/third_party/rust/relevancy/src/lib.rs b/third_party/rust/relevancy/src/lib.rs index 2eea8d64abd0..68892190cd24 100644 --- a/third_party/rust/relevancy/src/lib.rs +++ b/third_party/rust/relevancy/src/lib.rs @@ -20,25 +20,22 @@ pub mod url_hash; use rand_distr::{Beta, Distribution}; -use std::{collections::HashMap, sync::Arc}; - -use parking_lot::Mutex; -use remote_settings::{RemoteSettingsClient, RemoteSettingsService}; - pub use db::RelevancyDb; pub use error::{ApiResult, Error, RelevancyApiError, Result}; pub use interest::{Interest, InterestVector}; +use parking_lot::Mutex; pub use ranker::score; use error_support::handle_error; use db::BanditData; +use std::collections::HashMap; uniffi::setup_scaffolding!(); #[derive(uniffi::Object)] pub struct RelevancyStore { - inner: RelevancyStoreInner>, + inner: RelevancyStoreInner, } /// Top-level API for the Relevancy component @@ -49,13 +46,11 @@ impl RelevancyStore { /// /// This is non-blocking since databases and other resources are lazily opened. #[uniffi::constructor] - pub fn new(db_path: String, remote_settings: Arc) -> Self { - Self { - inner: RelevancyStoreInner::new( - db_path, - remote_settings.make_client(rs::REMOTE_SETTINGS_COLLECTION.to_string()), - ), - } + #[handle_error(Error)] + pub fn new(db_path: String) -> ApiResult { + Ok(Self { + inner: RelevancyStoreInner::new(db_path, rs::create_client()?), + }) } /// Close any open resources (for example databases) @@ -164,8 +159,7 @@ impl RelevancyStoreInner { /// /// Calling `close` will interrupt any in-progress queries on other threads. pub fn close(&self) { - self.db.close(); - self.client.close(); + self.db.close() } /// Interrupt any current database queries diff --git a/third_party/rust/relevancy/src/rs.rs b/third_party/rust/relevancy/src/rs.rs index 9b1a55119866..1273ebd9cbee 100644 --- a/third_party/rust/relevancy/src/rs.rs +++ b/third_party/rust/relevancy/src/rs.rs @@ -4,7 +4,9 @@ */ use crate::{Error, Result}; -use remote_settings::{RemoteSettingsClient, RemoteSettingsRecord}; +use remote_settings::{ + RemoteSettings, RemoteSettingsConfig, RemoteSettingsResponse, RemoteSettingsServer, +}; use serde::Deserialize; /// The Remote Settings collection name. pub(crate) const REMOTE_SETTINGS_COLLECTION: &str = "content-relevance"; @@ -14,61 +16,45 @@ pub(crate) const REMOTE_SETTINGS_COLLECTION: &str = "content-relevance"; /// This trait lets tests use a mock client. pub(crate) trait RelevancyRemoteSettingsClient { /// Fetches records from the Suggest Remote Settings collection. - fn get_records(&self) -> Result>; + fn get_records(&self) -> Result; /// Fetches a record's attachment from the Suggest Remote Settings /// collection. - fn get_attachment(&self, location: &RemoteSettingsRecord) -> Result>; - - /// Close any open resources - fn close(&self); + fn get_attachment(&self, location: &str) -> Result>; } -impl RelevancyRemoteSettingsClient for RemoteSettingsClient { - fn get_records(&self) -> Result> { - self.sync()?; - Ok(self - .get_records(false) - .expect("RemoteSettingsClient::get_records() returned None after `sync()` called")) +impl RelevancyRemoteSettingsClient for remote_settings::RemoteSettings { + fn get_records(&self) -> Result { + Ok(remote_settings::RemoteSettings::get_records(self)?) } - fn get_attachment(&self, record: &RemoteSettingsRecord) -> Result> { - Ok(self.get_attachment(record)?) - } - - fn close(&self) { - self.shutdown() + fn get_attachment(&self, location: &str) -> Result> { + Ok(remote_settings::RemoteSettings::get_attachment( + self, location, + )?) } } impl RelevancyRemoteSettingsClient for &T { - fn get_records(&self) -> Result> { + fn get_records(&self) -> Result { (*self).get_records() } - fn get_attachment(&self, record: &RemoteSettingsRecord) -> Result> { - (*self).get_attachment(record) - } - - fn close(&self) { - (*self).close(); + fn get_attachment(&self, location: &str) -> Result> { + (*self).get_attachment(location) } } -impl RelevancyRemoteSettingsClient for std::sync::Arc { - fn get_records(&self) -> Result> { - (**self).get_records() - } - - fn get_attachment(&self, record: &RemoteSettingsRecord) -> Result> { - (**self).get_attachment(record) - } - - fn close(&self) { - (**self).close() - } +pub fn create_client() -> Result { + Ok(RemoteSettings::new(RemoteSettingsConfig { + collection_name: REMOTE_SETTINGS_COLLECTION.to_string(), + server: Some(RemoteSettingsServer::Prod), + server_url: None, + bucket_name: None, + })?) } +/// A record in the Relevancy Remote Settings collection. #[derive(Clone, Debug, Deserialize)] pub struct RelevancyRecord { #[allow(dead_code)] @@ -129,14 +115,12 @@ pub mod test { pub struct NullRelavancyRemoteSettingsClient; impl RelevancyRemoteSettingsClient for NullRelavancyRemoteSettingsClient { - fn get_records(&self) -> Result> { + fn get_records(&self) -> Result { panic!("NullRelavancyRemoteSettingsClient::get_records was called") } - fn get_attachment(&self, _record: &RemoteSettingsRecord) -> Result> { + fn get_attachment(&self, _location: &str) -> Result> { panic!("NullRelavancyRemoteSettingsClient::get_records was called") } - - fn close(&self) {} } } diff --git a/third_party/rust/remote_settings/.cargo-checksum.json b/third_party/rust/remote_settings/.cargo-checksum.json index d3fc7461ab43..5a0bfeb3f3d1 100644 --- a/third_party/rust/remote_settings/.cargo-checksum.json +++ b/third_party/rust/remote_settings/.cargo-checksum.json @@ -1 +1 @@ -{"files":{"Cargo.toml":"00d8e28963e324f906faf95b3891030103f4486b8491e8d8228b0778d3fa143f","dumps/main/attachments/regions/world":"00b308033d44f61612b962f572765d14a3999586d92fc8b9fff2217a1ae070e8","dumps/main/attachments/regions/world-buffered":"1d3ed6954fac2a5b31302f5d3e8186c5fa08a20239afc0643ca5dfbb4d8a86fc","dumps/main/attachments/regions/world-buffered.meta.json":"914a71376a152036aceccb6877e079fbb9e3373c6219f24f00dd30e901a72cce","dumps/main/attachments/regions/world.meta.json":"2a47d77834997b98e563265d299723e7f7fd64c8c7a5731afc722862333d6fbd","dumps/main/attachments/search-config-icons/001500a9-1a6c-3f5a-ba15-a5f5a075d256":"fdadf15c6eae7933c3d254ae6311112e0bc8a422c38c758189dbe6a4d7f6b718","dumps/main/attachments/search-config-icons/001500a9-1a6c-3f5a-ba15-a5f5a075d256.meta.json":"6ed1e1c390a45360590e5a1e6d7823218e7b10860581646ddb5e368143aa72fc","dumps/main/attachments/search-config-icons/06cf7432-efd7-f244-927b-5e423005e1ea":"b75ef04a805325e303c4195833cdd077d3d406f360b25b72502fc55880b9150b","dumps/main/attachments/search-config-icons/06cf7432-efd7-f244-927b-5e423005e1ea.meta.json":"0d4cce0ed0dc6b2c46651bea32fc3cc2facfe8b341e1022b65f2cd2231f6b713","dumps/main/attachments/search-config-icons/0a57b0cf-34f0-4d09-96e4-dbd6e3355410":"a7493c6a9d70d60acccf73f62dcbc127a580469570aee60b7482cd42cdb59f69","dumps/main/attachments/search-config-icons/0a57b0cf-34f0-4d09-96e4-dbd6e3355410.meta.json":"d33a128c92b96af2e643158ed3b861d3726bd67a59907fed0795ab2210c82b96","dumps/main/attachments/search-config-icons/0d7668a8-c3f4-cfee-cbc8-536511528937":"7042293af6b04e421cb7b68dc599ac644b76939cdcf5970159e44f658dd6a0cc","dumps/main/attachments/search-config-icons/0d7668a8-c3f4-cfee-cbc8-536511528937.meta.json":"d6523508334a67b201326591606d7e225a04fc53fdce2c1b4d8afac1b41af6b0","dumps/main/attachments/search-config-icons/0eec5640-6fde-d6fe-322a-c72c6d5bd5a2":"64800e32b24b2c8c0582750e1657426d56abd74b65682e20e892f82710d120b6","dumps/main/attachments/search-config-icons/0eec5640-6fde-d6fe-322a-c72c6d5bd5a2.meta.json":"56fb61a078cc45abf7bc3b8fe89b60ef75f3b86ea61d63084749607c4662bbef","dumps/main/attachments/search-config-icons/101ce01d-2691-b729-7f16-9d389803384b":"62d2faa3a8322b1f643aab6e045837500ebe3049c5cb140cb44c4dfc7290337a","dumps/main/attachments/search-config-icons/101ce01d-2691-b729-7f16-9d389803384b.meta.json":"de134ed423a2bd92b4ad8cdf631aad6a83cc2c30f8df9ee251a435ee9f46f28f","dumps/main/attachments/search-config-icons/177aba42-9bed-4078-e36b-580e8794cd7f":"3b88f3ef3cbfaed127d679ec7e44a44fe8dcad688feb89a70a1a9447c1460d15","dumps/main/attachments/search-config-icons/177aba42-9bed-4078-e36b-580e8794cd7f.meta.json":"c35210da5afc11b3af156baf46c23fa523dafac7e8cb2738b4caef80ed48c72e","dumps/main/attachments/search-config-icons/25de0352-aabb-d31f-15f7-bf9299fb004c":"828c3ca82e9be483ae583e5a705dde57b24fd8431e192e3a2d0809871992afa5","dumps/main/attachments/search-config-icons/25de0352-aabb-d31f-15f7-bf9299fb004c.meta.json":"aa5483b5c65427c028a676b2fc13892f6fcaf602613183962744c43ca146d86a","dumps/main/attachments/search-config-icons/2bbe48f4-d3b8-c9e0-86e3-a54c37ec3335":"723ac3228124926537d5a61284d60e198a52895195f9f69b967c578ef7a012ad","dumps/main/attachments/search-config-icons/2bbe48f4-d3b8-c9e0-86e3-a54c37ec3335.meta.json":"d754b38d7e2f79e651d5fe110a7bb9855e0f7269e177be6d047453a36a52a4c5","dumps/main/attachments/search-config-icons/2e835b0e-9709-d1bb-9725-87f59f3445ca":"16ea89d4baa39529d7a84d5152867a4c6ed6867198c4dfa1648b1f43ce6a3f6f","dumps/main/attachments/search-config-icons/2e835b0e-9709-d1bb-9725-87f59f3445ca.meta.json":"7edb361a6610fdabb431a58bc170b7df3f179ca1fadebae6f2e98777b64b35c5","dumps/main/attachments/search-config-icons/2ecca3f8-c1ef-43cc-b053-886d1ae46c36":"774f0a7a613c6c5bea642e3628fa7436851de79e7da9713ad0c96d5db7f44300","dumps/main/attachments/search-config-icons/2ecca3f8-c1ef-43cc-b053-886d1ae46c36.meta.json":"194cb07dd29fd66121f05bbef38291e894291adcbc4c63c373b5f72f6f2e245e","dumps/main/attachments/search-config-icons/32d26d19-aeb0-5c01-32e8-f8970be9246f":"a64f553b79fbb8c45734310dac401ad253ccd05aeabfa58bb5541daa6d8caf70","dumps/main/attachments/search-config-icons/32d26d19-aeb0-5c01-32e8-f8970be9246f.meta.json":"6e56cf6a9470f575b283e40ed6a049e9dbffadcb59fa74a0f941b431c444d795","dumps/main/attachments/search-config-icons/39d0b17d-c020-4890-932f-83c0f6ed130b":"4f409c3ffc67cfa870b05e4089b6ffc3fc81448fa60afba447f0177cd1192b1e","dumps/main/attachments/search-config-icons/39d0b17d-c020-4890-932f-83c0f6ed130b.meta.json":"686c72d6cd220285d8b97af55474198027eab1b1af7ed89508c8935c9e00e7d4","dumps/main/attachments/search-config-icons/41135a88-093d-4077-873b-9de1ae133427":"c2718c5e416670426475dd8cc496f5464bf95224e8f8f0a72b695360ddc917c0","dumps/main/attachments/search-config-icons/41135a88-093d-4077-873b-9de1ae133427.meta.json":"a941fc27ca88b56eccbdec380ce2d3b911f4c62e4aba1f5399bc4498c6601d94","dumps/main/attachments/search-config-icons/41f0d805-3775-4988-8d8c-5ad8ccd86d1c":"755b8939c63b1fcc9acd05cd33ffed675397516d37b5bd8f3a03875e25d3fb43","dumps/main/attachments/search-config-icons/41f0d805-3775-4988-8d8c-5ad8ccd86d1c.meta.json":"25cafe7d629c6b006e15dee98987c26ef509f348ed0350a3ccf1f06838db86f3","dumps/main/attachments/search-config-icons/47da97b5-600f-c450-fd15-a52bb2169c11":"d7fdfd971d874f2ec6f209df6f6b8173d126cd3f7a25daacb94de4259efbcf16","dumps/main/attachments/search-config-icons/47da97b5-600f-c450-fd15-a52bb2169c11.meta.json":"e6b95ca29bf3e750819cf890ae8e879ac506d54b918c3c0ab065adc16a131188","dumps/main/attachments/search-config-icons/48c72361-cd67-412e-bd7f-f81a43c10791":"92da7ef030e1d3ed97235748156383e5d75fa6d2744bd124334ab47dc0b689a1","dumps/main/attachments/search-config-icons/48c72361-cd67-412e-bd7f-f81a43c10791.meta.json":"21d1320d60c981b9c9248b9b186fc49f9d95046a817d7a3145f48465236087e8","dumps/main/attachments/search-config-icons/4e271681-3e0f-91ac-9750-03f665efc171":"189ed3031a2cefd3150c9e5b37bee1ffbc1f7850f7ac0621e4b8d262f2c1048c","dumps/main/attachments/search-config-icons/4e271681-3e0f-91ac-9750-03f665efc171.meta.json":"0a401871b82f1c1cbca91232fd643be1cc1a76c07a48830eaa2a47cdfafb1f14","dumps/main/attachments/search-config-icons/50f6171f-8e7a-b41b-862e-f97397038fb2":"9140bd1b30953f41bc758d2c0ecc873f5163e4f51126c278991eccd38589c541","dumps/main/attachments/search-config-icons/50f6171f-8e7a-b41b-862e-f97397038fb2.meta.json":"805d8ce33bac4611ce12d1f84ef431313555d76bf996264736e401ceb6dabe98","dumps/main/attachments/search-config-icons/5203dd03-2c55-4b53-9c60-58258d587be1":"adb29f6fd95956401630d94967381ac473f57215d96a5bcf500a00e747731380","dumps/main/attachments/search-config-icons/5203dd03-2c55-4b53-9c60-58258d587be1.meta.json":"27a6f994c2c7653a33d380ac13c4cfbc00f543a92f229426aa71d85b1f968357","dumps/main/attachments/search-config-icons/5914932e-66ba-4126-8be5-d37beadd9532":"02f54211387baa59e4246356dc7344e48f39a412f2e5993d7f403aa538df7276","dumps/main/attachments/search-config-icons/5914932e-66ba-4126-8be5-d37beadd9532.meta.json":"2df77daeeef5892fdb7fdeecffb804638bd0d2f7da5b9e617f01303d786dcd09","dumps/main/attachments/search-config-icons/5ded611d-44b2-dc46-fd67-fb116888d75d":"877fb3aca13d2a7c656df1f94df3fa052afbb40b65c99ba5382392ff5499016e","dumps/main/attachments/search-config-icons/5ded611d-44b2-dc46-fd67-fb116888d75d.meta.json":"d1c75915fdc86461e755cd08e670b01da41cd3d76688afe692f841733a9b7ee0","dumps/main/attachments/search-config-icons/5e03d6f4-6ee9-8bc8-cf22-7a5f2cf55c41":"9cd3da38e3938549434d1c3cba6fed249ffa7d91d9a6d7ffb5f4184f527cac76","dumps/main/attachments/search-config-icons/5e03d6f4-6ee9-8bc8-cf22-7a5f2cf55c41.meta.json":"8506d9438825f2dc34875e04e0212e22a2652c5c43aa93e4d184d59ec765316f","dumps/main/attachments/search-config-icons/6644f26f-28ea-4222-929d-5d43a02dae05":"4f1bfbfec1441bd9a304ca7f3b8fd54130e94df185f7b28bb17c86ba517e13b7","dumps/main/attachments/search-config-icons/6644f26f-28ea-4222-929d-5d43a02dae05.meta.json":"f7d37f9c8b87480539cd981f463790c99ed15b2ffc5e3ff4786dd11c25228df4","dumps/main/attachments/search-config-icons/6d10d702-7bd6-1452-90a5-3df665a38f66":"f895a965b68d02e7391cc4504d9be75e1ba7f9b50a1dd59af77bb44a7769c08c","dumps/main/attachments/search-config-icons/6d10d702-7bd6-1452-90a5-3df665a38f66.meta.json":"d782d80f8187cf8051be89c6b8a1ef4700e0b84dcda006843d1fd2f266c4419b","dumps/main/attachments/search-config-icons/6e36a151-e4f4-4117-9067-1ca82c47d01a":"e9849089ffced59563896974afee0fceedac7fc8455bbeaa5bae230f54c933d9","dumps/main/attachments/search-config-icons/6e36a151-e4f4-4117-9067-1ca82c47d01a.meta.json":"0e5a64c06ea0ae875e8e0fdc850feddf5a8714b8290293dcd100d455de32ace0","dumps/main/attachments/search-config-icons/6f4da442-d31e-28f8-03af-797d16bbdd27":"dd5cab3711f778677859e86000a127ed07a6175e8e58aecb0fba71b825ce76d7","dumps/main/attachments/search-config-icons/6f4da442-d31e-28f8-03af-797d16bbdd27.meta.json":"0a947797180fdaf031a9c2d2f841b88243c90ff85f0af873f99ddd770fc59e8b","dumps/main/attachments/search-config-icons/7072564d-a573-4750-bf33-f0a07631c9eb":"0a653ea57472694ac05623d9b237e479232a0d65683d05f89661f996054e3276","dumps/main/attachments/search-config-icons/7072564d-a573-4750-bf33-f0a07631c9eb.meta.json":"bb8a256f72b37166fea2ecd4c3a59f49615854a7210e6963f2571f8dcb3d3a3f","dumps/main/attachments/search-config-icons/70fdd651-6c50-b7bb-09ec-7e85da259173":"31a793dad95b5ffd02d39ebf14fc40877596f418f5926247487265034181dc8f","dumps/main/attachments/search-config-icons/70fdd651-6c50-b7bb-09ec-7e85da259173.meta.json":"8c744e9d2f218256e63f1b1a2193f2fc4a7b980e72464e8d57fbe150446f2efc","dumps/main/attachments/search-config-icons/71f41a0c-5b70-4116-b30f-e62089083522":"5aad083bfcef256d433c1ffa571b814d16f61832bcd7565bf03909011f6a0bfc","dumps/main/attachments/search-config-icons/71f41a0c-5b70-4116-b30f-e62089083522.meta.json":"4a8f0c4e4ee643faa2f8d8cc4ddb8f87d14c740e8c9252223f826181c0117741","dumps/main/attachments/search-config-icons/74793ce1-a918-a5eb-d3c0-2aadaff3c88c":"ca8f102ac4f35189ebcb786d080843b603b234f89b8d8b1c0ef27a0ab7148182","dumps/main/attachments/search-config-icons/74793ce1-a918-a5eb-d3c0-2aadaff3c88c.meta.json":"60a7975cd79156623b0ca58be4110d152e50b6e9caaaa211dad1cd37eabb0345","dumps/main/attachments/search-config-icons/74f94dc2-caf6-4b90-b3d2-f3e2f7714d88":"3376e14529ed2e96c7dc491b3bf11914d7c8ff47a068311b2432c086c2ae0f28","dumps/main/attachments/search-config-icons/74f94dc2-caf6-4b90-b3d2-f3e2f7714d88.meta.json":"3a94a78a846f312c85c0609971b153aaba9819e2b657f25e3b0648a3956933d1","dumps/main/attachments/search-config-icons/764e3b14-fe16-4feb-8384-124c516a5afa":"71413ef23ac14ce2b7bb76f7f5d16b2df267239841a88ddab36b129481e00616","dumps/main/attachments/search-config-icons/764e3b14-fe16-4feb-8384-124c516a5afa.meta.json":"2f16dd51ade97a327d4e5f14d689f822a5c9061b9b27810bbccbf2f406a5e56f","dumps/main/attachments/search-config-icons/7bbe6c5c-fdb8-2845-a4f4-e1382e708a0e":"24daa27a3234d01b5add42e027b0a34000d0ab47c17fe3924c2ca267b7b61c19","dumps/main/attachments/search-config-icons/7bbe6c5c-fdb8-2845-a4f4-e1382e708a0e.meta.json":"308d345dbcfd7583e5f7460d34caf3b63d01b747a6e060a2b0971bf00ed2b22c","dumps/main/attachments/search-config-icons/7bf4ca37-e2b8-4d31-a1c3-979bc0e85131":"912d20feefcba57d43bffff5e245b8c1e3865155ed686d8ad253bbab71116e83","dumps/main/attachments/search-config-icons/7bf4ca37-e2b8-4d31-a1c3-979bc0e85131.meta.json":"3ec071b0a2940cd8892a72bd28d44237aecfd20d88303661348257ddb98aee43","dumps/main/attachments/search-config-icons/7c81cf98-7c11-4afd-8279-db89118a6dfb":"e988445d87afe0d285bea251705fc23eb70ac42426ab0d7a69d9276585c5573c","dumps/main/attachments/search-config-icons/7c81cf98-7c11-4afd-8279-db89118a6dfb.meta.json":"273dd09cad2a62459cc062e3b39b835d55a06b10cb7d5149aad77dd55451821f","dumps/main/attachments/search-config-icons/7cb4d88a-d4df-45b2-87e4-f896eaf1bbdb":"8dc2e75e6792b8374b20621fa2151ac24b4626e5c1f6a1abec4f912746441859","dumps/main/attachments/search-config-icons/7cb4d88a-d4df-45b2-87e4-f896eaf1bbdb.meta.json":"21d2522ab4e47477e72da3a2d2223e50e55fef442e2ba736d56df1e09593d76f","dumps/main/attachments/search-config-icons/7edaf4fe-a8a0-432b-86d2-bf75ebe80851":"27541cb376bdda829a6cf9cefd13da112728881e3daa4ac3c1178d4ce15f1e8b","dumps/main/attachments/search-config-icons/7edaf4fe-a8a0-432b-86d2-bf75ebe80851.meta.json":"3aea5d0652172940ac33e32628dcc6a03b79fe686c6de752482c8e3ae5cd70eb","dumps/main/attachments/search-config-icons/7efbed51-813c-581d-d8d3-f8758434e451":"b0c6d1850265e3c946917232ca6c6ace3dad23347bfab4f81351eac569326d34","dumps/main/attachments/search-config-icons/7efbed51-813c-581d-d8d3-f8758434e451.meta.json":"5a723c8f04bffa33a69a7054d30a4816caf1a3924081c85e1d9770126f761a96","dumps/main/attachments/search-config-icons/84bb4962-e571-227a-9ef6-2ac5f2aac361":"a1fd5d127a5f2590ddcd439b7a2abb3456b48217ea11daf0345b26e108f520e6","dumps/main/attachments/search-config-icons/84bb4962-e571-227a-9ef6-2ac5f2aac361.meta.json":"5cb0ebdde367b9754ddf6cbd01150414d27977b2d4c5f65cd6bbb89989388f3b","dumps/main/attachments/search-config-icons/87ac4cde-f581-398b-1e32-eb4079183b36":"33ca72f1eac56793d1fd811189cedef98004a067c85b1143083b564814a4b0db","dumps/main/attachments/search-config-icons/87ac4cde-f581-398b-1e32-eb4079183b36.meta.json":"d97eca8063cc17b99c81c55d4ff121d765c793e006ed252fec5f9539bd0fc339","dumps/main/attachments/search-config-icons/8831ce10-b1e4-6eb4-4975-83c67457288e":"ca3cc8786977f6ffeb0546ff8f3bb2b7fd240d1956fbf86777dbf0e8bec9c03b","dumps/main/attachments/search-config-icons/8831ce10-b1e4-6eb4-4975-83c67457288e.meta.json":"45274d848d1f6d398563bb46a2bfa3eee40ff16a5dbf0bbc8904db442f80702c","dumps/main/attachments/search-config-icons/890de5c4-0941-a116-473a-5d240e79497a":"6ba1f0fd1d12014cab32f74daab24dfa16fb26613ace20a1e595267621038a07","dumps/main/attachments/search-config-icons/890de5c4-0941-a116-473a-5d240e79497a.meta.json":"107547059360c3658dcf187a546ffb52bb23fa385e1338151043bebe82bbf640","dumps/main/attachments/search-config-icons/8abb10a7-212f-46b5-a7b4-244f414e3810":"f8780adb4d7b28f2f881db4ca7b697d8fc916cd9fa834ccc445fe7d4b72a6cc7","dumps/main/attachments/search-config-icons/8abb10a7-212f-46b5-a7b4-244f414e3810.meta.json":"5401603c7abbc6ca5bdddb8f9cca7eee2e26e5721cc73f23d95f600d5421d431","dumps/main/attachments/search-config-icons/91a9672d-e945-8e1e-0996-aefdb0190716":"5d53ef1866a08cc29011f5f2a9ce99bbf37cf42e80de7f0e8cc30d13337e8187","dumps/main/attachments/search-config-icons/91a9672d-e945-8e1e-0996-aefdb0190716.meta.json":"4e8ea36e3d659eb22ac7c86498003ca8885bab9c40685bb8ca7796a8230201da","dumps/main/attachments/search-config-icons/94a84724-c30f-4767-ba42-01cc37fc31a4":"98dca7e24cad0a1be96ef2c323e9759beb63c72440756f887e2482d9ce8e8969","dumps/main/attachments/search-config-icons/94a84724-c30f-4767-ba42-01cc37fc31a4.meta.json":"1070966901fe9db82b71bfa74ddeedd4f23ab2ed1eddaf201634e06a604e6006","dumps/main/attachments/search-config-icons/95ed201d-4ab8-4cb8-831d-454f53cab0f8":"3426b5100a6bdb45f8039f0c71a6b68193750ba7bae5b36e5ed31b2b7f372cda","dumps/main/attachments/search-config-icons/95ed201d-4ab8-4cb8-831d-454f53cab0f8.meta.json":"3447cd050619c1d2e5859147ab894a43da75235a580219306d8629e28a7a3eb5","dumps/main/attachments/search-config-icons/96327a73-c433-5eb4-a16d-b090cadfb80b":"ca6e972004f62355c1ea97656bc2328e1643971bdecab9c6b563d45593b8122e","dumps/main/attachments/search-config-icons/96327a73-c433-5eb4-a16d-b090cadfb80b.meta.json":"c4e3c9e6426e6f35410c287eef95b3e2134e54409e462f02dd440876c06b1bb4","dumps/main/attachments/search-config-icons/9802e63d-05ec-48ba-93f9-746e0981ad98":"6b1b073183eb0012daea0dce351a94d395c8a0b531b610e56eac52b3d1d1da0e","dumps/main/attachments/search-config-icons/9802e63d-05ec-48ba-93f9-746e0981ad98.meta.json":"cceb55c68db8dddd23d064364a281e982069bfe2bb55eba7d282fffcec2aa89f","dumps/main/attachments/search-config-icons/a06db97d-1210-ea2e-5474-0e2f7d295bfd":"617dec5d635efb0a12d0de935c6999ef0249f4a63c62bdcb96551518bc3d1812","dumps/main/attachments/search-config-icons/a06db97d-1210-ea2e-5474-0e2f7d295bfd.meta.json":"06cf576ca882bd7c2d54c18329e21e5b1a9cb7732d4954b52cbfa52979a67765","dumps/main/attachments/search-config-icons/a06dc3fd-4bdb-41f3-2ebc-4cbed06a9bd3":"d994f806b1e4225b50be5ab681b2cecf845cc216a19a432d878cea3cb815bafd","dumps/main/attachments/search-config-icons/a06dc3fd-4bdb-41f3-2ebc-4cbed06a9bd3.meta.json":"67524e18799023a017c7d9db1b9ba5c9cc3090d20f8154449a8f44ba22719104","dumps/main/attachments/search-config-icons/a2c7d4e9-f770-51e1-0963-3c2c8401631d":"1bf68aca7bfc75ca8485c3dac9a1daa13c1a3eb480688c32262096af6076adfa","dumps/main/attachments/search-config-icons/a2c7d4e9-f770-51e1-0963-3c2c8401631d.meta.json":"4ab103bba0f8fde581c3950c6c08cfcf6786104d8cbcba240499308f26958d04","dumps/main/attachments/search-config-icons/a83f24e4-602c-47bd-930c-ad0947ee1adf":"66612f999921d892645c8a2b37aa5dad17b134e7fdaed375a683baec7fc10697","dumps/main/attachments/search-config-icons/a83f24e4-602c-47bd-930c-ad0947ee1adf.meta.json":"f985ffbde6cf6ef972b6798c9336922dcfa29ca9a31e3aa4fae1962e069bdb0c","dumps/main/attachments/search-config-icons/b64f09fd-52d1-c48e-af23-4ce918e7bf3b":"c3e8300801c5c585662f14fd8e819d635efd9830783dc3c631212927866e9898","dumps/main/attachments/search-config-icons/b64f09fd-52d1-c48e-af23-4ce918e7bf3b.meta.json":"f7fd846d6717131e75865f8f5ed562e88f40be3dcf1603f2660b425dedabc7d1","dumps/main/attachments/search-config-icons/b882b24d-1776-4ef9-9016-0bdbd935eda3":"076352591c7077af4af5771918f80b5da9c6bf479327cc68390abdb158f3ec03","dumps/main/attachments/search-config-icons/b882b24d-1776-4ef9-9016-0bdbd935eda3.meta.json":"229139bca53bc63bd59b8f261f36c11fbe76b2b45dfeac2580261cf290c41365","dumps/main/attachments/search-config-icons/b8ca5a94-8fff-27ad-6e00-96e244a32e21":"1474c93e49c209aca2a2df2acb61b64574805106bead6edebd67287de21920e0","dumps/main/attachments/search-config-icons/b8ca5a94-8fff-27ad-6e00-96e244a32e21.meta.json":"6fd72c11afb4249d0166d8d98c552ee02d73c0e07f0578bfd3d7e67d70bcaee3","dumps/main/attachments/search-config-icons/b9424309-f601-4a69-98ca-ca68e65633e6":"601d72e7abde5ec864b3d8ca0031896f769107670b84c66053062481a56d8665","dumps/main/attachments/search-config-icons/b9424309-f601-4a69-98ca-ca68e65633e6.meta.json":"f299a7d56c5552fc592c66073d3e1e1d16ce4a99e935dcc0cad7dafcad6b9e3b","dumps/main/attachments/search-config-icons/c411adc1-9661-4fb5-a4c1-8cfe74911943":"150765e8e9b985ba5b820ac9b8e7623023d5a0e24f94663d5e9203d8d7598059","dumps/main/attachments/search-config-icons/c411adc1-9661-4fb5-a4c1-8cfe74911943.meta.json":"c5cc89d5f24ef1fa40b1c47c2e97eaeb01439b8d3b186b9c2fe716c94ead30f2","dumps/main/attachments/search-config-icons/cbf9e891-d079-2b28-5617-283450d463dd":"5b2c34b3c4e8dd898b664dba6c3786e2ff9869eff55d673aa48361f11325ed07","dumps/main/attachments/search-config-icons/cbf9e891-d079-2b28-5617-283450d463dd.meta.json":"b757806fd1b922d81bbecab94c73d3db98cfc2aa2791a4d5137112f795a732ee","dumps/main/attachments/search-config-icons/d87f251c-3e12-a8bf-e2d0-afd43d36c5f9":"865d76c8175a8f11dedc93f0bc212242a97a8a76adac870e8249368cecc81402","dumps/main/attachments/search-config-icons/d87f251c-3e12-a8bf-e2d0-afd43d36c5f9.meta.json":"22594c8870cbabe5fc5d2637509235202502661b466e9e37c5878716f323a34f","dumps/main/attachments/search-config-icons/db0e1627-ae89-4c25-8944-a9481d8512d9":"97a68f0b948b68bbf389a9ef43e2fe6c31ff8dc7889c939fdfdea79378576c67","dumps/main/attachments/search-config-icons/db0e1627-ae89-4c25-8944-a9481d8512d9.meta.json":"1eccc999dcd377af84cf63ed60b7ef23d5d4b936a1e465d12349a5366b1b012d","dumps/main/attachments/search-config-icons/e02f23df-8d48-2b1b-3b5c-6dd27302c61c":"247aa26993083705ce99a8e5612cdf262aca98cde86ba19afc964329ba95986a","dumps/main/attachments/search-config-icons/e02f23df-8d48-2b1b-3b5c-6dd27302c61c.meta.json":"06fc893d29cf406519611da9d1993a13bd9134192940c12bf64536ea571db4f0","dumps/main/attachments/search-config-icons/e718e983-09aa-e8f6-b25f-cd4b395d4785":"809697f48848e7c3638d5f3e0b224ea60b3800504e7bd8417854d55989b85196","dumps/main/attachments/search-config-icons/e718e983-09aa-e8f6-b25f-cd4b395d4785.meta.json":"0d9baef39747776500e5b83e72cd9d901fc09ac08247368dd2117bb4ec011f54","dumps/main/attachments/search-config-icons/e7547f62-187b-b641-d462-e54a3f813d9a":"c971ee33b8c0a57349669d957bf73070b0632b128c94748e845b57d5e15221a4","dumps/main/attachments/search-config-icons/e7547f62-187b-b641-d462-e54a3f813d9a.meta.json":"8ec4f6a7826966f2ff82632ef527366db3452ebc40c90a557602111f0ea956c9","dumps/main/attachments/search-config-icons/eb62e768-151b-45d1-9fe5-9e1d2a5991c5":"aa46b3d1ed8557e5bc7e71988cc6c46b00363b890d2a781973f9dc9073f8dd31","dumps/main/attachments/search-config-icons/eb62e768-151b-45d1-9fe5-9e1d2a5991c5.meta.json":"a06682b589df8dd63b1f25c01630ead55a89217f72c0bc04b391829af3fef59f","dumps/main/attachments/search-config-icons/f312610a-ebfb-a106-ea92-fd643c5d3636":"91d17ba44192a6430ffdb447ff3a11533ef964628f67c13480cc9470212d3d65","dumps/main/attachments/search-config-icons/f312610a-ebfb-a106-ea92-fd643c5d3636.meta.json":"ce26ab2382a7a67a55688330dd74127b4a980610f4030bde8eaaa20b81306559","dumps/main/attachments/search-config-icons/fa0fc42c-d91d-fca7-34eb-806ff46062dc":"6da5620880159634213e197fafca1dde0272153be3e4590818533fab8d040770","dumps/main/attachments/search-config-icons/fa0fc42c-d91d-fca7-34eb-806ff46062dc.meta.json":"0c3c0eb832be884f25186395b8bf08cdbe0a6e2845b9e55e7cbea5d0f183ed7d","dumps/main/attachments/search-config-icons/fca3e3ee-56cd-f474-dc31-307fd24a891d":"c4d88cfa5262f6d2cf76b167281d25821c9e1770684b739ed6ad3cf7277a121b","dumps/main/attachments/search-config-icons/fca3e3ee-56cd-f474-dc31-307fd24a891d.meta.json":"a40c37a5150e3745849f67305fe2fe1e06ef1c3901f6dc604a8e3f6c94e7b624","dumps/main/attachments/search-config-icons/fe75ce3f-1545-400c-b28c-ad771054e69f":"3a9d06951c7c9d2c19cd00533a760b0f8755b1e2e718af81c710297d030fbe44","dumps/main/attachments/search-config-icons/fe75ce3f-1545-400c-b28c-ad771054e69f.meta.json":"3f353e083d7a885f6d59d36c9276a2d325686a533cf8c502cd41a10172e763ea","dumps/main/attachments/search-config-icons/fed4f021-ff3e-942a-010e-afa43fda2136":"d7fdfd971d874f2ec6f209df6f6b8173d126cd3f7a25daacb94de4259efbcf16","dumps/main/attachments/search-config-icons/fed4f021-ff3e-942a-010e-afa43fda2136.meta.json":"740f77dcc93ece89fd55557baf399a4464373c81154b0a9758b8622f6c458253","dumps/main/regions.json":"e8990158373f82d3f89fed5089cf29e4177cc85904479128728e05025e9a0c0c","dumps/main/search-config-icons.json":"76955459bdcd7ea46a67737309ed65c3497b9dd71c66a8f978aa3448001ad33b","dumps/main/search-config-v2.json":"66a59aca74a334afdad33162c2354edabb7d20fc62948d6a0faa43e2b4984e99","dumps/main/search-telemetry-v2.json":"b0f3ba5c0b4d9051e87b84ebb90abf4477a56b1999c033deca3ce3c8e4a3f7f9","src/cache.rs":"c6179802017b43885136e7d64004890cc13e8c2d4742e04073cf404b578f63db","src/client.rs":"a1f613e49d8c0218b6b9b3f6d1bd5507756f97ad43b84e177da0c03fcfd1d750","src/config.rs":"722cee4b4787e61ba9aca695466660b88dfda12de919097b763f0b2c2e1e4041","src/context.rs":"43bab81026b6f1a2509d129e806fffd09ba80110d656798a02589985017a3c21","src/error.rs":"d220f8589f7bb4828c3d19b796cc67814e6a848fee45a9c409ba062744cef7dc","src/jexl_filter.rs":"48a9d960e05dae444421f7c4ceeb45eab656f03f1e7071215c8e8d39aab56b54","src/lib.rs":"8e815b133a00aaae151ae4066176f393c454a85bdf73b3c6d8064b1de0a4519a","src/macros.rs":"6b06d0ba42ee95235bfd71bac1a0eed02f60c894775ebee64165648b10e932c4","src/schema.rs":"348e0d5ad1840aaae796b537d21381ef91bd75be262138bfec376d9f88d205b3","src/service.rs":"f86b9b2ba34942d232262de40c25e2139e9ab85753a87d21dd55c989fd057d83","src/signatures.rs":"baa2dae76abd8166158fea4676e67e17c17b65af6968de52768350409dbd7092","src/storage.rs":"a5b7fa6c4cab4837428d4c010c2394ae8ea29317346cd7316f60da9369917213","uniffi.toml":"bd7cc0e7c1981f53938f429c4f2541ac454ed4160a8a0b4670659e38acd23ee5"},"package":null} \ No newline at end of file +{"files":{"Cargo.toml":"00d8e28963e324f906faf95b3891030103f4486b8491e8d8228b0778d3fa143f","dumps/main/attachments/regions/world":"00b308033d44f61612b962f572765d14a3999586d92fc8b9fff2217a1ae070e8","dumps/main/attachments/regions/world-buffered":"1d3ed6954fac2a5b31302f5d3e8186c5fa08a20239afc0643ca5dfbb4d8a86fc","dumps/main/attachments/regions/world-buffered.meta.json":"914a71376a152036aceccb6877e079fbb9e3373c6219f24f00dd30e901a72cce","dumps/main/attachments/regions/world.meta.json":"2a47d77834997b98e563265d299723e7f7fd64c8c7a5731afc722862333d6fbd","dumps/main/attachments/search-config-icons/001500a9-1a6c-3f5a-ba15-a5f5a075d256":"fdadf15c6eae7933c3d254ae6311112e0bc8a422c38c758189dbe6a4d7f6b718","dumps/main/attachments/search-config-icons/001500a9-1a6c-3f5a-ba15-a5f5a075d256.meta.json":"6ed1e1c390a45360590e5a1e6d7823218e7b10860581646ddb5e368143aa72fc","dumps/main/attachments/search-config-icons/06cf7432-efd7-f244-927b-5e423005e1ea":"b75ef04a805325e303c4195833cdd077d3d406f360b25b72502fc55880b9150b","dumps/main/attachments/search-config-icons/06cf7432-efd7-f244-927b-5e423005e1ea.meta.json":"0d4cce0ed0dc6b2c46651bea32fc3cc2facfe8b341e1022b65f2cd2231f6b713","dumps/main/attachments/search-config-icons/0a57b0cf-34f0-4d09-96e4-dbd6e3355410":"a7493c6a9d70d60acccf73f62dcbc127a580469570aee60b7482cd42cdb59f69","dumps/main/attachments/search-config-icons/0a57b0cf-34f0-4d09-96e4-dbd6e3355410.meta.json":"d33a128c92b96af2e643158ed3b861d3726bd67a59907fed0795ab2210c82b96","dumps/main/attachments/search-config-icons/0d7668a8-c3f4-cfee-cbc8-536511528937":"7042293af6b04e421cb7b68dc599ac644b76939cdcf5970159e44f658dd6a0cc","dumps/main/attachments/search-config-icons/0d7668a8-c3f4-cfee-cbc8-536511528937.meta.json":"d6523508334a67b201326591606d7e225a04fc53fdce2c1b4d8afac1b41af6b0","dumps/main/attachments/search-config-icons/0eec5640-6fde-d6fe-322a-c72c6d5bd5a2":"64800e32b24b2c8c0582750e1657426d56abd74b65682e20e892f82710d120b6","dumps/main/attachments/search-config-icons/0eec5640-6fde-d6fe-322a-c72c6d5bd5a2.meta.json":"56fb61a078cc45abf7bc3b8fe89b60ef75f3b86ea61d63084749607c4662bbef","dumps/main/attachments/search-config-icons/101ce01d-2691-b729-7f16-9d389803384b":"62d2faa3a8322b1f643aab6e045837500ebe3049c5cb140cb44c4dfc7290337a","dumps/main/attachments/search-config-icons/101ce01d-2691-b729-7f16-9d389803384b.meta.json":"de134ed423a2bd92b4ad8cdf631aad6a83cc2c30f8df9ee251a435ee9f46f28f","dumps/main/attachments/search-config-icons/177aba42-9bed-4078-e36b-580e8794cd7f":"3b88f3ef3cbfaed127d679ec7e44a44fe8dcad688feb89a70a1a9447c1460d15","dumps/main/attachments/search-config-icons/177aba42-9bed-4078-e36b-580e8794cd7f.meta.json":"c35210da5afc11b3af156baf46c23fa523dafac7e8cb2738b4caef80ed48c72e","dumps/main/attachments/search-config-icons/25de0352-aabb-d31f-15f7-bf9299fb004c":"828c3ca82e9be483ae583e5a705dde57b24fd8431e192e3a2d0809871992afa5","dumps/main/attachments/search-config-icons/25de0352-aabb-d31f-15f7-bf9299fb004c.meta.json":"aa5483b5c65427c028a676b2fc13892f6fcaf602613183962744c43ca146d86a","dumps/main/attachments/search-config-icons/2bbe48f4-d3b8-c9e0-86e3-a54c37ec3335":"723ac3228124926537d5a61284d60e198a52895195f9f69b967c578ef7a012ad","dumps/main/attachments/search-config-icons/2bbe48f4-d3b8-c9e0-86e3-a54c37ec3335.meta.json":"d754b38d7e2f79e651d5fe110a7bb9855e0f7269e177be6d047453a36a52a4c5","dumps/main/attachments/search-config-icons/2e835b0e-9709-d1bb-9725-87f59f3445ca":"16ea89d4baa39529d7a84d5152867a4c6ed6867198c4dfa1648b1f43ce6a3f6f","dumps/main/attachments/search-config-icons/2e835b0e-9709-d1bb-9725-87f59f3445ca.meta.json":"7edb361a6610fdabb431a58bc170b7df3f179ca1fadebae6f2e98777b64b35c5","dumps/main/attachments/search-config-icons/2ecca3f8-c1ef-43cc-b053-886d1ae46c36":"774f0a7a613c6c5bea642e3628fa7436851de79e7da9713ad0c96d5db7f44300","dumps/main/attachments/search-config-icons/2ecca3f8-c1ef-43cc-b053-886d1ae46c36.meta.json":"194cb07dd29fd66121f05bbef38291e894291adcbc4c63c373b5f72f6f2e245e","dumps/main/attachments/search-config-icons/32d26d19-aeb0-5c01-32e8-f8970be9246f":"a64f553b79fbb8c45734310dac401ad253ccd05aeabfa58bb5541daa6d8caf70","dumps/main/attachments/search-config-icons/32d26d19-aeb0-5c01-32e8-f8970be9246f.meta.json":"6e56cf6a9470f575b283e40ed6a049e9dbffadcb59fa74a0f941b431c444d795","dumps/main/attachments/search-config-icons/39d0b17d-c020-4890-932f-83c0f6ed130b":"4f409c3ffc67cfa870b05e4089b6ffc3fc81448fa60afba447f0177cd1192b1e","dumps/main/attachments/search-config-icons/39d0b17d-c020-4890-932f-83c0f6ed130b.meta.json":"686c72d6cd220285d8b97af55474198027eab1b1af7ed89508c8935c9e00e7d4","dumps/main/attachments/search-config-icons/41135a88-093d-4077-873b-9de1ae133427":"c2718c5e416670426475dd8cc496f5464bf95224e8f8f0a72b695360ddc917c0","dumps/main/attachments/search-config-icons/41135a88-093d-4077-873b-9de1ae133427.meta.json":"a941fc27ca88b56eccbdec380ce2d3b911f4c62e4aba1f5399bc4498c6601d94","dumps/main/attachments/search-config-icons/41f0d805-3775-4988-8d8c-5ad8ccd86d1c":"755b8939c63b1fcc9acd05cd33ffed675397516d37b5bd8f3a03875e25d3fb43","dumps/main/attachments/search-config-icons/41f0d805-3775-4988-8d8c-5ad8ccd86d1c.meta.json":"25cafe7d629c6b006e15dee98987c26ef509f348ed0350a3ccf1f06838db86f3","dumps/main/attachments/search-config-icons/47da97b5-600f-c450-fd15-a52bb2169c11":"d7fdfd971d874f2ec6f209df6f6b8173d126cd3f7a25daacb94de4259efbcf16","dumps/main/attachments/search-config-icons/47da97b5-600f-c450-fd15-a52bb2169c11.meta.json":"e6b95ca29bf3e750819cf890ae8e879ac506d54b918c3c0ab065adc16a131188","dumps/main/attachments/search-config-icons/48c72361-cd67-412e-bd7f-f81a43c10791":"92da7ef030e1d3ed97235748156383e5d75fa6d2744bd124334ab47dc0b689a1","dumps/main/attachments/search-config-icons/48c72361-cd67-412e-bd7f-f81a43c10791.meta.json":"21d1320d60c981b9c9248b9b186fc49f9d95046a817d7a3145f48465236087e8","dumps/main/attachments/search-config-icons/4e271681-3e0f-91ac-9750-03f665efc171":"189ed3031a2cefd3150c9e5b37bee1ffbc1f7850f7ac0621e4b8d262f2c1048c","dumps/main/attachments/search-config-icons/4e271681-3e0f-91ac-9750-03f665efc171.meta.json":"0a401871b82f1c1cbca91232fd643be1cc1a76c07a48830eaa2a47cdfafb1f14","dumps/main/attachments/search-config-icons/50f6171f-8e7a-b41b-862e-f97397038fb2":"9140bd1b30953f41bc758d2c0ecc873f5163e4f51126c278991eccd38589c541","dumps/main/attachments/search-config-icons/50f6171f-8e7a-b41b-862e-f97397038fb2.meta.json":"805d8ce33bac4611ce12d1f84ef431313555d76bf996264736e401ceb6dabe98","dumps/main/attachments/search-config-icons/5203dd03-2c55-4b53-9c60-58258d587be1":"adb29f6fd95956401630d94967381ac473f57215d96a5bcf500a00e747731380","dumps/main/attachments/search-config-icons/5203dd03-2c55-4b53-9c60-58258d587be1.meta.json":"27a6f994c2c7653a33d380ac13c4cfbc00f543a92f229426aa71d85b1f968357","dumps/main/attachments/search-config-icons/5914932e-66ba-4126-8be5-d37beadd9532":"02f54211387baa59e4246356dc7344e48f39a412f2e5993d7f403aa538df7276","dumps/main/attachments/search-config-icons/5914932e-66ba-4126-8be5-d37beadd9532.meta.json":"2df77daeeef5892fdb7fdeecffb804638bd0d2f7da5b9e617f01303d786dcd09","dumps/main/attachments/search-config-icons/5ded611d-44b2-dc46-fd67-fb116888d75d":"877fb3aca13d2a7c656df1f94df3fa052afbb40b65c99ba5382392ff5499016e","dumps/main/attachments/search-config-icons/5ded611d-44b2-dc46-fd67-fb116888d75d.meta.json":"d1c75915fdc86461e755cd08e670b01da41cd3d76688afe692f841733a9b7ee0","dumps/main/attachments/search-config-icons/5e03d6f4-6ee9-8bc8-cf22-7a5f2cf55c41":"9cd3da38e3938549434d1c3cba6fed249ffa7d91d9a6d7ffb5f4184f527cac76","dumps/main/attachments/search-config-icons/5e03d6f4-6ee9-8bc8-cf22-7a5f2cf55c41.meta.json":"8506d9438825f2dc34875e04e0212e22a2652c5c43aa93e4d184d59ec765316f","dumps/main/attachments/search-config-icons/6644f26f-28ea-4222-929d-5d43a02dae05":"4f1bfbfec1441bd9a304ca7f3b8fd54130e94df185f7b28bb17c86ba517e13b7","dumps/main/attachments/search-config-icons/6644f26f-28ea-4222-929d-5d43a02dae05.meta.json":"f7d37f9c8b87480539cd981f463790c99ed15b2ffc5e3ff4786dd11c25228df4","dumps/main/attachments/search-config-icons/6d10d702-7bd6-1452-90a5-3df665a38f66":"f895a965b68d02e7391cc4504d9be75e1ba7f9b50a1dd59af77bb44a7769c08c","dumps/main/attachments/search-config-icons/6d10d702-7bd6-1452-90a5-3df665a38f66.meta.json":"d782d80f8187cf8051be89c6b8a1ef4700e0b84dcda006843d1fd2f266c4419b","dumps/main/attachments/search-config-icons/6e36a151-e4f4-4117-9067-1ca82c47d01a":"e9849089ffced59563896974afee0fceedac7fc8455bbeaa5bae230f54c933d9","dumps/main/attachments/search-config-icons/6e36a151-e4f4-4117-9067-1ca82c47d01a.meta.json":"0e5a64c06ea0ae875e8e0fdc850feddf5a8714b8290293dcd100d455de32ace0","dumps/main/attachments/search-config-icons/6f4da442-d31e-28f8-03af-797d16bbdd27":"dd5cab3711f778677859e86000a127ed07a6175e8e58aecb0fba71b825ce76d7","dumps/main/attachments/search-config-icons/6f4da442-d31e-28f8-03af-797d16bbdd27.meta.json":"0a947797180fdaf031a9c2d2f841b88243c90ff85f0af873f99ddd770fc59e8b","dumps/main/attachments/search-config-icons/7072564d-a573-4750-bf33-f0a07631c9eb":"0a653ea57472694ac05623d9b237e479232a0d65683d05f89661f996054e3276","dumps/main/attachments/search-config-icons/7072564d-a573-4750-bf33-f0a07631c9eb.meta.json":"bb8a256f72b37166fea2ecd4c3a59f49615854a7210e6963f2571f8dcb3d3a3f","dumps/main/attachments/search-config-icons/70fdd651-6c50-b7bb-09ec-7e85da259173":"31a793dad95b5ffd02d39ebf14fc40877596f418f5926247487265034181dc8f","dumps/main/attachments/search-config-icons/70fdd651-6c50-b7bb-09ec-7e85da259173.meta.json":"8c744e9d2f218256e63f1b1a2193f2fc4a7b980e72464e8d57fbe150446f2efc","dumps/main/attachments/search-config-icons/71f41a0c-5b70-4116-b30f-e62089083522":"5aad083bfcef256d433c1ffa571b814d16f61832bcd7565bf03909011f6a0bfc","dumps/main/attachments/search-config-icons/71f41a0c-5b70-4116-b30f-e62089083522.meta.json":"4a8f0c4e4ee643faa2f8d8cc4ddb8f87d14c740e8c9252223f826181c0117741","dumps/main/attachments/search-config-icons/74793ce1-a918-a5eb-d3c0-2aadaff3c88c":"ca8f102ac4f35189ebcb786d080843b603b234f89b8d8b1c0ef27a0ab7148182","dumps/main/attachments/search-config-icons/74793ce1-a918-a5eb-d3c0-2aadaff3c88c.meta.json":"60a7975cd79156623b0ca58be4110d152e50b6e9caaaa211dad1cd37eabb0345","dumps/main/attachments/search-config-icons/74f94dc2-caf6-4b90-b3d2-f3e2f7714d88":"3376e14529ed2e96c7dc491b3bf11914d7c8ff47a068311b2432c086c2ae0f28","dumps/main/attachments/search-config-icons/74f94dc2-caf6-4b90-b3d2-f3e2f7714d88.meta.json":"3a94a78a846f312c85c0609971b153aaba9819e2b657f25e3b0648a3956933d1","dumps/main/attachments/search-config-icons/764e3b14-fe16-4feb-8384-124c516a5afa":"71413ef23ac14ce2b7bb76f7f5d16b2df267239841a88ddab36b129481e00616","dumps/main/attachments/search-config-icons/764e3b14-fe16-4feb-8384-124c516a5afa.meta.json":"2f16dd51ade97a327d4e5f14d689f822a5c9061b9b27810bbccbf2f406a5e56f","dumps/main/attachments/search-config-icons/7bbe6c5c-fdb8-2845-a4f4-e1382e708a0e":"24daa27a3234d01b5add42e027b0a34000d0ab47c17fe3924c2ca267b7b61c19","dumps/main/attachments/search-config-icons/7bbe6c5c-fdb8-2845-a4f4-e1382e708a0e.meta.json":"308d345dbcfd7583e5f7460d34caf3b63d01b747a6e060a2b0971bf00ed2b22c","dumps/main/attachments/search-config-icons/7bf4ca37-e2b8-4d31-a1c3-979bc0e85131":"912d20feefcba57d43bffff5e245b8c1e3865155ed686d8ad253bbab71116e83","dumps/main/attachments/search-config-icons/7bf4ca37-e2b8-4d31-a1c3-979bc0e85131.meta.json":"3ec071b0a2940cd8892a72bd28d44237aecfd20d88303661348257ddb98aee43","dumps/main/attachments/search-config-icons/7c81cf98-7c11-4afd-8279-db89118a6dfb":"e988445d87afe0d285bea251705fc23eb70ac42426ab0d7a69d9276585c5573c","dumps/main/attachments/search-config-icons/7c81cf98-7c11-4afd-8279-db89118a6dfb.meta.json":"273dd09cad2a62459cc062e3b39b835d55a06b10cb7d5149aad77dd55451821f","dumps/main/attachments/search-config-icons/7cb4d88a-d4df-45b2-87e4-f896eaf1bbdb":"8dc2e75e6792b8374b20621fa2151ac24b4626e5c1f6a1abec4f912746441859","dumps/main/attachments/search-config-icons/7cb4d88a-d4df-45b2-87e4-f896eaf1bbdb.meta.json":"21d2522ab4e47477e72da3a2d2223e50e55fef442e2ba736d56df1e09593d76f","dumps/main/attachments/search-config-icons/7edaf4fe-a8a0-432b-86d2-bf75ebe80851":"27541cb376bdda829a6cf9cefd13da112728881e3daa4ac3c1178d4ce15f1e8b","dumps/main/attachments/search-config-icons/7edaf4fe-a8a0-432b-86d2-bf75ebe80851.meta.json":"3aea5d0652172940ac33e32628dcc6a03b79fe686c6de752482c8e3ae5cd70eb","dumps/main/attachments/search-config-icons/7efbed51-813c-581d-d8d3-f8758434e451":"b0c6d1850265e3c946917232ca6c6ace3dad23347bfab4f81351eac569326d34","dumps/main/attachments/search-config-icons/7efbed51-813c-581d-d8d3-f8758434e451.meta.json":"5a723c8f04bffa33a69a7054d30a4816caf1a3924081c85e1d9770126f761a96","dumps/main/attachments/search-config-icons/84bb4962-e571-227a-9ef6-2ac5f2aac361":"a1fd5d127a5f2590ddcd439b7a2abb3456b48217ea11daf0345b26e108f520e6","dumps/main/attachments/search-config-icons/84bb4962-e571-227a-9ef6-2ac5f2aac361.meta.json":"5cb0ebdde367b9754ddf6cbd01150414d27977b2d4c5f65cd6bbb89989388f3b","dumps/main/attachments/search-config-icons/87ac4cde-f581-398b-1e32-eb4079183b36":"33ca72f1eac56793d1fd811189cedef98004a067c85b1143083b564814a4b0db","dumps/main/attachments/search-config-icons/87ac4cde-f581-398b-1e32-eb4079183b36.meta.json":"d97eca8063cc17b99c81c55d4ff121d765c793e006ed252fec5f9539bd0fc339","dumps/main/attachments/search-config-icons/8831ce10-b1e4-6eb4-4975-83c67457288e":"ca3cc8786977f6ffeb0546ff8f3bb2b7fd240d1956fbf86777dbf0e8bec9c03b","dumps/main/attachments/search-config-icons/8831ce10-b1e4-6eb4-4975-83c67457288e.meta.json":"45274d848d1f6d398563bb46a2bfa3eee40ff16a5dbf0bbc8904db442f80702c","dumps/main/attachments/search-config-icons/890de5c4-0941-a116-473a-5d240e79497a":"6ba1f0fd1d12014cab32f74daab24dfa16fb26613ace20a1e595267621038a07","dumps/main/attachments/search-config-icons/890de5c4-0941-a116-473a-5d240e79497a.meta.json":"107547059360c3658dcf187a546ffb52bb23fa385e1338151043bebe82bbf640","dumps/main/attachments/search-config-icons/8abb10a7-212f-46b5-a7b4-244f414e3810":"f8780adb4d7b28f2f881db4ca7b697d8fc916cd9fa834ccc445fe7d4b72a6cc7","dumps/main/attachments/search-config-icons/8abb10a7-212f-46b5-a7b4-244f414e3810.meta.json":"5401603c7abbc6ca5bdddb8f9cca7eee2e26e5721cc73f23d95f600d5421d431","dumps/main/attachments/search-config-icons/91a9672d-e945-8e1e-0996-aefdb0190716":"5d53ef1866a08cc29011f5f2a9ce99bbf37cf42e80de7f0e8cc30d13337e8187","dumps/main/attachments/search-config-icons/91a9672d-e945-8e1e-0996-aefdb0190716.meta.json":"4e8ea36e3d659eb22ac7c86498003ca8885bab9c40685bb8ca7796a8230201da","dumps/main/attachments/search-config-icons/94a84724-c30f-4767-ba42-01cc37fc31a4":"98dca7e24cad0a1be96ef2c323e9759beb63c72440756f887e2482d9ce8e8969","dumps/main/attachments/search-config-icons/94a84724-c30f-4767-ba42-01cc37fc31a4.meta.json":"1070966901fe9db82b71bfa74ddeedd4f23ab2ed1eddaf201634e06a604e6006","dumps/main/attachments/search-config-icons/95ed201d-4ab8-4cb8-831d-454f53cab0f8":"3426b5100a6bdb45f8039f0c71a6b68193750ba7bae5b36e5ed31b2b7f372cda","dumps/main/attachments/search-config-icons/95ed201d-4ab8-4cb8-831d-454f53cab0f8.meta.json":"3447cd050619c1d2e5859147ab894a43da75235a580219306d8629e28a7a3eb5","dumps/main/attachments/search-config-icons/96327a73-c433-5eb4-a16d-b090cadfb80b":"ca6e972004f62355c1ea97656bc2328e1643971bdecab9c6b563d45593b8122e","dumps/main/attachments/search-config-icons/96327a73-c433-5eb4-a16d-b090cadfb80b.meta.json":"c4e3c9e6426e6f35410c287eef95b3e2134e54409e462f02dd440876c06b1bb4","dumps/main/attachments/search-config-icons/9802e63d-05ec-48ba-93f9-746e0981ad98":"6b1b073183eb0012daea0dce351a94d395c8a0b531b610e56eac52b3d1d1da0e","dumps/main/attachments/search-config-icons/9802e63d-05ec-48ba-93f9-746e0981ad98.meta.json":"cceb55c68db8dddd23d064364a281e982069bfe2bb55eba7d282fffcec2aa89f","dumps/main/attachments/search-config-icons/a06db97d-1210-ea2e-5474-0e2f7d295bfd":"617dec5d635efb0a12d0de935c6999ef0249f4a63c62bdcb96551518bc3d1812","dumps/main/attachments/search-config-icons/a06db97d-1210-ea2e-5474-0e2f7d295bfd.meta.json":"06cf576ca882bd7c2d54c18329e21e5b1a9cb7732d4954b52cbfa52979a67765","dumps/main/attachments/search-config-icons/a06dc3fd-4bdb-41f3-2ebc-4cbed06a9bd3":"d994f806b1e4225b50be5ab681b2cecf845cc216a19a432d878cea3cb815bafd","dumps/main/attachments/search-config-icons/a06dc3fd-4bdb-41f3-2ebc-4cbed06a9bd3.meta.json":"67524e18799023a017c7d9db1b9ba5c9cc3090d20f8154449a8f44ba22719104","dumps/main/attachments/search-config-icons/a2c7d4e9-f770-51e1-0963-3c2c8401631d":"1bf68aca7bfc75ca8485c3dac9a1daa13c1a3eb480688c32262096af6076adfa","dumps/main/attachments/search-config-icons/a2c7d4e9-f770-51e1-0963-3c2c8401631d.meta.json":"4ab103bba0f8fde581c3950c6c08cfcf6786104d8cbcba240499308f26958d04","dumps/main/attachments/search-config-icons/a83f24e4-602c-47bd-930c-ad0947ee1adf":"66612f999921d892645c8a2b37aa5dad17b134e7fdaed375a683baec7fc10697","dumps/main/attachments/search-config-icons/a83f24e4-602c-47bd-930c-ad0947ee1adf.meta.json":"f985ffbde6cf6ef972b6798c9336922dcfa29ca9a31e3aa4fae1962e069bdb0c","dumps/main/attachments/search-config-icons/b64f09fd-52d1-c48e-af23-4ce918e7bf3b":"c3e8300801c5c585662f14fd8e819d635efd9830783dc3c631212927866e9898","dumps/main/attachments/search-config-icons/b64f09fd-52d1-c48e-af23-4ce918e7bf3b.meta.json":"f7fd846d6717131e75865f8f5ed562e88f40be3dcf1603f2660b425dedabc7d1","dumps/main/attachments/search-config-icons/b882b24d-1776-4ef9-9016-0bdbd935eda3":"076352591c7077af4af5771918f80b5da9c6bf479327cc68390abdb158f3ec03","dumps/main/attachments/search-config-icons/b882b24d-1776-4ef9-9016-0bdbd935eda3.meta.json":"229139bca53bc63bd59b8f261f36c11fbe76b2b45dfeac2580261cf290c41365","dumps/main/attachments/search-config-icons/b8ca5a94-8fff-27ad-6e00-96e244a32e21":"1474c93e49c209aca2a2df2acb61b64574805106bead6edebd67287de21920e0","dumps/main/attachments/search-config-icons/b8ca5a94-8fff-27ad-6e00-96e244a32e21.meta.json":"6fd72c11afb4249d0166d8d98c552ee02d73c0e07f0578bfd3d7e67d70bcaee3","dumps/main/attachments/search-config-icons/b9424309-f601-4a69-98ca-ca68e65633e6":"601d72e7abde5ec864b3d8ca0031896f769107670b84c66053062481a56d8665","dumps/main/attachments/search-config-icons/b9424309-f601-4a69-98ca-ca68e65633e6.meta.json":"f299a7d56c5552fc592c66073d3e1e1d16ce4a99e935dcc0cad7dafcad6b9e3b","dumps/main/attachments/search-config-icons/c411adc1-9661-4fb5-a4c1-8cfe74911943":"150765e8e9b985ba5b820ac9b8e7623023d5a0e24f94663d5e9203d8d7598059","dumps/main/attachments/search-config-icons/c411adc1-9661-4fb5-a4c1-8cfe74911943.meta.json":"c5cc89d5f24ef1fa40b1c47c2e97eaeb01439b8d3b186b9c2fe716c94ead30f2","dumps/main/attachments/search-config-icons/cbf9e891-d079-2b28-5617-283450d463dd":"5b2c34b3c4e8dd898b664dba6c3786e2ff9869eff55d673aa48361f11325ed07","dumps/main/attachments/search-config-icons/cbf9e891-d079-2b28-5617-283450d463dd.meta.json":"b757806fd1b922d81bbecab94c73d3db98cfc2aa2791a4d5137112f795a732ee","dumps/main/attachments/search-config-icons/d87f251c-3e12-a8bf-e2d0-afd43d36c5f9":"865d76c8175a8f11dedc93f0bc212242a97a8a76adac870e8249368cecc81402","dumps/main/attachments/search-config-icons/d87f251c-3e12-a8bf-e2d0-afd43d36c5f9.meta.json":"22594c8870cbabe5fc5d2637509235202502661b466e9e37c5878716f323a34f","dumps/main/attachments/search-config-icons/db0e1627-ae89-4c25-8944-a9481d8512d9":"97a68f0b948b68bbf389a9ef43e2fe6c31ff8dc7889c939fdfdea79378576c67","dumps/main/attachments/search-config-icons/db0e1627-ae89-4c25-8944-a9481d8512d9.meta.json":"1eccc999dcd377af84cf63ed60b7ef23d5d4b936a1e465d12349a5366b1b012d","dumps/main/attachments/search-config-icons/e02f23df-8d48-2b1b-3b5c-6dd27302c61c":"247aa26993083705ce99a8e5612cdf262aca98cde86ba19afc964329ba95986a","dumps/main/attachments/search-config-icons/e02f23df-8d48-2b1b-3b5c-6dd27302c61c.meta.json":"06fc893d29cf406519611da9d1993a13bd9134192940c12bf64536ea571db4f0","dumps/main/attachments/search-config-icons/e718e983-09aa-e8f6-b25f-cd4b395d4785":"809697f48848e7c3638d5f3e0b224ea60b3800504e7bd8417854d55989b85196","dumps/main/attachments/search-config-icons/e718e983-09aa-e8f6-b25f-cd4b395d4785.meta.json":"0d9baef39747776500e5b83e72cd9d901fc09ac08247368dd2117bb4ec011f54","dumps/main/attachments/search-config-icons/e7547f62-187b-b641-d462-e54a3f813d9a":"c971ee33b8c0a57349669d957bf73070b0632b128c94748e845b57d5e15221a4","dumps/main/attachments/search-config-icons/e7547f62-187b-b641-d462-e54a3f813d9a.meta.json":"8ec4f6a7826966f2ff82632ef527366db3452ebc40c90a557602111f0ea956c9","dumps/main/attachments/search-config-icons/eb62e768-151b-45d1-9fe5-9e1d2a5991c5":"aa46b3d1ed8557e5bc7e71988cc6c46b00363b890d2a781973f9dc9073f8dd31","dumps/main/attachments/search-config-icons/eb62e768-151b-45d1-9fe5-9e1d2a5991c5.meta.json":"a06682b589df8dd63b1f25c01630ead55a89217f72c0bc04b391829af3fef59f","dumps/main/attachments/search-config-icons/f312610a-ebfb-a106-ea92-fd643c5d3636":"91d17ba44192a6430ffdb447ff3a11533ef964628f67c13480cc9470212d3d65","dumps/main/attachments/search-config-icons/f312610a-ebfb-a106-ea92-fd643c5d3636.meta.json":"ce26ab2382a7a67a55688330dd74127b4a980610f4030bde8eaaa20b81306559","dumps/main/attachments/search-config-icons/fa0fc42c-d91d-fca7-34eb-806ff46062dc":"6da5620880159634213e197fafca1dde0272153be3e4590818533fab8d040770","dumps/main/attachments/search-config-icons/fa0fc42c-d91d-fca7-34eb-806ff46062dc.meta.json":"0c3c0eb832be884f25186395b8bf08cdbe0a6e2845b9e55e7cbea5d0f183ed7d","dumps/main/attachments/search-config-icons/fca3e3ee-56cd-f474-dc31-307fd24a891d":"c4d88cfa5262f6d2cf76b167281d25821c9e1770684b739ed6ad3cf7277a121b","dumps/main/attachments/search-config-icons/fca3e3ee-56cd-f474-dc31-307fd24a891d.meta.json":"a40c37a5150e3745849f67305fe2fe1e06ef1c3901f6dc604a8e3f6c94e7b624","dumps/main/attachments/search-config-icons/fe75ce3f-1545-400c-b28c-ad771054e69f":"3a9d06951c7c9d2c19cd00533a760b0f8755b1e2e718af81c710297d030fbe44","dumps/main/attachments/search-config-icons/fe75ce3f-1545-400c-b28c-ad771054e69f.meta.json":"3f353e083d7a885f6d59d36c9276a2d325686a533cf8c502cd41a10172e763ea","dumps/main/attachments/search-config-icons/fed4f021-ff3e-942a-010e-afa43fda2136":"d7fdfd971d874f2ec6f209df6f6b8173d126cd3f7a25daacb94de4259efbcf16","dumps/main/attachments/search-config-icons/fed4f021-ff3e-942a-010e-afa43fda2136.meta.json":"740f77dcc93ece89fd55557baf399a4464373c81154b0a9758b8622f6c458253","dumps/main/regions.json":"e8990158373f82d3f89fed5089cf29e4177cc85904479128728e05025e9a0c0c","dumps/main/search-config-icons.json":"76955459bdcd7ea46a67737309ed65c3497b9dd71c66a8f978aa3448001ad33b","dumps/main/search-config-v2.json":"66a59aca74a334afdad33162c2354edabb7d20fc62948d6a0faa43e2b4984e99","dumps/main/search-telemetry-v2.json":"b0f3ba5c0b4d9051e87b84ebb90abf4477a56b1999c033deca3ce3c8e4a3f7f9","src/cache.rs":"c6179802017b43885136e7d64004890cc13e8c2d4742e04073cf404b578f63db","src/client.rs":"6f0721616f005c12585596f494201fe6421691ca7a4f7798daacb9caa70cc0b7","src/config.rs":"a11236be974e89dad588dec42174d1c29a56468b6c6c18705613c21c44e1a690","src/context.rs":"43bab81026b6f1a2509d129e806fffd09ba80110d656798a02589985017a3c21","src/error.rs":"d220f8589f7bb4828c3d19b796cc67814e6a848fee45a9c409ba062744cef7dc","src/jexl_filter.rs":"48a9d960e05dae444421f7c4ceeb45eab656f03f1e7071215c8e8d39aab56b54","src/lib.rs":"d9035523ceab4b739b60f7cb56ff7cc884487dc6781e11b76be269820ce47ea7","src/macros.rs":"6b06d0ba42ee95235bfd71bac1a0eed02f60c894775ebee64165648b10e932c4","src/schema.rs":"348e0d5ad1840aaae796b537d21381ef91bd75be262138bfec376d9f88d205b3","src/service.rs":"0b959fe9eeee2f13564b5971c4048e781e495fa230b6f3002f956700a424f6f8","src/signatures.rs":"baa2dae76abd8166158fea4676e67e17c17b65af6968de52768350409dbd7092","src/storage.rs":"e5971b4a9018c8836b2a45ebfb2d8ca5ed3826bda88fba60bcce18962dbd3c20","uniffi.toml":"bd7cc0e7c1981f53938f429c4f2541ac454ed4160a8a0b4670659e38acd23ee5"},"package":null} \ No newline at end of file diff --git a/third_party/rust/remote_settings/src/client.rs b/third_party/rust/remote_settings/src/client.rs index da6ed475b9d5..4d76a1257352 100644 --- a/third_party/rust/remote_settings/src/client.rs +++ b/third_party/rust/remote_settings/src/client.rs @@ -2,7 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use crate::config::{BaseUrl, RemoteSettingsConfig}; +use crate::config::RemoteSettingsConfig; use crate::error::{Error, Result}; use crate::jexl_filter::JexlFilter; #[cfg(feature = "signatures")] @@ -360,7 +360,11 @@ impl RemoteSettingsClient { Ok(()) } - pub fn shutdown(&self) { + /// Close the client + /// + /// This is typically used during shutdown. It closes the underlying SQLite connection used to + /// cache records. + pub fn close(&self) { self.inner.lock().storage.close(); } @@ -495,21 +499,26 @@ impl RemoteSettingsClient { impl RemoteSettingsClient { pub fn new( - server_url: BaseUrl, + server_url: Url, bucket_name: String, collection_name: String, context: Option, storage: Storage, - ) -> Self { - let api_client = ViaductApiClient::new(server_url, &bucket_name, &collection_name); + ) -> Result { + let api_client = ViaductApiClient::new(server_url, &bucket_name, &collection_name)?; let jexl_filter = JexlFilter::new(context); - Self::new_from_parts(collection_name, storage, jexl_filter, api_client) + Ok(Self::new_from_parts( + collection_name, + storage, + jexl_filter, + api_client, + )) } - pub fn update_config(&self, server_url: BaseUrl, bucket_name: String) -> Result<()> { + pub fn update_config(&self, server_url: Url, bucket_name: String) -> Result<()> { let mut inner = self.inner.lock(); - inner.api_client = ViaductApiClient::new(server_url, &bucket_name, &self.collection_name); + inner.api_client = ViaductApiClient::new(server_url, &bucket_name, &self.collection_name)?; inner.storage.empty() } } @@ -545,11 +554,11 @@ pub struct ViaductApiClient { } impl ViaductApiClient { - fn new(base_url: BaseUrl, bucket_name: &str, collection_name: &str) -> Self { - Self { - endpoints: RemoteSettingsEndpoints::new(&base_url, bucket_name, collection_name), + fn new(base_url: Url, bucket_name: &str, collection_name: &str) -> Result { + Ok(Self { + endpoints: RemoteSettingsEndpoints::new(&base_url, bucket_name, collection_name)?, remote_state: RemoteState::default(), - } + }) } fn make_request(&mut self, url: Url) -> Result { @@ -698,10 +707,10 @@ impl Client { let bucket_name = config.bucket_name.unwrap_or_else(|| String::from("main")); let endpoints = RemoteSettingsEndpoints::new( - &server.get_base_url()?, + &server.get_url()?, &bucket_name, &config.collection_name, - ); + )?; Ok(Self { endpoints, @@ -905,31 +914,41 @@ impl RemoteSettingsEndpoints { /// Construct a new RemoteSettingsEndpoints /// /// `base_url` should have the form `https://[domain]/v1` (no trailing slash). - fn new(base_url: &BaseUrl, bucket_name: &str, collection_name: &str) -> Self { + fn new(base_url: &Url, bucket_name: &str, collection_name: &str) -> Result { let mut root_url = base_url.clone(); // Push the empty string to add the trailing slash. - root_url.path_segments_mut().push(""); + Self::path_segments_mut(&mut root_url)?.push(""); let mut collection_url = base_url.clone(); - collection_url - .path_segments_mut() + Self::path_segments_mut(&mut collection_url)? .push("buckets") .push(bucket_name) .push("collections") .push(collection_name); let mut records_url = collection_url.clone(); - records_url.path_segments_mut().push("records"); + Self::path_segments_mut(&mut records_url)?.push("records"); let mut changeset_url = collection_url.clone(); - changeset_url.path_segments_mut().push("changeset"); + Self::path_segments_mut(&mut changeset_url)?.push("changeset"); - Self { - root_url: root_url.into_inner(), - collection_url: collection_url.into_inner(), - records_url: records_url.into_inner(), - changeset_url: changeset_url.into_inner(), - } + Ok(Self { + root_url, + collection_url, + records_url, + changeset_url, + }) + } + + /// Utility method for calling [Url::path_segments_mut] + /// + /// The issue we're working around is that path_segments_mut uses `()` as the error type, which + /// can't be converted into our `Error` type. + fn path_segments_mut(url: &mut Url) -> Result> { + url.path_segments_mut() + // path_segments_mut uses `()` as the error type, but the docs say that it only will + // error for cannot-be-a-base URLs. + .map_err(|_| Error::UrlParsingError(url::ParseError::RelativeUrlWithCannotBeABaseBase)) } } @@ -1901,10 +1920,11 @@ mod test_new_client { #[test] fn test_endpoints() { let endpoints = RemoteSettingsEndpoints::new( - &BaseUrl::parse("http://rs.example.com/v1").unwrap(), + &Url::parse("http://rs.example.com/v1").unwrap(), "main", "test-collection", - ); + ) + .unwrap(); assert_eq!(endpoints.root_url.to_string(), "http://rs.example.com/v1/"); assert_eq!( endpoints.collection_url.to_string(), @@ -1962,7 +1982,7 @@ mod jexl_tests { ..Default::default() }; - let mut storage = Storage::new(":memory:".into()); + let mut storage = Storage::new(":memory:".into()).expect("Error creating storage"); let _ = storage.insert_collection_content( "http://rs.example.com/v1/buckets/main/collections/test-collection", &records, @@ -2020,7 +2040,7 @@ mod jexl_tests { ..Default::default() }; - let mut storage = Storage::new(":memory:".into()); + let mut storage = Storage::new(":memory:".into()).expect("Error creating storage"); let _ = storage.insert_collection_content( "http://rs.example.com/v1/buckets/main/collections/test-collection", &records, @@ -2201,7 +2221,7 @@ IKdcFKAt3fFrpyMhlfIKkLfmm0iDjmfmIXbDGBJw9SE= .expect_fetch_cert() .returning(move |_| Ok(certificate.clone().into_bytes())); - let storage = Storage::new(":memory:".into()); + let storage = Storage::new(":memory:".into())?; let jexl_filter = JexlFilter::new(Some(RemoteSettingsContext::default())); let rs_client = RemoteSettingsClient::new_from_parts( collection_name.to_string(), diff --git a/third_party/rust/remote_settings/src/config.rs b/third_party/rust/remote_settings/src/config.rs index a4c491692e9c..e46fbf08387b 100644 --- a/third_party/rust/remote_settings/src/config.rs +++ b/third_party/rust/remote_settings/src/config.rs @@ -17,7 +17,7 @@ use crate::{ApiResult, Error, RemoteSettingsContext, Result}; /// This is the version used in the new API, hence the `2` at the end. The plan is to move /// consumers to the new API, remove the RemoteSettingsConfig struct, then remove the `2` from this /// name. -#[derive(Debug, Default, Clone, uniffi::Record)] +#[derive(Debug, Clone, uniffi::Record)] pub struct RemoteSettingsConfig2 { /// The Remote Settings server to use. Defaults to [RemoteSettingsServer::Prod], #[uniffi(default = None)] @@ -63,31 +63,16 @@ impl RemoteSettingsServer { self.get_url() } - /// Get a BaseUrl for this server - pub fn get_base_url(&self) -> Result { - let base_url = BaseUrl::parse(self.raw_url())?; - // Custom URLs are weird and require a couple tricks for backwards compatibility. - // Normally we append `v1/` to match how this has historically worked. However, - // don't do this for file:// schemes which normally don't make any sense, but it's - // what Nimbus uses to indicate they want to use the file-based client, rather than - // a remote-settings based one. - if base_url.url().scheme() != "file" { - Ok(base_url.join("v1")) - } else { - Ok(base_url) - } - } - /// get_url() that never fails /// /// If the URL is invalid, we'll log a warning and fall back to the production URL - pub fn get_base_url_with_prod_fallback(&self) -> BaseUrl { - match self.get_base_url() { + pub fn get_url_with_prod_fallback(&self) -> Url { + match self.get_url() { Ok(url) => url, // The unwrap below will never fail, since prod is a hard-coded/valid URL. Err(_) => { log::warn!("Invalid Custom URL: {}", self.raw_url()); - BaseUrl::parse(Self::Prod.raw_url()).unwrap() + Self::Prod.get_url().unwrap() } } } @@ -125,44 +110,3 @@ impl RemoteSettingsServer { }) } } - -/// Url that's guaranteed safe to use as a base -#[derive(Debug, Clone)] -pub struct BaseUrl { - url: Url, -} - -impl BaseUrl { - pub fn parse(url: &str) -> Result { - let url = Url::parse(url)?; - if url.cannot_be_a_base() { - Err(Error::UrlParsingError( - url::ParseError::RelativeUrlWithCannotBeABaseBase, - )) - } else { - Ok(Self { url }) - } - } - - pub fn url(&self) -> &Url { - &self.url - } - - pub fn into_inner(self) -> Url { - self.url - } - - pub fn join(&self, input: &str) -> BaseUrl { - Self { - // Unwrap is safe, because the join() docs say that it only will error for - // cannot-be-a-base URLs. - url: self.url.join(input).unwrap(), - } - } - - pub fn path_segments_mut(&mut self) -> url::PathSegmentsMut<'_> { - // Unwrap is safe, because the path_segments_mut() docs say that it only will - // error for cannot-be-a-base URLs. - self.url.path_segments_mut().unwrap() - } -} diff --git a/third_party/rust/remote_settings/src/lib.rs b/third_party/rust/remote_settings/src/lib.rs index 41100a5e0167..a17150a96cc1 100644 --- a/third_party/rust/remote_settings/src/lib.rs +++ b/third_party/rust/remote_settings/src/lib.rs @@ -5,6 +5,7 @@ use std::{collections::HashMap, fs::File, io::prelude::Write, sync::Arc}; use error_support::{convert_log_report_error, handle_error}; +use url::Url; pub mod cache; pub mod client; @@ -21,7 +22,7 @@ pub(crate) mod jexl_filter; mod macros; pub use client::{Attachment, RemoteSettingsRecord, RemoteSettingsResponse, RsJsonObject}; -pub use config::{BaseUrl, RemoteSettingsConfig, RemoteSettingsConfig2, RemoteSettingsServer}; +pub use config::{RemoteSettingsConfig, RemoteSettingsConfig2, RemoteSettingsServer}; pub use context::RemoteSettingsContext; pub use error::{ApiResult, RemoteSettingsError, Result}; @@ -63,7 +64,8 @@ impl RemoteSettingsService { /// Create a new Remote Settings client /// /// This method performs no IO or network requests and is safe to run in a main thread that can't be blocked. - pub fn make_client(&self, collection_name: String) -> Arc { + #[handle_error(Error)] + pub fn make_client(&self, collection_name: String) -> ApiResult> { self.internal.make_client(collection_name) } @@ -164,32 +166,27 @@ impl RemoteSettingsClient { pub fn sync(&self) -> ApiResult<()> { self.internal.sync() } - - /// Shutdown the client, releasing the SQLite connection used to cache records. - pub fn shutdown(&self) { - self.internal.shutdown() - } } impl RemoteSettingsClient { /// Create a new client. This is not exposed to foreign code, consumers need to call /// [RemoteSettingsService::make_client] fn new( - base_url: BaseUrl, + base_url: Url, bucket_name: String, collection_name: String, #[allow(unused)] context: Option, storage: Storage, - ) -> Self { - Self { + ) -> Result { + Ok(Self { internal: client::RemoteSettingsClient::new( base_url, bucket_name, collection_name, context, storage, - ), - } + )?, + }) } } diff --git a/third_party/rust/remote_settings/src/service.rs b/third_party/rust/remote_settings/src/service.rs index 8f2c3f052164..f652dd6aab5e 100644 --- a/third_party/rust/remote_settings/src/service.rs +++ b/third_party/rust/remote_settings/src/service.rs @@ -9,10 +9,11 @@ use std::{ use camino::Utf8PathBuf; use parking_lot::Mutex; +use url::Url; use crate::{ - config::BaseUrl, storage::Storage, RemoteSettingsClient, RemoteSettingsConfig2, - RemoteSettingsContext, RemoteSettingsServer, Result, + storage::Storage, RemoteSettingsClient, RemoteSettingsConfig2, RemoteSettingsContext, + RemoteSettingsServer, Result, }; /// Internal Remote settings service API @@ -22,7 +23,7 @@ pub struct RemoteSettingsService { struct RemoteSettingsServiceInner { storage_dir: Utf8PathBuf, - base_url: BaseUrl, + base_url: Url, bucket_name: String, app_context: Option, /// Weakrefs for all clients that we've created. Note: this stores the @@ -42,7 +43,7 @@ impl RemoteSettingsService { let base_url = config .server .unwrap_or(RemoteSettingsServer::Prod) - .get_base_url_with_prod_fallback(); + .get_url_with_prod_fallback(); let bucket_name = config.bucket_name.unwrap_or_else(|| String::from("main")); Self { @@ -56,13 +57,13 @@ impl RemoteSettingsService { } } - pub fn make_client(&self, collection_name: String) -> Arc { + pub fn make_client(&self, collection_name: String) -> Result> { let mut inner = self.inner.lock(); // Allow using in-memory databases for testing of external crates. let storage = if inner.storage_dir == ":memory:" { - Storage::new(inner.storage_dir.clone()) + Storage::new(inner.storage_dir.clone())? } else { - Storage::new(inner.storage_dir.join(format!("{collection_name}.sql"))) + Storage::new(inner.storage_dir.join(format!("{collection_name}.sql")))? }; let client = Arc::new(RemoteSettingsClient::new( @@ -71,9 +72,9 @@ impl RemoteSettingsService { collection_name.clone(), inner.app_context.clone(), storage, - )); + )?); inner.clients.push(Arc::downgrade(&client)); - client + Ok(client) } /// Sync collections for all active clients @@ -101,7 +102,7 @@ impl RemoteSettingsService { let base_url = config .server .unwrap_or(RemoteSettingsServer::Prod) - .get_base_url()?; + .get_url()?; let bucket_name = config.bucket_name.unwrap_or_else(|| String::from("main")); let mut inner = self.inner.lock(); for client in inner.active_clients() { diff --git a/third_party/rust/remote_settings/src/storage.rs b/third_party/rust/remote_settings/src/storage.rs index 16c83245a39d..7abce9ac07aa 100644 --- a/third_party/rust/remote_settings/src/storage.rs +++ b/third_party/rust/remote_settings/src/storage.rs @@ -32,11 +32,11 @@ pub struct Storage { } impl Storage { - pub fn new(path: Utf8PathBuf) -> Self { - Self { + pub fn new(path: Utf8PathBuf) -> Result { + Ok(Self { path, conn: ConnectionCell::Uninitialized, - } + }) } fn transaction(&mut self) -> Result> { @@ -324,7 +324,7 @@ mod tests { #[test] fn test_storage_set_and_get_records() -> Result<()> { - let mut storage = Storage::new(":memory:".into()); + let mut storage = Storage::new(":memory:".into())?; let collection_url = "https://example.com/api"; let records = vec![ @@ -376,7 +376,7 @@ mod tests { #[test] fn test_storage_get_records_none() -> Result<()> { - let mut storage = Storage::new(":memory:".into()); + let mut storage = Storage::new(":memory:".into())?; let collection_url = "https://example.com/api"; @@ -393,7 +393,7 @@ mod tests { #[test] fn test_storage_get_records_empty() -> Result<()> { - let mut storage = Storage::new(":memory:".into()); + let mut storage = Storage::new(":memory:".into())?; let collection_url = "https://example.com/api"; @@ -418,7 +418,7 @@ mod tests { #[test] fn test_storage_set_and_get_attachment() -> Result<()> { - let mut storage = Storage::new(":memory:".into()); + let mut storage = Storage::new(":memory:".into())?; let attachment = &[0x18, 0x64]; let collection_url = "https://example.com/api"; @@ -444,7 +444,7 @@ mod tests { #[test] fn test_storage_set_and_replace_attachment() -> Result<()> { - let mut storage = Storage::new(":memory:".into()); + let mut storage = Storage::new(":memory:".into())?; let collection_url = "https://example.com/api"; @@ -492,7 +492,7 @@ mod tests { #[test] fn test_storage_set_attachment_delete_others() -> Result<()> { - let mut storage = Storage::new(":memory:".into()); + let mut storage = Storage::new(":memory:".into())?; let collection_url_1 = "https://example.com/api1"; let collection_url_2 = "https://example.com/api2"; @@ -544,7 +544,7 @@ mod tests { #[test] fn test_storage_get_attachment_not_found() -> Result<()> { - let mut storage = Storage::new(":memory:".into()); + let mut storage = Storage::new(":memory:".into())?; let collection_url = "https://example.com/api"; let metadata = Attachment::default(); @@ -558,7 +558,7 @@ mod tests { #[test] fn test_storage_empty() -> Result<()> { - let mut storage = Storage::new(":memory:".into()); + let mut storage = Storage::new(":memory:".into())?; let collection_url = "https://example.com/api"; let attachment = &[0x18, 0x64]; @@ -626,7 +626,7 @@ mod tests { #[test] fn test_storage_collection_url_isolation() -> Result<()> { - let mut storage = Storage::new(":memory:".into()); + let mut storage = Storage::new(":memory:".into())?; let collection_url1 = "https://example.com/api1"; let collection_url2 = "https://example.com/api2"; @@ -695,7 +695,7 @@ mod tests { #[test] fn test_storage_insert_collection_content() -> Result<()> { - let mut storage = Storage::new(":memory:".into()); + let mut storage = Storage::new(":memory:".into())?; let collection_url = "https://example.com/api"; let initial_records = vec![RemoteSettingsRecord { @@ -761,7 +761,7 @@ mod tests { #[test] fn test_storage_merge_records() -> Result<()> { - let mut storage = Storage::new(":memory:".into()); + let mut storage = Storage::new(":memory:".into())?; let collection_url = "https://example.com/api"; @@ -872,7 +872,7 @@ mod tests { } #[test] fn test_storage_get_collection_metadata() -> Result<()> { - let mut storage = Storage::new(":memory:".into()); + let mut storage = Storage::new(":memory:".into())?; let collection_url = "https://example.com/api"; let initial_records = vec![RemoteSettingsRecord { diff --git a/third_party/rust/search/.cargo-checksum.json b/third_party/rust/search/.cargo-checksum.json index 2686bb9edf0f..9a5bcf9e5a8e 100644 --- a/third_party/rust/search/.cargo-checksum.json +++ b/third_party/rust/search/.cargo-checksum.json @@ -1 +1 @@ -{"files":{"Cargo.toml":"ac0ac2103375f1c3906436b53627f88515da74864dd3f86ebb2a18952ba72b30","README.md":"d59a6ad6232a86a7bd3632ca62c44ba8bd466615c5d47ce0d836b270bac5562c","android/build.gradle":"e3b617d653aa0221f2229bb16c2fd635003fe82d0274c4b9a6f2d8154851985a","android/proguard-rules.pro":"1cf8c57e8f79c250b0af9c1a5a4edad71a5c348a79ab70243b6bae086c150ad2","android/src/main/AndroidManifest.xml":"0a05039a6124be0296764c2b0f41e863b5538d75e6164dd9ae945b59d983c318","src/configuration_overrides_types.rs":"220a5e12ee3deb309a1571c5820ec5132c959f56667c4c48f997bbe2be0c7eeb","src/configuration_types.rs":"baea920438a87499791b33177c28b690356da24be13223f9113f40e43cb787d4","src/environment_matching.rs":"5a1ade9a900942c62e8740597528a34df6fb3fdb72c801a647a3386acd42fcc8","src/error.rs":"d3c1eda7a8da15446a321139d4d29dd9ceee99e916519690d5eb2d45ed628598","src/filter.rs":"2872eb2c965bdffdebf89936b3e7c80702c8d43e946da81ee093639ba8021f3b","src/lib.rs":"9c83780a74048fbbc7bbba5706067b9dc5db2ae25a0cc751687d2738903723b4","src/selector.rs":"9cdab3d61344cdb7715e51a46ea51e80dc668f22623a01be761450a1ac24082f","src/sort_helpers.rs":"12d41c34fc2ca5387edc248189335fb11702618b7253f8b486f0c84576084faa","src/types.rs":"2dc1339a5a49bc32dc9252d2fe1c179eb7b3d55f091d6ed2537262573e6d80db","uniffi.toml":"96f1cd569483ff59e3c73852f085a03889fa24a2ce20ff7a3003799a9f48a51e"},"package":null} \ No newline at end of file +{"files":{"Cargo.toml":"ac0ac2103375f1c3906436b53627f88515da74864dd3f86ebb2a18952ba72b30","README.md":"d59a6ad6232a86a7bd3632ca62c44ba8bd466615c5d47ce0d836b270bac5562c","android/build.gradle":"e3b617d653aa0221f2229bb16c2fd635003fe82d0274c4b9a6f2d8154851985a","android/proguard-rules.pro":"1cf8c57e8f79c250b0af9c1a5a4edad71a5c348a79ab70243b6bae086c150ad2","android/src/main/AndroidManifest.xml":"0a05039a6124be0296764c2b0f41e863b5538d75e6164dd9ae945b59d983c318","src/configuration_overrides_types.rs":"220a5e12ee3deb309a1571c5820ec5132c959f56667c4c48f997bbe2be0c7eeb","src/configuration_types.rs":"baea920438a87499791b33177c28b690356da24be13223f9113f40e43cb787d4","src/environment_matching.rs":"5a1ade9a900942c62e8740597528a34df6fb3fdb72c801a647a3386acd42fcc8","src/error.rs":"d3c1eda7a8da15446a321139d4d29dd9ceee99e916519690d5eb2d45ed628598","src/filter.rs":"2872eb2c965bdffdebf89936b3e7c80702c8d43e946da81ee093639ba8021f3b","src/lib.rs":"9c83780a74048fbbc7bbba5706067b9dc5db2ae25a0cc751687d2738903723b4","src/selector.rs":"c1f8353bf141fac430d7910d85ff181162d009cdcc57af7356eed7345b7df891","src/sort_helpers.rs":"12d41c34fc2ca5387edc248189335fb11702618b7253f8b486f0c84576084faa","src/types.rs":"2dc1339a5a49bc32dc9252d2fe1c179eb7b3d55f091d6ed2537262573e6d80db","uniffi.toml":"96f1cd569483ff59e3c73852f085a03889fa24a2ce20ff7a3003799a9f48a51e"},"package":null} \ No newline at end of file diff --git a/third_party/rust/search/src/selector.rs b/third_party/rust/search/src/selector.rs index 203d14bb0c3d..c04656dc5a1f 100644 --- a/third_party/rust/search/src/selector.rs +++ b/third_party/rust/search/src/selector.rs @@ -47,18 +47,20 @@ impl SearchEngineSelector { /// `search-config-v2-overrides` to the selected /// engines. Should be false unless the application /// supports the click URL feature. + #[handle_error(Error)] pub fn use_remote_settings_server( self: Arc, service: &Arc, apply_engine_overrides: bool, - ) { + ) -> SearchApiResult<()> { let mut inner = self.0.lock(); - inner.search_config_client = Some(service.make_client("search-config-v2".to_string())); + inner.search_config_client = Some(service.make_client("search-config-v2".to_string())?); if apply_engine_overrides { inner.search_config_overrides_client = - Some(service.make_client("search-config-overrides-v2".to_string())); + Some(service.make_client("search-config-overrides-v2".to_string())?); } + Ok(()) } /// Sets the search configuration from the given string. If the configuration @@ -1891,7 +1893,14 @@ mod tests { let selector = Arc::new(SearchEngineSelector::new()); - Arc::clone(&selector).use_remote_settings_server(&service, should_apply_overrides); + let settings_result = + Arc::clone(&selector).use_remote_settings_server(&service, should_apply_overrides); + assert!( + settings_result.is_ok(), + "Should have set the client successfully. {:?}", + settings_result + ); + let sync_result = Arc::clone(&service).sync(); assert!( if expect_sync_successful { diff --git a/third_party/rust/suggest/.cargo-checksum.json b/third_party/rust/suggest/.cargo-checksum.json index 21aa1879dd83..256ca90ccf5d 100644 --- a/third_party/rust/suggest/.cargo-checksum.json +++ b/third_party/rust/suggest/.cargo-checksum.json @@ -1 +1 @@ -{"files":{"Cargo.toml":"922b2e4d85f325dbef99d5e439558a75dbfda82e1d263c2dd3bfadac9879df18","README.md":"5e28baf874b643d756228bdab345e287bf107d3182dfe6a18aafadcc4b9a3fc9","benches/benchmark_all.rs":"5909dfb1e62793afb1f2bc15b75914527a4d14fce6796307c04a309e45c0598c","metrics.yaml":"0540ab2271aeab7f07335c7ceec12acde942995f9dcb3c29070489aa61899d56","src/benchmarks/README.md":"ccee8dbddba8762d0453fa855bd6984137b224b8c019f3dd8e86a3c303f51d71","src/benchmarks/client.rs":"e5897d4e2eda06809fa6dc6db4e780b9ef266f613fb113aa6613b83f7005dd0b","src/benchmarks/geoname.rs":"00fab05cf9465cf8e22e143cde75a81885411001b240af00efda4071975d0563","src/benchmarks/ingest.rs":"1f3b5eca704c51bc8f972e7a3492a518516461e5834f97a5f7d1855a048ab16b","src/benchmarks/mod.rs":"2c9a39b7a5144674d2475f4d7d69d77c4545f9aa5f123968cb32574e76f10b1a","src/benchmarks/query.rs":"d54946063e72cf98e7f46d94665c17c66af637774c2bb50cd5798dbe63d74f3c","src/bin/debug_ingestion_sizes.rs":"ce6e810be7b3fc19e826d75b622b82cfab5a1a99397a6d0833c2c4eebff2d364","src/config.rs":"0ca876e845841bb6429862c0904c82265003f53b55aea053fac60aed278586a7","src/db.rs":"04c04be4a71e1e671734147a0c153c7fb06254d7fe6aa016f64efd8a21826fe8","src/error.rs":"e2ef3ec0e0b2b8ecbb8f2f1717d4cb753af06913b8395d086b7643098ad100a7","src/fakespot.rs":"f501c9fe5296e7c130a9fcb532b861465717652cb5ef688230bc7a3b94df91b1","src/geoname.rs":"77376dbc7d06532a7797a93b863f150317df7f31d9200d375c8ea489ac8bee6f","src/lib.rs":"a4c0989a01a7c13184049c1f11bc7813cd3cbfb6354fcca1f5a7204e45a0dc9c","src/metrics.rs":"871f0d834efbbc9e26d61f66fa31f0021dcf41444746cd7c082f93ba9628e399","src/pocket.rs":"1316668840ec9b4ea886223921dc9d3b5a1731d1a5206c0b1089f2a6c45c1b7b","src/provider.rs":"e85d606e98a8ba37557072f91c6906b1a4d7c5586a9913bf3570ef25106b007f","src/query.rs":"66f229272c9245eb8ee0cab237071627aec599f145f64da8894bcaeb1ed7c6f9","src/rs.rs":"5d1501e2e6488310c11b14e312d6f2002b67ac7ce4055d6a91396a6336bbfbf6","src/schema.rs":"56a4da91b703000dce1399467cd10b6b5c1ab32b33c9ed7b1c928b4536b48546","src/store.rs":"0d9f11b622bf5f11653af78c69d74041969ae3296219719aec6f6c64348a2ee1","src/suggestion.rs":"bd4acd1d7f0bfd4ceebd52d44d4ea6ac639d32ef43819e217fbffaa9346b50f2","src/testing/client.rs":"47a32fd84c733001f11e8bfff94dc8c060b6b0780346dca5ddc7a5f5489c1d85","src/testing/data.rs":"5b1935946185f55be2383f2f979e966155825b1b9df7913d93eb50289052639c","src/testing/mod.rs":"34120abb160a913069c3f7df03c4f52815be3461dbbf08fb0fcc4251a517ba71","src/util.rs":"52c6ec405637afa2d1a89f29fbbb7dcc341546b6deb97d326c4490bbf8713cb0","src/weather.rs":"7cc9167dcdfca49d6ad91eba6fba4d5fd49f45052f25a7fe3ad6749d3e6783fb","src/yelp.rs":"0af54cdc96ad79a40a83687882561c3bbefdc45b6383aec380486c3b82df0690","uniffi.toml":"8205e4679ac26d53e70af0f85c013fd27cda1119f4322aebf5f2b9403d45a611"},"package":null} \ No newline at end of file +{"files":{"Cargo.toml":"922b2e4d85f325dbef99d5e439558a75dbfda82e1d263c2dd3bfadac9879df18","README.md":"5e28baf874b643d756228bdab345e287bf107d3182dfe6a18aafadcc4b9a3fc9","benches/benchmark_all.rs":"5909dfb1e62793afb1f2bc15b75914527a4d14fce6796307c04a309e45c0598c","metrics.yaml":"0540ab2271aeab7f07335c7ceec12acde942995f9dcb3c29070489aa61899d56","src/benchmarks/README.md":"ccee8dbddba8762d0453fa855bd6984137b224b8c019f3dd8e86a3c303f51d71","src/benchmarks/client.rs":"e5897d4e2eda06809fa6dc6db4e780b9ef266f613fb113aa6613b83f7005dd0b","src/benchmarks/geoname.rs":"00fab05cf9465cf8e22e143cde75a81885411001b240af00efda4071975d0563","src/benchmarks/ingest.rs":"1f3b5eca704c51bc8f972e7a3492a518516461e5834f97a5f7d1855a048ab16b","src/benchmarks/mod.rs":"24751c377f549ead6b6e1d46685c649f51303cc090f6374c93633f71dcf3cadf","src/benchmarks/query.rs":"d54946063e72cf98e7f46d94665c17c66af637774c2bb50cd5798dbe63d74f3c","src/bin/debug_ingestion_sizes.rs":"ce6e810be7b3fc19e826d75b622b82cfab5a1a99397a6d0833c2c4eebff2d364","src/config.rs":"0ca876e845841bb6429862c0904c82265003f53b55aea053fac60aed278586a7","src/db.rs":"04c04be4a71e1e671734147a0c153c7fb06254d7fe6aa016f64efd8a21826fe8","src/error.rs":"e2ef3ec0e0b2b8ecbb8f2f1717d4cb753af06913b8395d086b7643098ad100a7","src/fakespot.rs":"f501c9fe5296e7c130a9fcb532b861465717652cb5ef688230bc7a3b94df91b1","src/geoname.rs":"77376dbc7d06532a7797a93b863f150317df7f31d9200d375c8ea489ac8bee6f","src/lib.rs":"a4c0989a01a7c13184049c1f11bc7813cd3cbfb6354fcca1f5a7204e45a0dc9c","src/metrics.rs":"871f0d834efbbc9e26d61f66fa31f0021dcf41444746cd7c082f93ba9628e399","src/pocket.rs":"1316668840ec9b4ea886223921dc9d3b5a1731d1a5206c0b1089f2a6c45c1b7b","src/provider.rs":"cf00114a4293a4c9d956efffb8a6859f3568ea0e4868c6b63b8273daca69b0d5","src/query.rs":"66f229272c9245eb8ee0cab237071627aec599f145f64da8894bcaeb1ed7c6f9","src/rs.rs":"37cce2cb0068421f6b40e13f3bcb1f6212acee2f7117759cd095d381b25580f8","src/schema.rs":"56a4da91b703000dce1399467cd10b6b5c1ab32b33c9ed7b1c928b4536b48546","src/store.rs":"b9da68feba614d5df598bfb9facda115aa2aadda1c6f8374c340bada27311876","src/suggestion.rs":"bd4acd1d7f0bfd4ceebd52d44d4ea6ac639d32ef43819e217fbffaa9346b50f2","src/testing/client.rs":"47a32fd84c733001f11e8bfff94dc8c060b6b0780346dca5ddc7a5f5489c1d85","src/testing/data.rs":"5b1935946185f55be2383f2f979e966155825b1b9df7913d93eb50289052639c","src/testing/mod.rs":"34120abb160a913069c3f7df03c4f52815be3461dbbf08fb0fcc4251a517ba71","src/util.rs":"52c6ec405637afa2d1a89f29fbbb7dcc341546b6deb97d326c4490bbf8713cb0","src/weather.rs":"7cc9167dcdfca49d6ad91eba6fba4d5fd49f45052f25a7fe3ad6749d3e6783fb","src/yelp.rs":"0b9dfa698d9c3162d47c0103d1799838d444345f9d7f943eedc6bcc98fd8b57d","uniffi.toml":"8205e4679ac26d53e70af0f85c013fd27cda1119f4322aebf5f2b9403d45a611"},"package":null} \ No newline at end of file diff --git a/third_party/rust/suggest/src/benchmarks/mod.rs b/third_party/rust/suggest/src/benchmarks/mod.rs index 13ab4ed787b2..31a897bc8e40 100644 --- a/third_party/rust/suggest/src/benchmarks/mod.rs +++ b/third_party/rust/suggest/src/benchmarks/mod.rs @@ -67,14 +67,6 @@ fn unique_db_filename() -> String { format!("db{}.sqlite", COUNTER.fetch_add(1, Ordering::Relaxed)) } -fn unique_remote_settings_dir() -> String { - static COUNTER: AtomicU32 = AtomicU32::new(0); - format!( - "remote-settings-{}", - COUNTER.fetch_add(1, Ordering::Relaxed) - ) -} - // Create a "starter" store that will do an initial ingest, and then // initialize every returned store with a copy of its DB so that each one // doesn't need to reingest. @@ -87,17 +79,15 @@ fn new_store() -> SuggestStore { let (starter_dir, starter_db_path) = starter.get_or_insert_with(|| { let temp_dir = tempfile::tempdir().unwrap(); let db_path = temp_dir.path().join(unique_db_filename()); - let remote_settings_dir = temp_dir.path().join(unique_remote_settings_dir()); let rs_config = RemoteSettingsConfig2 { bucket_name: None, server: None, app_context: Some(RemoteSettingsContext::default()), }; - let remote_settings_service = Arc::new(RemoteSettingsService::new( - remote_settings_dir.to_string_lossy().to_string(), - rs_config, - )); - let store = SuggestStore::new(&db_path.to_string_lossy(), remote_settings_service); + let remote_settings_service = + Arc::new(RemoteSettingsService::new("".to_string(), rs_config)); + let store = SuggestStore::new(&db_path.to_string_lossy(), remote_settings_service) + .expect("Error building store"); store .ingest(SuggestIngestionConstraints::all_providers()) .expect("Error during ingestion"); @@ -114,6 +104,7 @@ fn new_store() -> SuggestStore { let remote_settings_service = Arc::new(RemoteSettingsService::new("".to_string(), rs_config)); std::fs::copy(starter_db_path, &db_path).expect("Error copying starter DB file"); SuggestStore::new(&db_path.to_string_lossy(), remote_settings_service) + .expect("Error building store") } /// Cleanup the temp directory created for SuggestStore instances used in the benchmarks. diff --git a/third_party/rust/suggest/src/provider.rs b/third_party/rust/suggest/src/provider.rs index 3ea579b09aee..0419cac6f326 100644 --- a/third_party/rust/suggest/src/provider.rs +++ b/third_party/rust/suggest/src/provider.rs @@ -228,7 +228,7 @@ pub enum AmpMatchingStrategy { /// Disable keywords added via keyword expansion. /// This eliminates keywords that for terms related to the "real" keywords, for example /// misspellings like "underarmor" instead of "under armor"'. - NoKeywordExpansion = 1, // The desktop consumer assumes this starts at `1` + NoKeywordExpansion, /// Use FTS matching against the full keywords, joined together. FtsAgainstFullKeywords, /// Use FTS matching against the title field diff --git a/third_party/rust/suggest/src/rs.rs b/third_party/rust/suggest/src/rs.rs index fcca61c87bc4..c5eacfdabc14 100644 --- a/third_party/rust/suggest/src/rs.rs +++ b/third_party/rust/suggest/src/rs.rs @@ -86,12 +86,12 @@ pub struct SuggestRemoteSettingsClient { } impl SuggestRemoteSettingsClient { - pub fn new(rs_service: &RemoteSettingsService) -> Self { - Self { - amp_client: rs_service.make_client(Collection::Amp.name().to_owned()), - other_client: rs_service.make_client(Collection::Other.name().to_owned()), - fakespot_client: rs_service.make_client(Collection::Fakespot.name().to_owned()), - } + pub fn new(rs_service: &RemoteSettingsService) -> Result { + Ok(Self { + amp_client: rs_service.make_client(Collection::Amp.name().to_owned())?, + other_client: rs_service.make_client(Collection::Other.name().to_owned())?, + fakespot_client: rs_service.make_client(Collection::Fakespot.name().to_owned())?, + }) } fn client_for_collection(&self, collection: Collection) -> &RemoteSettingsClient { diff --git a/third_party/rust/suggest/src/store.rs b/third_party/rust/suggest/src/store.rs index 8caf42687dc4..0e4c8c535251 100644 --- a/third_party/rust/suggest/src/store.rs +++ b/third_party/rust/suggest/src/store.rs @@ -122,7 +122,7 @@ impl SuggestStoreBuilder { inner: SuggestStoreInner::new( data_path, extensions_to_load, - SuggestRemoteSettingsClient::new(&rs_service), + SuggestRemoteSettingsClient::new(&rs_service)?, ), })) } @@ -176,12 +176,16 @@ pub struct SuggestStore { #[uniffi::export] impl SuggestStore { /// Creates a Suggest store. + #[handle_error(Error)] #[uniffi::constructor()] - pub fn new(path: &str, remote_settings_service: Arc) -> Self { - let client = SuggestRemoteSettingsClient::new(&remote_settings_service); - Self { + pub fn new( + path: &str, + remote_settings_service: Arc, + ) -> SuggestApiResult { + let client = SuggestRemoteSettingsClient::new(&remote_settings_service)?; + Ok(Self { inner: SuggestStoreInner::new(path.to_owned(), vec![], client), - } + }) } /// Queries the database for suggestions. @@ -1935,21 +1939,9 @@ pub(crate) mod tests { "https://www.yelp.com/search?find_desc=ramen+super+delivery&find_loc=tokyo" ),], ); - assert_eq!( - store.fetch_suggestions(SuggestionQuery::yelp("ramen invalid_delivery")), - vec![ramen_suggestion( - "ramen invalid_delivery", - "https://www.yelp.com/search?find_desc=ramen&find_loc=invalid_delivery" - ) - .has_location_sign(false),], - ); assert_eq!( store.fetch_suggestions(SuggestionQuery::yelp("ramen invalid_delivery in tokyo")), - vec![ramen_suggestion( - "ramen invalid_delivery in tokyo", - "https://www.yelp.com/search?find_desc=ramen&find_loc=invalid_delivery+in+tokyo" - ) - .has_location_sign(false),], + vec![], ); assert_eq!( store.fetch_suggestions(SuggestionQuery::yelp("ramen in tokyo")), @@ -1967,11 +1959,7 @@ pub(crate) mod tests { ); assert_eq!( store.fetch_suggestions(SuggestionQuery::yelp("ramen invalid_in tokyo")), - vec![ramen_suggestion( - "ramen invalid_in tokyo", - "https://www.yelp.com/search?find_desc=ramen&find_loc=invalid_in+tokyo" - ) - .has_location_sign(false),], + vec![], ); assert_eq!( store.fetch_suggestions(SuggestionQuery::yelp("ramen in San Francisco")), @@ -1991,22 +1979,21 @@ pub(crate) mod tests { store.fetch_suggestions(SuggestionQuery::yelp("ramen near by")), vec![ramen_suggestion( "ramen near by", - "https://www.yelp.com/search?find_desc=ramen" - )], + "https://www.yelp.com/search?find_desc=ramen+near+by" + ) + .has_location_sign(false),], ); assert_eq!( store.fetch_suggestions(SuggestionQuery::yelp("ramen near me")), vec![ramen_suggestion( "ramen near me", - "https://www.yelp.com/search?find_desc=ramen" - )], + "https://www.yelp.com/search?find_desc=ramen+near+me" + ) + .has_location_sign(false),], ); assert_eq!( store.fetch_suggestions(SuggestionQuery::yelp("ramen near by tokyo")), - vec![ramen_suggestion( - "ramen near by tokyo", - "https://www.yelp.com/search?find_desc=ramen&find_loc=tokyo" - )], + vec![], ); assert_eq!( store.fetch_suggestions(SuggestionQuery::yelp("ramen")), @@ -2094,15 +2081,6 @@ pub(crate) mod tests { .has_location_sign(false) .subject_exact_match(false)], ); - assert_eq!( - store.fetch_suggestions(SuggestionQuery::yelp("spi")), - vec![ramen_suggestion( - "spicy ramen", - "https://www.yelp.com/search?find_desc=spicy+ramen" - ) - .has_location_sign(false) - .subject_exact_match(false)], - ); assert_eq!( store.fetch_suggestions(SuggestionQuery::yelp("BeSt Ramen")), vec![ramen_suggestion( @@ -2162,51 +2140,6 @@ pub(crate) mod tests { .has_location_sign(false) .subject_exact_match(false)], ); - assert_eq!( - store.fetch_suggestions(SuggestionQuery::yelp("best sp")), - vec![ramen_suggestion( - "best spicy ramen", - "https://www.yelp.com/search?find_desc=best+spicy+ramen" - ) - .has_location_sign(false) - .subject_exact_match(false)], - ); - assert_eq!( - store.fetch_suggestions(SuggestionQuery::yelp("ramenabc")), - vec![], - ); - assert_eq!( - store.fetch_suggestions(SuggestionQuery::yelp("ramenabc xyz")), - vec![], - ); - assert_eq!( - store.fetch_suggestions(SuggestionQuery::yelp("best ramenabc")), - vec![], - ); - assert_eq!( - store.fetch_suggestions(SuggestionQuery::yelp("bestabc ra")), - vec![], - ); - assert_eq!( - store.fetch_suggestions(SuggestionQuery::yelp("bestabc ramen")), - vec![], - ); - assert_eq!( - store.fetch_suggestions(SuggestionQuery::yelp("bestabc ramen xyz")), - vec![], - ); - assert_eq!( - store.fetch_suggestions(SuggestionQuery::yelp("best spi ram")), - vec![], - ); - assert_eq!( - store.fetch_suggestions(SuggestionQuery::yelp("bes ram")), - vec![], - ); - assert_eq!( - store.fetch_suggestions(SuggestionQuery::yelp("bes ramen")), - vec![], - ); Ok(()) } diff --git a/third_party/rust/suggest/src/yelp.rs b/third_party/rust/suggest/src/yelp.rs index 9ae00479be3d..442985ed1310 100644 --- a/third_party/rust/suggest/src/yelp.rs +++ b/third_party/rust/suggest/src/yelp.rs @@ -30,12 +30,6 @@ impl ToSql for Modifier { } } -#[derive(Clone, Copy, Eq, PartialEq)] -enum FindFrom { - First, - Last, -} - /// This module assumes like following query. /// "Yelp-modifier? Pre-modifier? Subject Post-modifier? (Location-modifier | Location-sign Location?)? Yelp-modifier?" /// For example, the query below is valid. @@ -53,11 +47,6 @@ const MAX_QUERY_LENGTH: usize = 150; /// "keyword=:modifier" (please see is_modifier()), define this how many words we should check. const MAX_MODIFIER_WORDS_NUMBER: usize = 2; -/// The max number of words consisting the location sign. To improve the SQL performance by matching -/// with "keyword=:modifier" (please see is_location_sign()), define this how many words we should -/// check. -const MAX_LOCATION_SIGN_WORDS_NUMBER: usize = 2; - /// At least this many characters must be typed for a subject to be matched. const SUBJECT_PREFIX_MATCH_THRESHOLD: usize = 2; @@ -153,57 +142,62 @@ impl SuggestDao<'_> { return Ok(vec![]); } - let query_vec: Vec<_> = query.keyword.split_whitespace().collect(); - let mut query_words: &[&str] = &query_vec; - - let pre_yelp_modifier_tuple = - self.find_modifier(query_words, Modifier::Yelp, FindFrom::First)?; - if let Some((_, rest)) = pre_yelp_modifier_tuple { - query_words = rest; + let query_string = &query.keyword.trim(); + if !query_string.contains(' ') { + let Some((subject, subject_exact_match)) = self.find_subject(query_string)? else { + return Ok(vec![]); + }; + let (icon, icon_mimetype, score) = self.fetch_custom_details()?; + let builder = SuggestionBuilder { + subject: &subject, + subject_exact_match, + pre_modifier: None, + post_modifier: None, + location_sign: None, + location: None, + need_location: false, + icon, + icon_mimetype, + score, + }; + return Ok(vec![builder.into()]); } - let pre_modifier_tuple = self.find_modifier(query_words, Modifier::Pre, FindFrom::First)?; - if let Some((_, rest)) = pre_modifier_tuple { - query_words = rest; - } + // Find the yelp keyword modifier and remove them from the query. + let (query_without_yelp_modifiers, _, _) = + self.find_modifiers(query_string, Modifier::Yelp, Modifier::Yelp)?; - let Some(subject_tuple) = self.find_subject(query_words)? else { + // Find the location sign and the location. + let (query_without_location, location_sign, location, need_location) = + self.find_location(&query_without_yelp_modifiers)?; + + if let (Some(_), false) = (&location, need_location) { + // The location sign does not need the specific location, but user is setting something. return Ok(vec![]); - }; - query_words = subject_tuple.2; - - let post_modifier_tuple = - self.find_modifier(query_words, Modifier::Post, FindFrom::First)?; - if let Some((_, rest)) = post_modifier_tuple { - query_words = rest; } - let location_sign_tuple = self.find_location_sign(query_words)?; - if let Some((_, rest)) = location_sign_tuple { - query_words = rest; + if query_without_location.is_empty() { + // No remained query. + return Ok(vec![]); } - let post_yelp_modifier_tuple = - self.find_modifier(query_words, Modifier::Yelp, FindFrom::Last)?; - if let Some((_, rest)) = post_yelp_modifier_tuple { - query_words = rest; - } + // Find the modifiers. + let (subject_candidate, pre_modifier, post_modifier) = + self.find_modifiers(&query_without_location, Modifier::Pre, Modifier::Post)?; - let location = if query_words.is_empty() { - None - } else { - Some(query_words.join(" ")) + let Some((subject, subject_exact_match)) = self.find_subject(&subject_candidate)? else { + return Ok(vec![]); }; let (icon, icon_mimetype, score) = self.fetch_custom_details()?; let builder = SuggestionBuilder { - subject: &subject_tuple.0, - subject_exact_match: subject_tuple.1, - pre_modifier: pre_modifier_tuple.map(|(words, _)| words.to_string()), - post_modifier: post_modifier_tuple.map(|(words, _)| words.to_string()), - need_location: location_sign_tuple.is_some() || location.is_some(), - location_sign: location_sign_tuple.map(|(words, _)| words.to_string()), + subject: &subject, + subject_exact_match, + pre_modifier, + post_modifier, + location_sign, location, + need_location, icon, icon_mimetype, score, @@ -211,169 +205,6 @@ impl SuggestDao<'_> { Ok(vec![builder.into()]) } - /// Find the modifier for given query and modifier type. - /// Find from last word, if set FindFrom::Last to find_from. - /// It returns Option as follows: - /// ( - /// String: The keyword in DB (but the case is inherited by query). - /// &[&str]: Words after removed matching modifier. - /// ) - fn find_modifier<'a>( - &self, - query_words: &'a [&'a str], - modifier_type: Modifier, - find_from: FindFrom, - ) -> Result> { - if query_words.is_empty() { - return Ok(None); - } - - for n in (1..=std::cmp::min(MAX_MODIFIER_WORDS_NUMBER, query_words.len())).rev() { - let Some((candidate_chunk, rest)) = (match find_from { - FindFrom::First => query_words.split_at_checked(n), - FindFrom::Last => query_words - .split_at_checked(query_words.len() - n) - .map(|(front, back)| (back, front)), - }) else { - continue; - }; - - let candidate = candidate_chunk.join(" "); - - if self.conn.query_row_and_then_cachable( - " - SELECT EXISTS ( - SELECT 1 FROM yelp_modifiers WHERE type = :type AND keyword = :word LIMIT 1 - ) - ", - named_params! { - ":type": modifier_type, - ":word": candidate.to_lowercase(), - }, - |row| row.get::<_, bool>(0), - true, - )? { - return Ok(Some((candidate, rest))); - } - } - - Ok(None) - } - - /// Find the subject for given query. - /// It returns Option as follows: - /// ( - /// String: The keyword in DB (but the case is inherited by query). - /// bool: Whether or not the keyword is exact match. - /// &[&str]: Words after removed matching subject. - /// ) - fn find_subject<'a>( - &self, - query_words: &'a [&'a str], - ) -> Result> { - if query_words.is_empty() { - return Ok(None); - } - - let mut query_string = query_words.join(" "); - - // This checks if keyword is a substring of the query. - if let Some(keyword_lowercase) = self.conn.try_query_one::( - "SELECT keyword - FROM yelp_subjects - WHERE :query BETWEEN keyword AND keyword || ' ' || x'FFFF' - ORDER BY LENGTH(keyword) ASC, keyword ASC - LIMIT 1", - named_params! { - ":query": query_string.to_lowercase(), - }, - true, - )? { - // Preserve the query as the user typed it including its case. - return Ok(query_string.get(0..keyword_lowercase.len()).map(|keyword| { - let count = keyword.split_whitespace().count(); - ( - keyword.to_string(), - true, - query_words.get(count..).unwrap_or_default(), - ) - })); - }; - - if query_string.len() < SUBJECT_PREFIX_MATCH_THRESHOLD { - return Ok(None); - } - - // Oppositely, this checks if the query is a substring of keyword. - if let Some(keyword_lowercase) = self.conn.try_query_one::( - "SELECT keyword - FROM yelp_subjects - WHERE keyword BETWEEN :query AND :query || x'FFFF' - ORDER BY LENGTH(keyword) ASC, keyword ASC - LIMIT 1", - named_params! { - ":query": query_string.to_lowercase(), - }, - true, - )? { - // Preserve the query as the user typed it including its case. - return Ok(keyword_lowercase - .get(query_string.len()..) - .map(|keyword_rest| { - query_string.push_str(keyword_rest); - let count = - std::cmp::min(query_words.len(), query_string.split_whitespace().count()); - ( - query_string, - false, - query_words.get(count..).unwrap_or_default(), - ) - })); - }; - - Ok(None) - } - - /// Find the location sign for given query. - /// It returns Option as follows: - /// ( - /// String: The keyword in DB (but the case is inherited by query). - /// &[&str]: Words after removed matching location sign. - /// ) - fn find_location_sign<'a>( - &self, - query_words: &'a [&'a str], - ) -> Result> { - if query_words.is_empty() { - return Ok(None); - } - - for n in (1..=std::cmp::min(MAX_LOCATION_SIGN_WORDS_NUMBER, query_words.len())).rev() { - let Some((candidate_chunk, rest)) = query_words.split_at_checked(n) else { - continue; - }; - - let candidate = candidate_chunk.join(" "); - - if self.conn.query_row_and_then_cachable( - " - SELECT EXISTS ( - SELECT 1 FROM yelp_location_signs WHERE keyword = :word LIMIT 1 - ) - ", - named_params! { - ":word": candidate.to_lowercase(), - }, - |row| row.get::<_, bool>(0), - true, - )? { - return Ok(Some((candidate, rest))); - } - } - - Ok(None) - } - /// Fetch the custom details for Yelp suggestions. /// It returns the location tuple as follows: /// ( @@ -413,6 +244,202 @@ impl SuggestDao<'_> { Ok(result) } + + /// Find the location information from the given query string. + /// It returns the location tuple as follows: + /// ( + /// String: Query string that is removed found location information. + /// Option: Location sign found in yelp_location_signs table. If not found, returns None. + /// Option: Specific location name after location sign. If not found, returns None. + /// bool: Reflects need_location field in the table. + /// ) + fn find_location(&self, query: &str) -> Result<(String, Option, Option, bool)> { + let query_with_spaces = format!(" {} ", query); + let mut results: Vec<(usize, usize, i8)> = self.conn.query_rows_and_then_cached( + " + SELECT + INSTR(:query, ' ' || keyword || ' ') AS sign_index, + LENGTH(keyword) AS sign_length, + need_location + FROM yelp_location_signs + WHERE + sign_index > 0 + ORDER BY + sign_length DESC + LIMIT 1 + ", + named_params! { + ":query": &query_with_spaces.to_lowercase(), + }, + |row| -> Result<_> { + Ok(( + row.get::<_, usize>("sign_index")?, + row.get::<_, usize>("sign_length")?, + row.get::<_, i8>("need_location")?, + )) + }, + )?; + + let (sign_index, sign_length, need_location) = if let Some(res) = results.pop() { + res + } else { + return Ok((query.trim().to_string(), None, None, false)); + }; + + let pre_location = query_with_spaces + .get(..sign_index) + .map(str::trim) + .map(str::to_string) + .unwrap_or_default(); + let location_sign = query_with_spaces + .get(sign_index..sign_index + sign_length) + .map(str::trim) + .filter(|s| !s.is_empty()) + .map(str::to_string); + let location = query_with_spaces + .get(sign_index + sign_length..) + .map(str::trim) + .filter(|s| !s.is_empty()) + .map(str::to_string); + + Ok((pre_location, location_sign, location, need_location == 1)) + } + + /// Find the pre/post modifier from the given query string. + /// It returns the modifiers tuple as follows: + /// ( + /// String: Query string that is removed found the modifiers. + /// Option: Pre-modifier found in the yelp_modifiers table. If not found, returns None. + /// Option: Post-modifier found in the yelp_modifiers table. If not found, returns None. + /// ) + fn find_modifiers( + &self, + query: &str, + pre_modifier_type: Modifier, + post_modifier_type: Modifier, + ) -> Result<(String, Option, Option)> { + if !query.contains(' ') { + return Ok((query.to_string(), None, None)); + } + + let words: Vec<_> = query.split_whitespace().collect(); + + let mut pre_modifier = None; + for n in (1..=MAX_MODIFIER_WORDS_NUMBER).rev() { + let mut candidate_chunks = words.chunks(n); + let candidate = candidate_chunks.next().unwrap_or(&[""]).join(" "); + if self.is_modifier(&candidate, pre_modifier_type)? { + pre_modifier = Some(candidate); + break; + } + } + + let mut post_modifier = None; + for n in (1..=MAX_MODIFIER_WORDS_NUMBER).rev() { + let mut candidate_chunks = words.rchunks(n); + let candidate = candidate_chunks.next().unwrap_or(&[""]).join(" "); + if self.is_modifier(&candidate, post_modifier_type)? { + post_modifier = Some(candidate); + break; + } + } + + let mut without_modifiers = query; + if let Some(ref modifier) = pre_modifier { + without_modifiers = &without_modifiers[modifier.len()..]; + } + if let Some(ref modifier) = post_modifier { + without_modifiers = &without_modifiers[..without_modifiers.len() - modifier.len()]; + } + + Ok(( + without_modifiers.trim().to_string(), + pre_modifier, + post_modifier, + )) + } + + /// Find the subject from the given string. + /// It returns the Option. If it is not none, it contains the tuple as follows: + /// ( + /// String: Subject. + /// bool: Whether the subject matched exactly with the parameter. + /// ) + fn find_subject(&self, candidate: &str) -> Result> { + if candidate.is_empty() { + return Ok(None); + } + + // If the length of subject candidate is less than + // SUBJECT_PREFIX_MATCH_THRESHOLD, should exact match. + if candidate.len() < SUBJECT_PREFIX_MATCH_THRESHOLD { + return Ok(if self.is_subject(candidate)? { + Some((candidate.to_string(), true)) + } else { + None + }); + } + + // Otherwise, apply prefix-match. + Ok( + match self.conn.query_row_and_then_cachable( + "SELECT keyword + FROM yelp_subjects + WHERE keyword BETWEEN :candidate AND :candidate || x'FFFF' + ORDER BY LENGTH(keyword) ASC, keyword ASC + LIMIT 1", + named_params! { + ":candidate": candidate.to_lowercase(), + }, + |row| row.get::<_, String>(0), + true, + ) { + Ok(keyword) => { + debug_assert!(candidate.len() <= keyword.len()); + Some(( + format!("{}{}", candidate, &keyword[candidate.len()..]), + candidate.len() == keyword.len(), + )) + } + Err(_) => None, + }, + ) + } + + fn is_modifier(&self, word: &str, modifier_type: Modifier) -> Result { + let result = self.conn.query_row_and_then_cachable( + " + SELECT EXISTS ( + SELECT 1 FROM yelp_modifiers WHERE type = :type AND keyword = :word LIMIT 1 + ) + ", + named_params! { + ":type": modifier_type, + ":word": word.to_lowercase(), + }, + |row| row.get::<_, bool>(0), + true, + )?; + + Ok(result) + } + + fn is_subject(&self, word: &str) -> Result { + let result = self.conn.query_row_and_then_cachable( + " + SELECT EXISTS ( + SELECT 1 FROM yelp_subjects WHERE keyword = :word LIMIT 1 + ) + ", + named_params! { + ":word": word.to_lowercase(), + }, + |row| row.get::<_, bool>(0), + true, + )?; + + Ok(result) + } } struct SuggestionBuilder<'a> { @@ -482,218 +509,3 @@ impl<'a> From> for Suggestion { } } } - -#[cfg(test)] -mod tests { - use super::*; - - use crate::{store::tests::TestStore, testing::*, SuggestIngestionConstraints}; - - #[test] - fn yelp_functions() -> anyhow::Result<()> { - before_each(); - - let store = TestStore::new( - MockRemoteSettingsClient::default() - .with_record(SuggestionProvider::Yelp.record("data-4", json!([ramen_yelp()]))) - .with_record(SuggestionProvider::Yelp.icon(yelp_favicon())), - ); - - store.ingest(SuggestIngestionConstraints { - providers: Some(vec![SuggestionProvider::Yelp]), - ..SuggestIngestionConstraints::all_providers() - }); - - store.read(|dao| { - type FindModifierTestCase<'a> = - (&'a str, Modifier, FindFrom, Option<(String, &'a [&'a str])>); - let find_modifer_tests: &[FindModifierTestCase] = &[ - // Query, Modifier, FindFrom, Expected result. - ("", Modifier::Pre, FindFrom::First, None), - ("", Modifier::Post, FindFrom::First, None), - ("", Modifier::Yelp, FindFrom::First, None), - // Single word modifier. - ("b", Modifier::Pre, FindFrom::First, None), - ("be", Modifier::Pre, FindFrom::First, None), - ("bes", Modifier::Pre, FindFrom::First, None), - ( - "best", - Modifier::Pre, - FindFrom::First, - Some(("best".to_string(), &[])), - ), - ( - "best ", - Modifier::Pre, - FindFrom::First, - Some(("best".to_string(), &[])), - ), - ( - "best r", - Modifier::Pre, - FindFrom::First, - Some(("best".to_string(), &["r"])), - ), - ( - "best ramen", - Modifier::Pre, - FindFrom::First, - Some(("best".to_string(), &["ramen"])), - ), - ( - "best spicy ramen", - Modifier::Pre, - FindFrom::First, - Some(("best".to_string(), &["spicy", "ramen"])), - ), - ( - "delivery", - Modifier::Post, - FindFrom::First, - Some(("delivery".to_string(), &[])), - ), - ( - "yelp", - Modifier::Yelp, - FindFrom::First, - Some(("yelp".to_string(), &[])), - ), - ( - "same_modifier", - Modifier::Pre, - FindFrom::First, - Some(("same_modifier".to_string(), &[])), - ), - ( - "same_modifier", - Modifier::Post, - FindFrom::First, - Some(("same_modifier".to_string(), &[])), - ), - ("same_modifier", Modifier::Yelp, FindFrom::First, None), - // Multiple word modifier. - ("super", Modifier::Pre, FindFrom::First, None), - ("super b", Modifier::Pre, FindFrom::First, None), - ("super be", Modifier::Pre, FindFrom::First, None), - ("super bes", Modifier::Pre, FindFrom::First, None), - ( - "super best", - Modifier::Pre, - FindFrom::First, - Some(("super best".to_string(), &[])), - ), - ( - "super best ramen", - Modifier::Pre, - FindFrom::First, - Some(("super best".to_string(), &["ramen"])), - ), - ( - "super delivery", - Modifier::Post, - FindFrom::First, - Some(("super delivery".to_string(), &[])), - ), - ( - "yelp keyword", - Modifier::Yelp, - FindFrom::First, - Some(("yelp keyword".to_string(), &[])), - ), - // Different modifier or findfrom. - ("best ramen", Modifier::Post, FindFrom::First, None), - ("best ramen", Modifier::Yelp, FindFrom::First, None), - ("best ramen", Modifier::Pre, FindFrom::Last, None), - ( - "ramen best", - Modifier::Pre, - FindFrom::Last, - Some(("best".to_string(), &["ramen"])), - ), - // Keywords similar to modifire. - ("bestabc", Modifier::Post, FindFrom::First, None), - ("bestabc ramen", Modifier::Post, FindFrom::First, None), - // Keep chars case. - ( - "BeSt SpIcY rAmEn", - Modifier::Pre, - FindFrom::First, - Some(("BeSt".to_string(), &["SpIcY", "rAmEn"])), - ), - ( - "SpIcY rAmEn DeLiVeRy", - Modifier::Post, - FindFrom::Last, - Some(("DeLiVeRy".to_string(), &["SpIcY", "rAmEn"])), - ), - ]; - for (query, modifier, findfrom, expected) in find_modifer_tests { - assert_eq!( - dao.find_modifier( - &query.split_whitespace().collect::>(), - *modifier, - *findfrom - )?, - *expected - ); - } - - type FindSubjectTestCase<'a> = (&'a str, Option<(String, bool, &'a [&'a str])>); - let find_subject_tests: &[FindSubjectTestCase] = &[ - // Query, Expected result. - ("", None), - ("r", None), - ("ra", Some(("rats".to_string(), false, &[]))), - ("ram", Some(("ramen".to_string(), false, &[]))), - ("rame", Some(("ramen".to_string(), false, &[]))), - ("ramen", Some(("ramen".to_string(), true, &[]))), - ("spi", Some(("spicy ramen".to_string(), false, &[]))), - ("spicy ra ", Some(("spicy ramen".to_string(), false, &[]))), - ("spicy ramen", Some(("spicy ramen".to_string(), true, &[]))), - ( - "spicy ramen gogo", - Some(("spicy ramen".to_string(), true, &["gogo"])), - ), - ( - "SpIcY rAmEn GoGo", - Some(("SpIcY rAmEn".to_string(), true, &["GoGo"])), - ), - ("ramenabc", None), - ("ramenabc xyz", None), - ("spicy ramenabc", None), - ("spicy ramenabc xyz", None), - ("ramen abc", Some(("ramen".to_string(), true, &["abc"]))), - ]; - for (query, expected) in find_subject_tests { - assert_eq!( - dao.find_subject(&query.split_whitespace().collect::>())?, - *expected - ); - } - - type FindLocationSignTestCase<'a> = (&'a str, Option<(String, &'a [&'a str])>); - let find_location_sign_tests: &[FindLocationSignTestCase] = &[ - // Query, Expected result. - ("", None), - ("n", None), - ("ne", None), - ("nea", None), - ("near", Some(("near".to_string(), &[]))), - ("near ", Some(("near".to_string(), &[]))), - ("near b", Some(("near".to_string(), &["b"]))), - ("near by", Some(("near by".to_string(), &[]))), - ("near by a", Some(("near by".to_string(), &["a"]))), - ]; - for (query, expected) in find_location_sign_tests { - assert_eq!( - dao.find_location_sign(&query.split_whitespace().collect::>())?, - *expected - ); - } - - Ok(()) - })?; - - Ok(()) - } -} diff --git a/toolkit/components/contentrelevancy/ContentRelevancyManager.sys.mjs b/toolkit/components/contentrelevancy/ContentRelevancyManager.sys.mjs index 74454fcc57eb..003cd6ce2764 100644 --- a/toolkit/components/contentrelevancy/ContentRelevancyManager.sys.mjs +++ b/toolkit/components/contentrelevancy/ContentRelevancyManager.sys.mjs @@ -14,8 +14,6 @@ ChromeUtils.defineESModuleGetters(lazy, { Interest: "resource://gre/modules/RustRelevancy.sys.mjs", InterestVector: "resource://gre/modules/RustRelevancy.sys.mjs", RelevancyStore: "resource://gre/modules/RustRelevancy.sys.mjs", - RemoteSettingsConfig2: "resource://gre/modules/RustRemoteSettings.sys.mjs", - RemoteSettingsService: "resource://gre/modules/RustRemoteSettings.sys.mjs", score: "resource://gre/modules/RustRelevancy.sys.mjs", }); @@ -539,18 +537,7 @@ class RustRelevancyStoreManager { if (rustRelevancyStore === undefined) { rustRelevancyStore = lazy.RelevancyStore; } - // Initialize a RemoteSettingsService for the relevancy store - // TODO (1956519): consolidate this with the Suggest code and only create a single app-wide remote settings - // service. For now this duplication is okay though because we're not really shipping Relevancy -- it's only enabled via a - // pref. - const rsService = lazy.RemoteSettingsService.init( - PathUtils.join( - Services.dirsvc.get("ProfLD", Ci.nsIFile).path, - "remote-settings" - ), - new lazy.RemoteSettingsConfig2({}) - ); - this.#store = rustRelevancyStore.init(path, rsService); + this.#store = rustRelevancyStore.init(path); } get store() { diff --git a/toolkit/components/contentrelevancy/tests/xpcshell/test_ContentRelevancyManager.js b/toolkit/components/contentrelevancy/tests/xpcshell/test_ContentRelevancyManager.js index de432c10e4d0..0a35b89352da 100644 --- a/toolkit/components/contentrelevancy/tests/xpcshell/test_ContentRelevancyManager.js +++ b/toolkit/components/contentrelevancy/tests/xpcshell/test_ContentRelevancyManager.js @@ -61,8 +61,7 @@ add_task(function test_store_manager() { fakeRustRelevancyStore ); Assert.equal(fakeRustRelevancyStore.init.callCount, 1); - Assert.deepEqual(fakeRustRelevancyStore.init.firstCall.args[0], "test-path"); - // TODO (1956519): test that the second arg is the app-wide RemoteSettingsService + Assert.deepEqual(fakeRustRelevancyStore.init.firstCall.args, ["test-path"]); // store should throw before the manager is enabled Assert.throws(() => storeManager.store, /StoreDisabledError/); // Once the manager is enabled, store should return the RustRelevancyStore diff --git a/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustRelevancy.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustRelevancy.sys.mjs index 46ca2cafebcb..a5a10482f742 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustRelevancy.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustRelevancy.sys.mjs @@ -438,9 +438,9 @@ export class RelevancyStore { * This is non-blocking since databases and other resources are lazily opened. * @returns {RelevancyStore} */ - static init(dbPath,remoteSettings) { + static init(dbPath) { const liftResult = (result) => FfiConverterTypeRelevancyStore.lift(result); - const liftError = null; + const liftError = (data) => FfiConverterTypeRelevancyApiError.lift(data); const functionCall = () => { try { FfiConverterString.checkType(dbPath) @@ -450,18 +450,9 @@ export class RelevancyStore { } throw e; } - try { - FfiConverterTypeRemoteSettingsService.checkType(remoteSettings) - } catch (e) { - if (e instanceof UniFFITypeError) { - e.addItemDescriptionPart("remoteSettings"); - } - throw e; - } return UniFFIScaffolding.callSync( 12, // relevancy:uniffi_relevancy_fn_constructor_relevancystore_new FfiConverterString.lower(dbPath), - FfiConverterTypeRemoteSettingsService.lower(remoteSettings), ) } return handleRustResult(functionCall(), liftResult, liftError);} @@ -1957,13 +1948,7 @@ export class FfiConverterSequenceTypeInterest extends FfiConverterArrayBuffer { } } -import { - FfiConverterTypeRemoteSettingsService, - RemoteSettingsService, -} from "resource://gre/modules/RustRemoteSettings.sys.mjs"; -// Export the FFIConverter object to make external types work. -export { FfiConverterTypeRemoteSettingsService, RemoteSettingsService }; diff --git a/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustRemoteSettings.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustRemoteSettings.sys.mjs index 5c4b4b31c02f..619381a9394e 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustRemoteSettings.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustRemoteSettings.sys.mjs @@ -740,25 +740,6 @@ export class RemoteSettingsClient { } } - /** - * Shutdown the client, releasing the SQLite connection used to cache records. - */ - shutdown() { - const liftResult = (result) => undefined; - const liftError = null; - const functionCall = () => { - return UniFFIScaffolding.callAsyncWrapper( - 21, // remote_settings:uniffi_remote_settings_fn_method_remotesettingsclient_shutdown - FfiConverterTypeRemoteSettingsClient.lower(this), - ) - } - try { - return functionCall().then((result) => handleRustResult(result, liftResult, liftError)); - } catch (error) { - return Promise.reject(error) - } - } - /** * sync */ @@ -767,7 +748,7 @@ export class RemoteSettingsClient { const liftError = (data) => FfiConverterTypeRemoteSettingsError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 22, // remote_settings:uniffi_remote_settings_fn_method_remotesettingsclient_sync + 21, // remote_settings:uniffi_remote_settings_fn_method_remotesettingsclient_sync FfiConverterTypeRemoteSettingsClient.lower(this), ) } @@ -862,7 +843,7 @@ export class RemoteSettingsService { throw e; } return UniFFIScaffolding.callSync( - 26, // remote_settings:uniffi_remote_settings_fn_constructor_remotesettingsservice_new + 25, // remote_settings:uniffi_remote_settings_fn_constructor_remotesettingsservice_new FfiConverterString.lower(storageDir), FfiConverterTypeRemoteSettingsConfig2.lower(config), ) @@ -877,7 +858,7 @@ export class RemoteSettingsService { */ makeClient(collectionName) { const liftResult = (result) => FfiConverterTypeRemoteSettingsClient.lift(result); - const liftError = null; + const liftError = (data) => FfiConverterTypeRemoteSettingsError.lift(data); const functionCall = () => { try { FfiConverterString.checkType(collectionName) @@ -888,7 +869,7 @@ export class RemoteSettingsService { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 23, // remote_settings:uniffi_remote_settings_fn_method_remotesettingsservice_make_client + 22, // remote_settings:uniffi_remote_settings_fn_method_remotesettingsservice_make_client FfiConverterTypeRemoteSettingsService.lower(this), FfiConverterString.lower(collectionName), ) @@ -909,7 +890,7 @@ export class RemoteSettingsService { const liftError = (data) => FfiConverterTypeRemoteSettingsError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 24, // remote_settings:uniffi_remote_settings_fn_method_remotesettingsservice_sync + 23, // remote_settings:uniffi_remote_settings_fn_method_remotesettingsservice_sync FfiConverterTypeRemoteSettingsService.lower(this), ) } @@ -942,7 +923,7 @@ export class RemoteSettingsService { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 25, // remote_settings:uniffi_remote_settings_fn_method_remotesettingsservice_update_config + 24, // remote_settings:uniffi_remote_settings_fn_method_remotesettingsservice_update_config FfiConverterTypeRemoteSettingsService.lower(this), FfiConverterTypeRemoteSettingsConfig2.lower(config), ) diff --git a/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSearch.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSearch.sys.mjs index 20f8434c56ee..9fdbf0458fb6 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSearch.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSearch.sys.mjs @@ -396,7 +396,7 @@ export class SearchEngineSelector { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callSync( - 32, // search:uniffi_search_fn_constructor_searchengineselector_new + 31, // search:uniffi_search_fn_constructor_searchengineselector_new ) } return handleRustResult(functionCall(), liftResult, liftError);} @@ -411,7 +411,7 @@ export class SearchEngineSelector { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callSync( - 27, // search:uniffi_search_fn_method_searchengineselector_clear_search_config + 26, // search:uniffi_search_fn_method_searchengineselector_clear_search_config FfiConverterTypeSearchEngineSelector.lower(this), ) } @@ -437,7 +437,7 @@ export class SearchEngineSelector { throw e; } return UniFFIScaffolding.callSync( - 28, // search:uniffi_search_fn_method_searchengineselector_filter_engine_configuration + 27, // search:uniffi_search_fn_method_searchengineselector_filter_engine_configuration FfiConverterTypeSearchEngineSelector.lower(this), FfiConverterTypeSearchUserEnvironment.lower(userEnvironment), ) @@ -461,7 +461,7 @@ export class SearchEngineSelector { throw e; } return UniFFIScaffolding.callSync( - 29, // search:uniffi_search_fn_method_searchengineselector_set_config_overrides + 28, // search:uniffi_search_fn_method_searchengineselector_set_config_overrides FfiConverterTypeSearchEngineSelector.lower(this), FfiConverterString.lower(overrides), ) @@ -489,7 +489,7 @@ export class SearchEngineSelector { throw e; } return UniFFIScaffolding.callSync( - 30, // search:uniffi_search_fn_method_searchengineselector_set_search_config + 29, // search:uniffi_search_fn_method_searchengineselector_set_search_config FfiConverterTypeSearchEngineSelector.lower(this), FfiConverterString.lower(configuration), ) @@ -511,7 +511,7 @@ export class SearchEngineSelector { */ useRemoteSettingsServer(service,applyEngineOverrides) { const liftResult = (result) => undefined; - const liftError = null; + const liftError = (data) => FfiConverterTypeSearchApiError.lift(data); const functionCall = () => { try { FfiConverterTypeRemoteSettingsService.checkType(service) @@ -530,7 +530,7 @@ export class SearchEngineSelector { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 31, // search:uniffi_search_fn_method_searchengineselector_use_remote_settings_server + 30, // search:uniffi_search_fn_method_searchengineselector_use_remote_settings_server FfiConverterTypeSearchEngineSelector.lower(this), FfiConverterTypeRemoteSettingsService.lower(service), FfiConverterBool.lower(applyEngineOverrides), diff --git a/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSuggest.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSuggest.sys.mjs index 1c3b7437253c..df384ec3f8ee 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSuggest.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSuggest.sys.mjs @@ -532,7 +532,7 @@ export class SuggestStore { */ static init(path,remoteSettingsService) { const liftResult = (result) => FfiConverterTypeSuggestStore.lift(result); - const liftError = null; + const liftError = (data) => FfiConverterTypeSuggestApiError.lift(data); const functionCall = () => { try { FfiConverterString.checkType(path) @@ -551,7 +551,7 @@ export class SuggestStore { throw e; } return UniFFIScaffolding.callSync( - 49, // suggest:uniffi_suggest_fn_constructor_suggeststore_new + 48, // suggest:uniffi_suggest_fn_constructor_suggeststore_new FfiConverterString.lower(path), FfiConverterTypeRemoteSettingsService.lower(remoteSettingsService), ) @@ -567,7 +567,7 @@ export class SuggestStore { const liftError = (data) => FfiConverterTypeSuggestApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 34, // suggest:uniffi_suggest_fn_method_suggeststore_any_dismissed_suggestions + 33, // suggest:uniffi_suggest_fn_method_suggeststore_any_dismissed_suggestions FfiConverterTypeSuggestStore.lower(this), ) } @@ -586,7 +586,7 @@ export class SuggestStore { const liftError = (data) => FfiConverterTypeSuggestApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 35, // suggest:uniffi_suggest_fn_method_suggeststore_clear + 34, // suggest:uniffi_suggest_fn_method_suggeststore_clear FfiConverterTypeSuggestStore.lower(this), ) } @@ -605,7 +605,7 @@ export class SuggestStore { const liftError = (data) => FfiConverterTypeSuggestApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 36, // suggest:uniffi_suggest_fn_method_suggeststore_clear_dismissed_suggestions + 35, // suggest:uniffi_suggest_fn_method_suggeststore_clear_dismissed_suggestions FfiConverterTypeSuggestStore.lower(this), ) } @@ -638,7 +638,7 @@ export class SuggestStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 37, // suggest:uniffi_suggest_fn_method_suggeststore_dismiss_by_key + 36, // suggest:uniffi_suggest_fn_method_suggeststore_dismiss_by_key FfiConverterTypeSuggestStore.lower(this), FfiConverterString.lower(key), ) @@ -668,7 +668,7 @@ export class SuggestStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 38, // suggest:uniffi_suggest_fn_method_suggeststore_dismiss_by_suggestion + 37, // suggest:uniffi_suggest_fn_method_suggeststore_dismiss_by_suggestion FfiConverterTypeSuggestStore.lower(this), FfiConverterTypeSuggestion.lower(suggestion), ) @@ -701,7 +701,7 @@ export class SuggestStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 39, // suggest:uniffi_suggest_fn_method_suggeststore_dismiss_suggestion + 38, // suggest:uniffi_suggest_fn_method_suggeststore_dismiss_suggestion FfiConverterTypeSuggestStore.lower(this), FfiConverterString.lower(suggestionUrl), ) @@ -776,7 +776,7 @@ export class SuggestStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 40, // suggest:uniffi_suggest_fn_method_suggeststore_fetch_geonames + 39, // suggest:uniffi_suggest_fn_method_suggeststore_fetch_geonames FfiConverterTypeSuggestStore.lower(this), FfiConverterString.lower(query), FfiConverterBool.lower(matchNamePrefix), @@ -800,7 +800,7 @@ export class SuggestStore { const liftError = (data) => FfiConverterTypeSuggestApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 41, // suggest:uniffi_suggest_fn_method_suggeststore_fetch_global_config + 40, // suggest:uniffi_suggest_fn_method_suggeststore_fetch_global_config FfiConverterTypeSuggestStore.lower(this), ) } @@ -828,7 +828,7 @@ export class SuggestStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 42, // suggest:uniffi_suggest_fn_method_suggeststore_fetch_provider_config + 41, // suggest:uniffi_suggest_fn_method_suggeststore_fetch_provider_config FfiConverterTypeSuggestStore.lower(this), FfiConverterTypeSuggestionProvider.lower(provider), ) @@ -857,7 +857,7 @@ export class SuggestStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 43, // suggest:uniffi_suggest_fn_method_suggeststore_ingest + 42, // suggest:uniffi_suggest_fn_method_suggeststore_ingest FfiConverterTypeSuggestStore.lower(this), FfiConverterTypeSuggestIngestionConstraints.lower(constraints), ) @@ -889,7 +889,7 @@ export class SuggestStore { throw e; } return UniFFIScaffolding.callSync( - 44, // suggest:uniffi_suggest_fn_method_suggeststore_interrupt + 43, // suggest:uniffi_suggest_fn_method_suggeststore_interrupt FfiConverterTypeSuggestStore.lower(this), FfiConverterOptionalTypeInterruptKind.lower(kind), ) @@ -919,7 +919,7 @@ export class SuggestStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 45, // suggest:uniffi_suggest_fn_method_suggeststore_is_dismissed_by_key + 44, // suggest:uniffi_suggest_fn_method_suggeststore_is_dismissed_by_key FfiConverterTypeSuggestStore.lower(this), FfiConverterString.lower(key), ) @@ -952,7 +952,7 @@ export class SuggestStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 46, // suggest:uniffi_suggest_fn_method_suggeststore_is_dismissed_by_suggestion + 45, // suggest:uniffi_suggest_fn_method_suggeststore_is_dismissed_by_suggestion FfiConverterTypeSuggestStore.lower(this), FfiConverterTypeSuggestion.lower(suggestion), ) @@ -981,7 +981,7 @@ export class SuggestStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 47, // suggest:uniffi_suggest_fn_method_suggeststore_query + 46, // suggest:uniffi_suggest_fn_method_suggeststore_query FfiConverterTypeSuggestStore.lower(this), FfiConverterTypeSuggestionQuery.lower(query), ) @@ -1010,7 +1010,7 @@ export class SuggestStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 48, // suggest:uniffi_suggest_fn_method_suggeststore_query_with_metrics + 47, // suggest:uniffi_suggest_fn_method_suggeststore_query_with_metrics FfiConverterTypeSuggestStore.lower(this), FfiConverterTypeSuggestionQuery.lower(query), ) @@ -1081,7 +1081,7 @@ export class SuggestStoreBuilder { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callSync( - 57, // suggest:uniffi_suggest_fn_constructor_suggeststorebuilder_new + 56, // suggest:uniffi_suggest_fn_constructor_suggeststorebuilder_new ) } return handleRustResult(functionCall(), liftResult, liftError);} @@ -1095,7 +1095,7 @@ export class SuggestStoreBuilder { const liftError = (data) => FfiConverterTypeSuggestApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callSync( - 50, // suggest:uniffi_suggest_fn_method_suggeststorebuilder_build + 49, // suggest:uniffi_suggest_fn_method_suggeststorebuilder_build FfiConverterTypeSuggestStoreBuilder.lower(this), ) } @@ -1119,7 +1119,7 @@ export class SuggestStoreBuilder { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 51, // suggest:uniffi_suggest_fn_method_suggeststorebuilder_cache_path + 50, // suggest:uniffi_suggest_fn_method_suggeststorebuilder_cache_path FfiConverterTypeSuggestStoreBuilder.lower(this), FfiConverterString.lower(path), ) @@ -1148,7 +1148,7 @@ export class SuggestStoreBuilder { throw e; } return UniFFIScaffolding.callSync( - 52, // suggest:uniffi_suggest_fn_method_suggeststorebuilder_data_path + 51, // suggest:uniffi_suggest_fn_method_suggeststorebuilder_data_path FfiConverterTypeSuggestStoreBuilder.lower(this), FfiConverterString.lower(path), ) @@ -1185,7 +1185,7 @@ export class SuggestStoreBuilder { throw e; } return UniFFIScaffolding.callSync( - 53, // suggest:uniffi_suggest_fn_method_suggeststorebuilder_load_extension + 52, // suggest:uniffi_suggest_fn_method_suggeststorebuilder_load_extension FfiConverterTypeSuggestStoreBuilder.lower(this), FfiConverterString.lower(library), FfiConverterOptionalstring.lower(entryPoint), @@ -1211,7 +1211,7 @@ export class SuggestStoreBuilder { throw e; } return UniFFIScaffolding.callSync( - 54, // suggest:uniffi_suggest_fn_method_suggeststorebuilder_remote_settings_bucket_name + 53, // suggest:uniffi_suggest_fn_method_suggeststorebuilder_remote_settings_bucket_name FfiConverterTypeSuggestStoreBuilder.lower(this), FfiConverterString.lower(bucketName), ) @@ -1236,7 +1236,7 @@ export class SuggestStoreBuilder { throw e; } return UniFFIScaffolding.callSync( - 55, // suggest:uniffi_suggest_fn_method_suggeststorebuilder_remote_settings_server + 54, // suggest:uniffi_suggest_fn_method_suggeststorebuilder_remote_settings_server FfiConverterTypeSuggestStoreBuilder.lower(this), FfiConverterTypeRemoteSettingsServer.lower(server), ) @@ -1261,7 +1261,7 @@ export class SuggestStoreBuilder { throw e; } return UniFFIScaffolding.callSync( - 56, // suggest:uniffi_suggest_fn_method_suggeststorebuilder_remote_settings_service + 55, // suggest:uniffi_suggest_fn_method_suggeststorebuilder_remote_settings_service FfiConverterTypeSuggestStoreBuilder.lower(this), FfiConverterTypeRemoteSettingsService.lower(rsService), ) @@ -4305,7 +4305,7 @@ export function rawSuggestionUrlMatches(rawUrl,cookedUrl) { throw e; } return UniFFIScaffolding.callSync( - 33, // suggest:uniffi_suggest_fn_func_raw_suggestion_url_matches + 32, // suggest:uniffi_suggest_fn_func_raw_suggestion_url_matches FfiConverterString.lower(rawUrl), FfiConverterString.lower(cookedUrl), ) diff --git a/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustTabs.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustTabs.sys.mjs index e2b37e5cb596..972470f71664 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustTabs.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustTabs.sys.mjs @@ -448,7 +448,7 @@ export class RemoteCommandStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 58, // tabs:uniffi_tabs_fn_method_remotecommandstore_add_remote_command + 57, // tabs:uniffi_tabs_fn_method_remotecommandstore_add_remote_command FfiConverterTypeRemoteCommandStore.lower(this), FfiConverterString.lower(deviceId), FfiConverterTypeRemoteCommand.lower(command), @@ -494,7 +494,7 @@ export class RemoteCommandStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 59, // tabs:uniffi_tabs_fn_method_remotecommandstore_add_remote_command_at + 58, // tabs:uniffi_tabs_fn_method_remotecommandstore_add_remote_command_at FfiConverterTypeRemoteCommandStore.lower(this), FfiConverterString.lower(deviceId), FfiConverterTypeRemoteCommand.lower(command), @@ -517,7 +517,7 @@ export class RemoteCommandStore { const liftError = (data) => FfiConverterTypeTabsApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 60, // tabs:uniffi_tabs_fn_method_remotecommandstore_get_unsent_commands + 59, // tabs:uniffi_tabs_fn_method_remotecommandstore_get_unsent_commands FfiConverterTypeRemoteCommandStore.lower(this), ) } @@ -554,7 +554,7 @@ export class RemoteCommandStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 61, // tabs:uniffi_tabs_fn_method_remotecommandstore_remove_remote_command + 60, // tabs:uniffi_tabs_fn_method_remotecommandstore_remove_remote_command FfiConverterTypeRemoteCommandStore.lower(this), FfiConverterString.lower(deviceId), FfiConverterTypeRemoteCommand.lower(command), @@ -584,7 +584,7 @@ export class RemoteCommandStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 62, // tabs:uniffi_tabs_fn_method_remotecommandstore_set_pending_command_sent + 61, // tabs:uniffi_tabs_fn_method_remotecommandstore_set_pending_command_sent FfiConverterTypeRemoteCommandStore.lower(this), FfiConverterTypePendingCommand.lower(command), ) @@ -655,7 +655,7 @@ export class TabsBridgedEngine { const liftError = (data) => FfiConverterTypeTabsApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 63, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_apply + 62, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_apply FfiConverterTypeTabsBridgedEngine.lower(this), ) } @@ -683,7 +683,7 @@ export class TabsBridgedEngine { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 64, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_ensure_current_sync_id + 63, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_ensure_current_sync_id FfiConverterTypeTabsBridgedEngine.lower(this), FfiConverterString.lower(newSyncId), ) @@ -704,7 +704,7 @@ export class TabsBridgedEngine { const liftError = (data) => FfiConverterTypeTabsApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 65, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_last_sync + 64, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_last_sync FfiConverterTypeTabsBridgedEngine.lower(this), ) } @@ -731,7 +731,7 @@ export class TabsBridgedEngine { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 66, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_prepare_for_sync + 65, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_prepare_for_sync FfiConverterTypeTabsBridgedEngine.lower(this), FfiConverterString.lower(clientData), ) @@ -751,7 +751,7 @@ export class TabsBridgedEngine { const liftError = (data) => FfiConverterTypeTabsApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 67, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_reset + 66, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_reset FfiConverterTypeTabsBridgedEngine.lower(this), ) } @@ -771,7 +771,7 @@ export class TabsBridgedEngine { const liftError = (data) => FfiConverterTypeTabsApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 68, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_reset_sync_id + 67, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_reset_sync_id FfiConverterTypeTabsBridgedEngine.lower(this), ) } @@ -798,7 +798,7 @@ export class TabsBridgedEngine { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 69, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_set_last_sync + 68, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_set_last_sync FfiConverterTypeTabsBridgedEngine.lower(this), FfiConverterI64.lower(lastSync), ) @@ -834,7 +834,7 @@ export class TabsBridgedEngine { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 70, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_set_uploaded + 69, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_set_uploaded FfiConverterTypeTabsBridgedEngine.lower(this), FfiConverterI64.lower(newTimestamp), FfiConverterSequenceTypeTabsGuid.lower(uploadedIds), @@ -863,7 +863,7 @@ export class TabsBridgedEngine { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 71, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_store_incoming + 70, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_store_incoming FfiConverterTypeTabsBridgedEngine.lower(this), FfiConverterSequencestring.lower(incomingEnvelopesAsJson), ) @@ -883,7 +883,7 @@ export class TabsBridgedEngine { const liftError = (data) => FfiConverterTypeTabsApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 72, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_sync_finished + 71, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_sync_finished FfiConverterTypeTabsBridgedEngine.lower(this), ) } @@ -903,7 +903,7 @@ export class TabsBridgedEngine { const liftError = (data) => FfiConverterTypeTabsApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 73, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_sync_id + 72, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_sync_id FfiConverterTypeTabsBridgedEngine.lower(this), ) } @@ -922,7 +922,7 @@ export class TabsBridgedEngine { const liftError = (data) => FfiConverterTypeTabsApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 74, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_sync_started + 73, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_sync_started FfiConverterTypeTabsBridgedEngine.lower(this), ) } @@ -941,7 +941,7 @@ export class TabsBridgedEngine { const liftError = (data) => FfiConverterTypeTabsApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 75, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_wipe + 74, // tabs:uniffi_tabs_fn_method_tabsbridgedengine_wipe FfiConverterTypeTabsBridgedEngine.lower(this), ) } @@ -1016,7 +1016,7 @@ export class TabsStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 82, // tabs:uniffi_tabs_fn_constructor_tabsstore_new + 81, // tabs:uniffi_tabs_fn_constructor_tabsstore_new FfiConverterString.lower(path), ) } @@ -1035,7 +1035,7 @@ export class TabsStore { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 76, // tabs:uniffi_tabs_fn_method_tabsstore_bridged_engine + 75, // tabs:uniffi_tabs_fn_method_tabsstore_bridged_engine FfiConverterTypeTabsStore.lower(this), ) } @@ -1054,7 +1054,7 @@ export class TabsStore { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 77, // tabs:uniffi_tabs_fn_method_tabsstore_close_connection + 76, // tabs:uniffi_tabs_fn_method_tabsstore_close_connection FfiConverterTypeTabsStore.lower(this), ) } @@ -1074,7 +1074,7 @@ export class TabsStore { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 78, // tabs:uniffi_tabs_fn_method_tabsstore_get_all + 77, // tabs:uniffi_tabs_fn_method_tabsstore_get_all FfiConverterTypeTabsStore.lower(this), ) } @@ -1094,7 +1094,7 @@ export class TabsStore { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 79, // tabs:uniffi_tabs_fn_method_tabsstore_new_remote_command_store + 78, // tabs:uniffi_tabs_fn_method_tabsstore_new_remote_command_store FfiConverterTypeTabsStore.lower(this), ) } @@ -1113,7 +1113,7 @@ export class TabsStore { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 80, // tabs:uniffi_tabs_fn_method_tabsstore_register_with_sync_manager + 79, // tabs:uniffi_tabs_fn_method_tabsstore_register_with_sync_manager FfiConverterTypeTabsStore.lower(this), ) } @@ -1140,7 +1140,7 @@ export class TabsStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 81, // tabs:uniffi_tabs_fn_method_tabsstore_set_local_tabs + 80, // tabs:uniffi_tabs_fn_method_tabsstore_set_local_tabs FfiConverterTypeTabsStore.lower(this), FfiConverterSequenceTypeRemoteTabRecord.lower(remoteTabs), ) diff --git a/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustWebextstorage.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustWebextstorage.sys.mjs index 05cdbb6e3d26..2a0ab977abd0 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustWebextstorage.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustWebextstorage.sys.mjs @@ -417,7 +417,7 @@ export class WebExtStorageBridgedEngine { const liftError = (data) => FfiConverterTypeWebExtStorageApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 83, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_apply + 82, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_apply FfiConverterTypeWebExtStorageBridgedEngine.lower(this), ) } @@ -445,7 +445,7 @@ export class WebExtStorageBridgedEngine { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 84, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_ensure_current_sync_id + 83, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_ensure_current_sync_id FfiConverterTypeWebExtStorageBridgedEngine.lower(this), FfiConverterString.lower(newSyncId), ) @@ -466,7 +466,7 @@ export class WebExtStorageBridgedEngine { const liftError = (data) => FfiConverterTypeWebExtStorageApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 85, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_last_sync + 84, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_last_sync FfiConverterTypeWebExtStorageBridgedEngine.lower(this), ) } @@ -493,7 +493,7 @@ export class WebExtStorageBridgedEngine { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 86, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_prepare_for_sync + 85, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_prepare_for_sync FfiConverterTypeWebExtStorageBridgedEngine.lower(this), FfiConverterString.lower(clientData), ) @@ -513,7 +513,7 @@ export class WebExtStorageBridgedEngine { const liftError = (data) => FfiConverterTypeWebExtStorageApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 87, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_reset + 86, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_reset FfiConverterTypeWebExtStorageBridgedEngine.lower(this), ) } @@ -533,7 +533,7 @@ export class WebExtStorageBridgedEngine { const liftError = (data) => FfiConverterTypeWebExtStorageApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 88, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_reset_sync_id + 87, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_reset_sync_id FfiConverterTypeWebExtStorageBridgedEngine.lower(this), ) } @@ -560,7 +560,7 @@ export class WebExtStorageBridgedEngine { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 89, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_set_last_sync + 88, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_set_last_sync FfiConverterTypeWebExtStorageBridgedEngine.lower(this), FfiConverterI64.lower(lastSync), ) @@ -596,7 +596,7 @@ export class WebExtStorageBridgedEngine { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 90, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_set_uploaded + 89, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_set_uploaded FfiConverterTypeWebExtStorageBridgedEngine.lower(this), FfiConverterI64.lower(serverModifiedMillis), FfiConverterSequenceTypeGuid.lower(guids), @@ -625,7 +625,7 @@ export class WebExtStorageBridgedEngine { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 91, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_store_incoming + 90, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_store_incoming FfiConverterTypeWebExtStorageBridgedEngine.lower(this), FfiConverterSequencestring.lower(incoming), ) @@ -645,7 +645,7 @@ export class WebExtStorageBridgedEngine { const liftError = (data) => FfiConverterTypeWebExtStorageApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 92, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_sync_finished + 91, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_sync_finished FfiConverterTypeWebExtStorageBridgedEngine.lower(this), ) } @@ -665,7 +665,7 @@ export class WebExtStorageBridgedEngine { const liftError = (data) => FfiConverterTypeWebExtStorageApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 93, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_sync_id + 92, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_sync_id FfiConverterTypeWebExtStorageBridgedEngine.lower(this), ) } @@ -684,7 +684,7 @@ export class WebExtStorageBridgedEngine { const liftError = (data) => FfiConverterTypeWebExtStorageApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 94, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_sync_started + 93, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_sync_started FfiConverterTypeWebExtStorageBridgedEngine.lower(this), ) } @@ -703,7 +703,7 @@ export class WebExtStorageBridgedEngine { const liftError = (data) => FfiConverterTypeWebExtStorageApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 95, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_wipe + 94, // webextstorage:uniffi_webext_storage_fn_method_webextstoragebridgedengine_wipe FfiConverterTypeWebExtStorageBridgedEngine.lower(this), ) } @@ -778,7 +778,7 @@ export class WebExtStorageStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 104, // webextstorage:uniffi_webext_storage_fn_constructor_webextstoragestore_new + 103, // webextstorage:uniffi_webext_storage_fn_constructor_webextstoragestore_new FfiConverterString.lower(path), ) } @@ -797,7 +797,7 @@ export class WebExtStorageStore { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 96, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_bridged_engine + 95, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_bridged_engine FfiConverterTypeWebExtStorageStore.lower(this), ) } @@ -825,7 +825,7 @@ export class WebExtStorageStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 97, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_clear + 96, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_clear FfiConverterTypeWebExtStorageStore.lower(this), FfiConverterString.lower(extId), ) @@ -845,7 +845,7 @@ export class WebExtStorageStore { const liftError = (data) => FfiConverterTypeWebExtStorageApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 98, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_close + 97, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_close FfiConverterTypeWebExtStorageStore.lower(this), ) } @@ -881,7 +881,7 @@ export class WebExtStorageStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 99, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_get + 98, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_get FfiConverterTypeWebExtStorageStore.lower(this), FfiConverterString.lower(extId), FfiConverterTypeJsonValue.lower(keys), @@ -919,7 +919,7 @@ export class WebExtStorageStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 100, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_get_bytes_in_use + 99, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_get_bytes_in_use FfiConverterTypeWebExtStorageStore.lower(this), FfiConverterString.lower(extId), FfiConverterTypeJsonValue.lower(keys), @@ -941,7 +941,7 @@ export class WebExtStorageStore { const liftError = (data) => FfiConverterTypeWebExtStorageApiError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 101, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_get_synced_changes + 100, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_get_synced_changes FfiConverterTypeWebExtStorageStore.lower(this), ) } @@ -977,7 +977,7 @@ export class WebExtStorageStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 102, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_remove + 101, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_remove FfiConverterTypeWebExtStorageStore.lower(this), FfiConverterString.lower(extId), FfiConverterTypeJsonValue.lower(keys), @@ -1015,7 +1015,7 @@ export class WebExtStorageStore { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 103, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_set + 102, // webextstorage:uniffi_webext_storage_fn_method_webextstoragestore_set FfiConverterTypeWebExtStorageStore.lower(this), FfiConverterString.lower(extId), FfiConverterTypeJsonValue.lower(val), diff --git a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustArithmetic.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustArithmetic.sys.mjs index 22f6f4504fbd..254a93f7715b 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustArithmetic.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustArithmetic.sys.mjs @@ -431,7 +431,7 @@ export function add(a,b) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 105, // arithmetic:uniffi_arithmetical_fn_func_add + 104, // arithmetic:uniffi_arithmetical_fn_func_add FfiConverterU64.lower(a), FfiConverterU64.lower(b), ) @@ -469,7 +469,7 @@ export function div(dividend,divisor) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 106, // arithmetic:uniffi_arithmetical_fn_func_div + 105, // arithmetic:uniffi_arithmetical_fn_func_div FfiConverterU64.lower(dividend), FfiConverterU64.lower(divisor), ) @@ -507,7 +507,7 @@ export function equal(a,b) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 107, // arithmetic:uniffi_arithmetical_fn_func_equal + 106, // arithmetic:uniffi_arithmetical_fn_func_equal FfiConverterU64.lower(a), FfiConverterU64.lower(b), ) @@ -545,7 +545,7 @@ export function sub(a,b) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 108, // arithmetic:uniffi_arithmetical_fn_func_sub + 107, // arithmetic:uniffi_arithmetical_fn_func_sub FfiConverterU64.lower(a), FfiConverterU64.lower(b), ) diff --git a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustCustomTypes.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustCustomTypes.sys.mjs index 8f9f77e7a32a..a083cb4176f9 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustCustomTypes.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustCustomTypes.sys.mjs @@ -513,7 +513,7 @@ export function getCustomTypesDemo(demo) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 109, // custom_types:uniffi_uniffi_custom_types_fn_func_get_custom_types_demo + 108, // custom_types:uniffi_uniffi_custom_types_fn_func_get_custom_types_demo FfiConverterOptionalTypeCustomTypesDemo.lower(demo), ) } diff --git a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustExternalTypes.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustExternalTypes.sys.mjs index d20c1c0cde53..c154853f3575 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustExternalTypes.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustExternalTypes.sys.mjs @@ -431,7 +431,7 @@ export function gradient(value) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 110, // external_types:uniffi_uniffi_fixture_external_types_fn_func_gradient + 109, // external_types:uniffi_uniffi_fixture_external_types_fn_func_gradient FfiConverterOptionalTypeLine.lower(value), ) } @@ -468,7 +468,7 @@ export function intersection(ln1,ln2) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 111, // external_types:uniffi_uniffi_fixture_external_types_fn_func_intersection + 110, // external_types:uniffi_uniffi_fixture_external_types_fn_func_intersection FfiConverterTypeLine.lower(ln1), FfiConverterTypeLine.lower(ln2), ) @@ -497,7 +497,7 @@ export function moveSpriteToOrigin(sprite) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 112, // external_types:uniffi_uniffi_fixture_external_types_fn_func_move_sprite_to_origin + 111, // external_types:uniffi_uniffi_fixture_external_types_fn_func_move_sprite_to_origin FfiConverterTypeSprite.lower(sprite), ) } diff --git a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustFixtureCallbacks.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustFixtureCallbacks.sys.mjs index e7ef15ed1891..85ac3b24f67a 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustFixtureCallbacks.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustFixtureCallbacks.sys.mjs @@ -737,7 +737,7 @@ export function callLogRepeat(logger,message,count,exclude) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 113, // fixture_callbacks:uniffi_uniffi_fixture_callbacks_fn_func_call_log_repeat + 112, // fixture_callbacks:uniffi_uniffi_fixture_callbacks_fn_func_call_log_repeat FfiConverterTypeLogger.lower(logger), FfiConverterString.lower(message), FfiConverterU32.lower(count), @@ -776,7 +776,7 @@ export function logEvenNumbers(logger,items) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 114, // fixture_callbacks:uniffi_uniffi_fixture_callbacks_fn_func_log_even_numbers + 113, // fixture_callbacks:uniffi_uniffi_fixture_callbacks_fn_func_log_even_numbers FfiConverterTypeLogger.lower(logger), FfiConverterSequencei32.lower(items), ) @@ -813,7 +813,7 @@ export function logEvenNumbersMainThread(logger,items) { throw e; } return UniFFIScaffolding.callSync( - 115, // fixture_callbacks:uniffi_uniffi_fixture_callbacks_fn_func_log_even_numbers_main_thread + 114, // fixture_callbacks:uniffi_uniffi_fixture_callbacks_fn_func_log_even_numbers_main_thread FfiConverterTypeLogger.lower(logger), FfiConverterSequencei32.lower(items), ) diff --git a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustFutures.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustFutures.sys.mjs index c0b896ea56f5..65404c281956 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustFutures.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustFutures.sys.mjs @@ -662,7 +662,7 @@ export class FutureTester { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callSync( - 136, // futures:uniffi_uniffi_fixture_futures_fn_constructor_futuretester_init + 135, // futures:uniffi_uniffi_fixture_futures_fn_constructor_futuretester_init ) } return handleRustResult(functionCall(), liftResult, liftError);} @@ -687,7 +687,7 @@ export class FutureTester { throw e; } return UniFFIScaffolding.callSync( - 133, // futures:uniffi_uniffi_fixture_futures_fn_method_futuretester_complete_futures + 132, // futures:uniffi_uniffi_fixture_futures_fn_method_futuretester_complete_futures FfiConverterTypeFutureTester.lower(this), FfiConverterU8.lower(value), ) @@ -704,7 +704,7 @@ export class FutureTester { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsync( - 134, // futures:uniffi_uniffi_fixture_futures_fn_method_futuretester_make_future + 133, // futures:uniffi_uniffi_fixture_futures_fn_method_futuretester_make_future FfiConverterTypeFutureTester.lower(this), ) } @@ -724,7 +724,7 @@ export class FutureTester { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callSync( - 135, // futures:uniffi_uniffi_fixture_futures_fn_method_futuretester_wake_futures + 134, // futures:uniffi_uniffi_fixture_futures_fn_method_futuretester_wake_futures FfiConverterTypeFutureTester.lower(this), ) } @@ -787,7 +787,7 @@ export class RustTask { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callSync( - 137, // futures:uniffi_uniffi_fixture_futures_fn_method_rusttask_run + 136, // futures:uniffi_uniffi_fixture_futures_fn_method_rusttask_run FfiConverterTypeRustTask.lower(this), ) } @@ -858,7 +858,7 @@ export class Traveller { throw e; } return UniFFIScaffolding.callSync( - 139, // futures:uniffi_uniffi_fixture_futures_fn_constructor_traveller_new + 138, // futures:uniffi_uniffi_fixture_futures_fn_constructor_traveller_new FfiConverterString.lower(name), ) } @@ -873,7 +873,7 @@ export class Traveller { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callSync( - 138, // futures:uniffi_uniffi_fixture_futures_fn_method_traveller_name + 137, // futures:uniffi_uniffi_fixture_futures_fn_method_traveller_name FfiConverterTypeTraveller.lower(this), ) } @@ -950,7 +950,7 @@ export class WorkerQueue { throw e; } return UniFFIScaffolding.callSync( - 140, // futures:uniffi_uniffi_fixture_futures_fn_method_workerqueue_add_task + 139, // futures:uniffi_uniffi_fixture_futures_fn_method_workerqueue_add_task FfiConverterTypeWorkerQueue.lower(this), FfiConverterTypeRustTask.lower(task), ) @@ -1104,7 +1104,7 @@ export function expensiveComputation() { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsync( - 116, // futures:uniffi_uniffi_fixture_futures_fn_func_expensive_computation + 115, // futures:uniffi_uniffi_fixture_futures_fn_func_expensive_computation ) } try { @@ -1127,7 +1127,7 @@ export function initializeGeckoGlobalWorkerQueue() { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callSync( - 117, // futures:uniffi_uniffi_fixture_futures_fn_func_initialize_gecko_global_worker_queue + 116, // futures:uniffi_uniffi_fixture_futures_fn_func_initialize_gecko_global_worker_queue ) } return handleRustResult(functionCall(), liftResult, liftError); @@ -1151,7 +1151,7 @@ export function initializeGlobalWorkerQueue(workerQueue) { throw e; } return UniFFIScaffolding.callSync( - 118, // futures:uniffi_uniffi_fixture_futures_fn_func_initialize_global_worker_queue + 117, // futures:uniffi_uniffi_fixture_futures_fn_func_initialize_global_worker_queue FfiConverterTypeWorkerQueue.lower(workerQueue), ) } @@ -1176,7 +1176,7 @@ export function roundtripF32(v) { throw e; } return UniFFIScaffolding.callAsync( - 119, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_f32 + 118, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_f32 FfiConverterF32.lower(v), ) } @@ -1205,7 +1205,7 @@ export function roundtripF64(v) { throw e; } return UniFFIScaffolding.callAsync( - 120, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_f64 + 119, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_f64 FfiConverterF64.lower(v), ) } @@ -1234,7 +1234,7 @@ export function roundtripI16(v) { throw e; } return UniFFIScaffolding.callAsync( - 121, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i16 + 120, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i16 FfiConverterI16.lower(v), ) } @@ -1263,7 +1263,7 @@ export function roundtripI32(v) { throw e; } return UniFFIScaffolding.callAsync( - 122, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i32 + 121, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i32 FfiConverterI32.lower(v), ) } @@ -1292,7 +1292,7 @@ export function roundtripI64(v) { throw e; } return UniFFIScaffolding.callAsync( - 123, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i64 + 122, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i64 FfiConverterI64.lower(v), ) } @@ -1321,7 +1321,7 @@ export function roundtripI8(v) { throw e; } return UniFFIScaffolding.callAsync( - 124, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i8 + 123, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i8 FfiConverterI8.lower(v), ) } @@ -1350,7 +1350,7 @@ export function roundtripMap(v) { throw e; } return UniFFIScaffolding.callAsync( - 125, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_map + 124, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_map FfiConverterMapStringString.lower(v), ) } @@ -1379,7 +1379,7 @@ export function roundtripObj(v) { throw e; } return UniFFIScaffolding.callAsync( - 126, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_obj + 125, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_obj FfiConverterTypeTraveller.lower(v), ) } @@ -1408,7 +1408,7 @@ export function roundtripString(v) { throw e; } return UniFFIScaffolding.callAsync( - 127, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_string + 126, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_string FfiConverterString.lower(v), ) } @@ -1437,7 +1437,7 @@ export function roundtripU16(v) { throw e; } return UniFFIScaffolding.callAsync( - 128, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u16 + 127, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u16 FfiConverterU16.lower(v), ) } @@ -1466,7 +1466,7 @@ export function roundtripU32(v) { throw e; } return UniFFIScaffolding.callAsync( - 129, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u32 + 128, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u32 FfiConverterU32.lower(v), ) } @@ -1495,7 +1495,7 @@ export function roundtripU64(v) { throw e; } return UniFFIScaffolding.callAsync( - 130, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u64 + 129, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u64 FfiConverterU64.lower(v), ) } @@ -1524,7 +1524,7 @@ export function roundtripU8(v) { throw e; } return UniFFIScaffolding.callAsync( - 131, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u8 + 130, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u8 FfiConverterU8.lower(v), ) } @@ -1553,7 +1553,7 @@ export function roundtripVec(v) { throw e; } return UniFFIScaffolding.callAsync( - 132, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_vec + 131, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_vec FfiConverterSequenceu32.lower(v), ) } diff --git a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustGeometry.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustGeometry.sys.mjs index bcfe14f0335f..87a93ecff890 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustGeometry.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustGeometry.sys.mjs @@ -542,7 +542,7 @@ export function gradient(ln) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 141, // geometry:uniffi_uniffi_geometry_fn_func_gradient + 140, // geometry:uniffi_uniffi_geometry_fn_func_gradient FfiConverterTypeLine.lower(ln), ) } @@ -579,7 +579,7 @@ export function intersection(ln1,ln2) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 142, // geometry:uniffi_uniffi_geometry_fn_func_intersection + 141, // geometry:uniffi_uniffi_geometry_fn_func_intersection FfiConverterTypeLine.lower(ln1), FfiConverterTypeLine.lower(ln2), ) diff --git a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustRefcounts.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustRefcounts.sys.mjs index 49bd0aa45e7c..3b7cd2f21fe7 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustRefcounts.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustRefcounts.sys.mjs @@ -371,7 +371,7 @@ export class SingletonObject { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callSync( - 145, // refcounts:uniffi_uniffi_fixture_refcounts_fn_method_singletonobject_method + 144, // refcounts:uniffi_uniffi_fixture_refcounts_fn_method_singletonobject_method FfiConverterTypeSingletonObject.lower(this), ) } @@ -423,7 +423,7 @@ export function getJsRefcount() { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callSync( - 143, // refcounts:uniffi_uniffi_fixture_refcounts_fn_func_get_js_refcount + 142, // refcounts:uniffi_uniffi_fixture_refcounts_fn_func_get_js_refcount ) } return handleRustResult(functionCall(), liftResult, liftError); @@ -439,7 +439,7 @@ export function getSingleton() { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callSync( - 144, // refcounts:uniffi_uniffi_fixture_refcounts_fn_func_get_singleton + 143, // refcounts:uniffi_uniffi_fixture_refcounts_fn_func_get_singleton ) } return handleRustResult(functionCall(), liftResult, liftError); diff --git a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustRondpoint.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustRondpoint.sys.mjs index 0c213364c484..079af3e3e573 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustRondpoint.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustRondpoint.sys.mjs @@ -665,7 +665,7 @@ export class Optionneur { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 176, // rondpoint:uniffi_uniffi_rondpoint_fn_constructor_optionneur_new + 175, // rondpoint:uniffi_uniffi_rondpoint_fn_constructor_optionneur_new ) } try { @@ -691,7 +691,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 151, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_boolean + 150, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_boolean FfiConverterTypeOptionneur.lower(this), FfiConverterBool.lower(value), ) @@ -720,7 +720,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 152, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_enum + 151, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_enum FfiConverterTypeOptionneur.lower(this), FfiConverterTypeEnumeration.lower(value), ) @@ -749,7 +749,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 153, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_f32 + 152, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_f32 FfiConverterTypeOptionneur.lower(this), FfiConverterF32.lower(value), ) @@ -778,7 +778,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 154, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_f64 + 153, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_f64 FfiConverterTypeOptionneur.lower(this), FfiConverterF64.lower(value), ) @@ -807,7 +807,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 155, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i16_dec + 154, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i16_dec FfiConverterTypeOptionneur.lower(this), FfiConverterI16.lower(value), ) @@ -836,7 +836,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 156, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i16_hex + 155, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i16_hex FfiConverterTypeOptionneur.lower(this), FfiConverterI16.lower(value), ) @@ -865,7 +865,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 157, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i32_dec + 156, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i32_dec FfiConverterTypeOptionneur.lower(this), FfiConverterI32.lower(value), ) @@ -894,7 +894,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 158, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i32_hex + 157, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i32_hex FfiConverterTypeOptionneur.lower(this), FfiConverterI32.lower(value), ) @@ -923,7 +923,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 159, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i64_dec + 158, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i64_dec FfiConverterTypeOptionneur.lower(this), FfiConverterI64.lower(value), ) @@ -952,7 +952,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 160, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i64_hex + 159, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i64_hex FfiConverterTypeOptionneur.lower(this), FfiConverterI64.lower(value), ) @@ -981,7 +981,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 161, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i8_dec + 160, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i8_dec FfiConverterTypeOptionneur.lower(this), FfiConverterI8.lower(value), ) @@ -1010,7 +1010,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 162, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i8_hex + 161, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i8_hex FfiConverterTypeOptionneur.lower(this), FfiConverterI8.lower(value), ) @@ -1039,7 +1039,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 163, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_null + 162, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_null FfiConverterTypeOptionneur.lower(this), FfiConverterOptionalstring.lower(value), ) @@ -1068,7 +1068,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 164, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_sequence + 163, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_sequence FfiConverterTypeOptionneur.lower(this), FfiConverterSequencestring.lower(value), ) @@ -1097,7 +1097,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 165, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_string + 164, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_string FfiConverterTypeOptionneur.lower(this), FfiConverterString.lower(value), ) @@ -1126,7 +1126,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 166, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u16_dec + 165, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u16_dec FfiConverterTypeOptionneur.lower(this), FfiConverterU16.lower(value), ) @@ -1155,7 +1155,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 167, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u16_hex + 166, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u16_hex FfiConverterTypeOptionneur.lower(this), FfiConverterU16.lower(value), ) @@ -1184,7 +1184,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 168, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u32_dec + 167, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u32_dec FfiConverterTypeOptionneur.lower(this), FfiConverterU32.lower(value), ) @@ -1213,7 +1213,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 169, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u32_hex + 168, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u32_hex FfiConverterTypeOptionneur.lower(this), FfiConverterU32.lower(value), ) @@ -1242,7 +1242,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 170, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u32_oct + 169, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u32_oct FfiConverterTypeOptionneur.lower(this), FfiConverterU32.lower(value), ) @@ -1271,7 +1271,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 171, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u64_dec + 170, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u64_dec FfiConverterTypeOptionneur.lower(this), FfiConverterU64.lower(value), ) @@ -1300,7 +1300,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 172, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u64_hex + 171, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u64_hex FfiConverterTypeOptionneur.lower(this), FfiConverterU64.lower(value), ) @@ -1329,7 +1329,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 173, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u8_dec + 172, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u8_dec FfiConverterTypeOptionneur.lower(this), FfiConverterU8.lower(value), ) @@ -1358,7 +1358,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 174, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u8_hex + 173, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u8_hex FfiConverterTypeOptionneur.lower(this), FfiConverterU8.lower(value), ) @@ -1387,7 +1387,7 @@ export class Optionneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 175, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_zero + 174, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_zero FfiConverterTypeOptionneur.lower(this), FfiConverterOptionali32.lower(value), ) @@ -1455,7 +1455,7 @@ export class Retourneur { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 192, // rondpoint:uniffi_uniffi_rondpoint_fn_constructor_retourneur_new + 191, // rondpoint:uniffi_uniffi_rondpoint_fn_constructor_retourneur_new ) } try { @@ -1481,7 +1481,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 177, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_boolean + 176, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_boolean FfiConverterTypeRetourneur.lower(this), FfiConverterBool.lower(value), ) @@ -1510,7 +1510,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 178, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_double + 177, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_double FfiConverterTypeRetourneur.lower(this), FfiConverterF64.lower(value), ) @@ -1539,7 +1539,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 179, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_float + 178, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_float FfiConverterTypeRetourneur.lower(this), FfiConverterF32.lower(value), ) @@ -1568,7 +1568,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 180, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i16 + 179, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i16 FfiConverterTypeRetourneur.lower(this), FfiConverterI16.lower(value), ) @@ -1597,7 +1597,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 181, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i32 + 180, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i32 FfiConverterTypeRetourneur.lower(this), FfiConverterI32.lower(value), ) @@ -1626,7 +1626,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 182, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i64 + 181, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i64 FfiConverterTypeRetourneur.lower(this), FfiConverterI64.lower(value), ) @@ -1655,7 +1655,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 183, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i8 + 182, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i8 FfiConverterTypeRetourneur.lower(this), FfiConverterI8.lower(value), ) @@ -1684,7 +1684,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 184, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_nombres + 183, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_nombres FfiConverterTypeRetourneur.lower(this), FfiConverterTypeDictionnaireNombres.lower(value), ) @@ -1713,7 +1713,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 185, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_nombres_signes + 184, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_nombres_signes FfiConverterTypeRetourneur.lower(this), FfiConverterTypeDictionnaireNombresSignes.lower(value), ) @@ -1742,7 +1742,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 186, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_optionneur_dictionnaire + 185, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_optionneur_dictionnaire FfiConverterTypeRetourneur.lower(this), FfiConverterTypeOptionneurDictionnaire.lower(value), ) @@ -1771,7 +1771,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 187, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_string + 186, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_string FfiConverterTypeRetourneur.lower(this), FfiConverterString.lower(value), ) @@ -1800,7 +1800,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 188, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u16 + 187, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u16 FfiConverterTypeRetourneur.lower(this), FfiConverterU16.lower(value), ) @@ -1829,7 +1829,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 189, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u32 + 188, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u32 FfiConverterTypeRetourneur.lower(this), FfiConverterU32.lower(value), ) @@ -1858,7 +1858,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 190, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u64 + 189, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u64 FfiConverterTypeRetourneur.lower(this), FfiConverterU64.lower(value), ) @@ -1887,7 +1887,7 @@ export class Retourneur { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 191, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u8 + 190, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u8 FfiConverterTypeRetourneur.lower(this), FfiConverterU8.lower(value), ) @@ -1955,7 +1955,7 @@ export class Stringifier { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 205, // rondpoint:uniffi_uniffi_rondpoint_fn_constructor_stringifier_new + 204, // rondpoint:uniffi_uniffi_rondpoint_fn_constructor_stringifier_new ) } try { @@ -1981,7 +1981,7 @@ export class Stringifier { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 193, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_boolean + 192, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_boolean FfiConverterTypeStringifier.lower(this), FfiConverterBool.lower(value), ) @@ -2010,7 +2010,7 @@ export class Stringifier { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 194, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_double + 193, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_double FfiConverterTypeStringifier.lower(this), FfiConverterF64.lower(value), ) @@ -2039,7 +2039,7 @@ export class Stringifier { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 195, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_float + 194, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_float FfiConverterTypeStringifier.lower(this), FfiConverterF32.lower(value), ) @@ -2068,7 +2068,7 @@ export class Stringifier { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 196, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i16 + 195, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i16 FfiConverterTypeStringifier.lower(this), FfiConverterI16.lower(value), ) @@ -2097,7 +2097,7 @@ export class Stringifier { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 197, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i32 + 196, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i32 FfiConverterTypeStringifier.lower(this), FfiConverterI32.lower(value), ) @@ -2126,7 +2126,7 @@ export class Stringifier { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 198, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i64 + 197, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i64 FfiConverterTypeStringifier.lower(this), FfiConverterI64.lower(value), ) @@ -2155,7 +2155,7 @@ export class Stringifier { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 199, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i8 + 198, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i8 FfiConverterTypeStringifier.lower(this), FfiConverterI8.lower(value), ) @@ -2184,7 +2184,7 @@ export class Stringifier { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 200, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u16 + 199, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u16 FfiConverterTypeStringifier.lower(this), FfiConverterU16.lower(value), ) @@ -2213,7 +2213,7 @@ export class Stringifier { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 201, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u32 + 200, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u32 FfiConverterTypeStringifier.lower(this), FfiConverterU32.lower(value), ) @@ -2242,7 +2242,7 @@ export class Stringifier { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 202, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u64 + 201, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u64 FfiConverterTypeStringifier.lower(this), FfiConverterU64.lower(value), ) @@ -2271,7 +2271,7 @@ export class Stringifier { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 203, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u8 + 202, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u8 FfiConverterTypeStringifier.lower(this), FfiConverterU8.lower(value), ) @@ -2300,7 +2300,7 @@ export class Stringifier { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 204, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_well_known_string + 203, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_well_known_string FfiConverterTypeStringifier.lower(this), FfiConverterString.lower(value), ) @@ -3677,7 +3677,7 @@ export function copieCarte(c) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 146, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_carte + 145, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_carte FfiConverterMapStringTypeEnumerationAvecDonnees.lower(c), ) } @@ -3706,7 +3706,7 @@ export function copieDictionnaire(d) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 147, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_dictionnaire + 146, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_dictionnaire FfiConverterTypeDictionnaire.lower(d), ) } @@ -3735,7 +3735,7 @@ export function copieEnumeration(e) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 148, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_enumeration + 147, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_enumeration FfiConverterTypeEnumeration.lower(e), ) } @@ -3764,7 +3764,7 @@ export function copieEnumerations(e) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 149, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_enumerations + 148, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_enumerations FfiConverterSequenceTypeEnumeration.lower(e), ) } @@ -3793,7 +3793,7 @@ export function switcheroo(b) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 150, // rondpoint:uniffi_uniffi_rondpoint_fn_func_switcheroo + 149, // rondpoint:uniffi_uniffi_rondpoint_fn_func_switcheroo FfiConverterBool.lower(b), ) } diff --git a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustSprites.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustSprites.sys.mjs index c93c403bc7db..a135e0139770 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustSprites.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustSprites.sys.mjs @@ -370,7 +370,7 @@ export class Sprite { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 210, // sprites:uniffi_uniffi_sprites_fn_constructor_sprite_new + 209, // sprites:uniffi_uniffi_sprites_fn_constructor_sprite_new FfiConverterOptionalTypePoint.lower(initialPosition), ) } @@ -404,7 +404,7 @@ export class Sprite { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 211, // sprites:uniffi_uniffi_sprites_fn_constructor_sprite_new_relative_to + 210, // sprites:uniffi_uniffi_sprites_fn_constructor_sprite_new_relative_to FfiConverterTypePoint.lower(reference), FfiConverterTypeVector.lower(direction), ) @@ -424,7 +424,7 @@ export class Sprite { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 207, // sprites:uniffi_uniffi_sprites_fn_method_sprite_get_position + 206, // sprites:uniffi_uniffi_sprites_fn_method_sprite_get_position FfiConverterTypeSprite.lower(this), ) } @@ -451,7 +451,7 @@ export class Sprite { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 208, // sprites:uniffi_uniffi_sprites_fn_method_sprite_move_by + 207, // sprites:uniffi_uniffi_sprites_fn_method_sprite_move_by FfiConverterTypeSprite.lower(this), FfiConverterTypeVector.lower(direction), ) @@ -479,7 +479,7 @@ export class Sprite { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 209, // sprites:uniffi_uniffi_sprites_fn_method_sprite_move_to + 208, // sprites:uniffi_uniffi_sprites_fn_method_sprite_move_to FfiConverterTypeSprite.lower(this), FfiConverterTypePoint.lower(position), ) @@ -755,7 +755,7 @@ export function translate(p,v) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 206, // sprites:uniffi_uniffi_sprites_fn_func_translate + 205, // sprites:uniffi_uniffi_sprites_fn_func_translate FfiConverterTypePoint.lower(p), FfiConverterTypeVector.lower(v), ) diff --git a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustTodolist.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustTodolist.sys.mjs index b8340802da77..41f68eec4467 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustTodolist.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustTodolist.sys.mjs @@ -343,7 +343,7 @@ export class TodoList { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 226, // todolist:uniffi_uniffi_todolist_fn_constructor_todolist_new + 225, // todolist:uniffi_uniffi_todolist_fn_constructor_todolist_new ) } try { @@ -368,7 +368,7 @@ export class TodoList { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 215, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_entries + 214, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_entries FfiConverterTypeTodoList.lower(this), FfiConverterSequenceTypeTodoEntry.lower(entries), ) @@ -396,7 +396,7 @@ export class TodoList { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 216, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_entry + 215, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_entry FfiConverterTypeTodoList.lower(this), FfiConverterTypeTodoEntry.lower(entry), ) @@ -424,7 +424,7 @@ export class TodoList { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 217, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_item + 216, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_item FfiConverterTypeTodoList.lower(this), FfiConverterString.lower(todo), ) @@ -452,7 +452,7 @@ export class TodoList { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 218, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_items + 217, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_items FfiConverterTypeTodoList.lower(this), FfiConverterSequencestring.lower(items), ) @@ -480,7 +480,7 @@ export class TodoList { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 219, // todolist:uniffi_uniffi_todolist_fn_method_todolist_clear_item + 218, // todolist:uniffi_uniffi_todolist_fn_method_todolist_clear_item FfiConverterTypeTodoList.lower(this), FfiConverterString.lower(todo), ) @@ -501,7 +501,7 @@ export class TodoList { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 220, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_entries + 219, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_entries FfiConverterTypeTodoList.lower(this), ) } @@ -521,7 +521,7 @@ export class TodoList { const liftError = (data) => FfiConverterTypeTodoError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 221, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_first + 220, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_first FfiConverterTypeTodoList.lower(this), ) } @@ -541,7 +541,7 @@ export class TodoList { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 222, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_items + 221, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_items FfiConverterTypeTodoList.lower(this), ) } @@ -561,7 +561,7 @@ export class TodoList { const liftError = (data) => FfiConverterTypeTodoError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 223, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_last + 222, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_last FfiConverterTypeTodoList.lower(this), ) } @@ -581,7 +581,7 @@ export class TodoList { const liftError = (data) => FfiConverterTypeTodoError.lift(data); const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 224, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_last_entry + 223, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_last_entry FfiConverterTypeTodoList.lower(this), ) } @@ -600,7 +600,7 @@ export class TodoList { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 225, // todolist:uniffi_uniffi_todolist_fn_method_todolist_make_default + 224, // todolist:uniffi_uniffi_todolist_fn_method_todolist_make_default FfiConverterTypeTodoList.lower(this), ) } @@ -992,7 +992,7 @@ export function createEntryWith(todo) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 212, // todolist:uniffi_uniffi_todolist_fn_func_create_entry_with + 211, // todolist:uniffi_uniffi_todolist_fn_func_create_entry_with FfiConverterString.lower(todo), ) } @@ -1013,7 +1013,7 @@ export function getDefaultList() { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callAsyncWrapper( - 213, // todolist:uniffi_uniffi_todolist_fn_func_get_default_list + 212, // todolist:uniffi_uniffi_todolist_fn_func_get_default_list ) } try { @@ -1040,7 +1040,7 @@ export function setDefaultList(list) { throw e; } return UniFFIScaffolding.callAsyncWrapper( - 214, // todolist:uniffi_uniffi_todolist_fn_func_set_default_list + 213, // todolist:uniffi_uniffi_todolist_fn_func_set_default_list FfiConverterTypeTodoList.lower(list), ) } diff --git a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustUniffiTraitInterfaces.sys.mjs b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustUniffiTraitInterfaces.sys.mjs index a86857d974ff..719b1915bead 100644 --- a/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustUniffiTraitInterfaces.sys.mjs +++ b/toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustUniffiTraitInterfaces.sys.mjs @@ -388,7 +388,7 @@ export class Calc { throw e; } return UniFFIScaffolding.callSync( - 229, // uniffi_trait_interfaces:uniffi_uniffi_trait_interfaces_fn_method_calc_add + 228, // uniffi_trait_interfaces:uniffi_uniffi_trait_interfaces_fn_method_calc_add FfiConverterTypeCalc.lower(this), FfiConverterU32.lower(a), FfiConverterU32.lower(b), @@ -442,7 +442,7 @@ export function makeBuggyCalculator() { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callSync( - 227, // uniffi_trait_interfaces:uniffi_uniffi_trait_interfaces_fn_func_make_buggy_calculator + 226, // uniffi_trait_interfaces:uniffi_uniffi_trait_interfaces_fn_func_make_buggy_calculator ) } return handleRustResult(functionCall(), liftResult, liftError); @@ -458,7 +458,7 @@ export function makeCalculator() { const liftError = null; const functionCall = () => { return UniFFIScaffolding.callSync( - 228, // uniffi_trait_interfaces:uniffi_uniffi_trait_interfaces_fn_func_make_calculator + 227, // uniffi_trait_interfaces:uniffi_uniffi_trait_interfaces_fn_func_make_calculator ) } return handleRustResult(functionCall(), liftResult, liftError); diff --git a/toolkit/components/uniffi-js/GeneratedScaffolding.cpp b/toolkit/components/uniffi-js/GeneratedScaffolding.cpp index 934029e3551a..c79930de7b6b 100644 --- a/toolkit/components/uniffi-js/GeneratedScaffolding.cpp +++ b/toolkit/components/uniffi-js/GeneratedScaffolding.cpp @@ -178,7 +178,7 @@ extern "C" { uint32_t ffi_error_support_uniffi_contract_version(); void* uniffi_relevancy_fn_clone_relevancystore(void*, RustCallStatus*); void uniffi_relevancy_fn_free_relevancystore(void*, RustCallStatus*); - void* uniffi_relevancy_fn_constructor_relevancystore_new(RustBuffer, void*, RustCallStatus*); + void* uniffi_relevancy_fn_constructor_relevancystore_new(RustBuffer, RustCallStatus*); void uniffi_relevancy_fn_method_relevancystore_bandit_init(void*, RustBuffer, RustBuffer, RustCallStatus*); RustBuffer uniffi_relevancy_fn_method_relevancystore_bandit_select(void*, RustBuffer, RustBuffer, RustCallStatus*); void uniffi_relevancy_fn_method_relevancystore_bandit_update(void*, RustBuffer, RustBuffer, int8_t, RustCallStatus*); @@ -269,7 +269,6 @@ extern "C" { RustBuffer uniffi_remote_settings_fn_method_remotesettingsclient_get_attachment(void*, RustBuffer, RustCallStatus*); RustBuffer uniffi_remote_settings_fn_method_remotesettingsclient_get_records(void*, int8_t, RustCallStatus*); RustBuffer uniffi_remote_settings_fn_method_remotesettingsclient_get_records_map(void*, int8_t, RustCallStatus*); - void uniffi_remote_settings_fn_method_remotesettingsclient_shutdown(void*, RustCallStatus*); void uniffi_remote_settings_fn_method_remotesettingsclient_sync(void*, RustCallStatus*); void* uniffi_remote_settings_fn_clone_remotesettingsservice(void*, RustCallStatus*); void uniffi_remote_settings_fn_free_remotesettingsservice(void*, RustCallStatus*); @@ -340,7 +339,6 @@ extern "C" { uint16_t uniffi_remote_settings_checksum_method_remotesettingsclient_get_attachment(); uint16_t uniffi_remote_settings_checksum_method_remotesettingsclient_get_records(); uint16_t uniffi_remote_settings_checksum_method_remotesettingsclient_get_records_map(); - uint16_t uniffi_remote_settings_checksum_method_remotesettingsclient_shutdown(); uint16_t uniffi_remote_settings_checksum_method_remotesettingsclient_sync(); uint16_t uniffi_remote_settings_checksum_method_remotesettingsservice_make_client(); uint16_t uniffi_remote_settings_checksum_method_remotesettingsservice_sync(); @@ -4218,7 +4216,6 @@ class ScaffoldingCallHandlerUniffiRelevancyFnConstructorRelevancystoreNew : publ private: // LowerRustArgs stores the resulting arguments in these fields FfiValueRustBuffer mDbPath{}; - FfiValueObjectHandleRemoteSettingsRemoteSettingsService mRemoteSettings{}; // MakeRustCall stores the result of the call in these fields FfiValueObjectHandleRelevancyRelevancyStore mUniffiReturnValue{}; @@ -4229,17 +4226,12 @@ public: if (aError.Failed()) { return; } - mRemoteSettings.Lower(aArgs[1], aError); - if (aError.Failed()) { - return; - } } void MakeRustCall(RustCallStatus* aOutStatus) override { mUniffiReturnValue = FfiValueObjectHandleRelevancyRelevancyStore::FromRust( uniffi_relevancy_fn_constructor_relevancystore_new( mDbPath.IntoRust(), - mRemoteSettings.IntoRust(), aOutStatus ) ); @@ -4545,31 +4537,6 @@ public: ); } }; -class ScaffoldingCallHandlerUniffiRemoteSettingsFnMethodRemotesettingsclientShutdown : public UniffiSyncCallHandler { -private: - // LowerRustArgs stores the resulting arguments in these fields - FfiValueObjectHandleRemoteSettingsRemoteSettingsClient mPtr{}; - - // MakeRustCall stores the result of the call in these fields - -public: - void LowerRustArgs(const dom::Sequence& aArgs, ErrorResult& aError) override { - mPtr.Lower(aArgs[0], aError); - if (aError.Failed()) { - return; - } - } - - void MakeRustCall(RustCallStatus* aOutStatus) override { - uniffi_remote_settings_fn_method_remotesettingsclient_shutdown( - mPtr.IntoRust(), - aOutStatus - ); - } - - virtual void LiftSuccessfulCallResult(JSContext* aCx, dom::Optional& aDest, ErrorResult& aError) override { - } -}; class ScaffoldingCallHandlerUniffiRemoteSettingsFnMethodRemotesettingsclientSync : public UniffiSyncCallHandler { private: // LowerRustArgs stores the resulting arguments in these fields @@ -11915,584 +11882,581 @@ UniquePtr GetSyncCallHandler(uint64_t aId) { return MakeUnique(); } case 21: { - return MakeUnique(); - } - case 22: { return MakeUnique(); } - case 23: { + case 22: { return MakeUnique(); } - case 24: { + case 23: { return MakeUnique(); } - case 25: { + case 24: { return MakeUnique(); } - case 26: { + case 25: { return MakeUnique(); } - case 27: { + case 26: { return MakeUnique(); } - case 28: { + case 27: { return MakeUnique(); } - case 29: { + case 28: { return MakeUnique(); } - case 30: { + case 29: { return MakeUnique(); } - case 31: { + case 30: { return MakeUnique(); } - case 32: { + case 31: { return MakeUnique(); } - case 33: { + case 32: { return MakeUnique(); } - case 34: { + case 33: { return MakeUnique(); } - case 35: { + case 34: { return MakeUnique(); } - case 36: { + case 35: { return MakeUnique(); } - case 37: { + case 36: { return MakeUnique(); } - case 38: { + case 37: { return MakeUnique(); } - case 39: { + case 38: { return MakeUnique(); } - case 40: { + case 39: { return MakeUnique(); } - case 41: { + case 40: { return MakeUnique(); } - case 42: { + case 41: { return MakeUnique(); } - case 43: { + case 42: { return MakeUnique(); } - case 44: { + case 43: { return MakeUnique(); } - case 45: { + case 44: { return MakeUnique(); } - case 46: { + case 45: { return MakeUnique(); } - case 47: { + case 46: { return MakeUnique(); } - case 48: { + case 47: { return MakeUnique(); } - case 49: { + case 48: { return MakeUnique(); } - case 50: { + case 49: { return MakeUnique(); } - case 51: { + case 50: { return MakeUnique(); } - case 52: { + case 51: { return MakeUnique(); } - case 53: { + case 52: { return MakeUnique(); } - case 54: { + case 53: { return MakeUnique(); } - case 55: { + case 54: { return MakeUnique(); } - case 56: { + case 55: { return MakeUnique(); } - case 57: { + case 56: { return MakeUnique(); } - case 58: { + case 57: { return MakeUnique(); } - case 59: { + case 58: { return MakeUnique(); } - case 60: { + case 59: { return MakeUnique(); } - case 61: { + case 60: { return MakeUnique(); } - case 62: { + case 61: { return MakeUnique(); } - case 63: { + case 62: { return MakeUnique(); } - case 64: { + case 63: { return MakeUnique(); } - case 65: { + case 64: { return MakeUnique(); } - case 66: { + case 65: { return MakeUnique(); } - case 67: { + case 66: { return MakeUnique(); } - case 68: { + case 67: { return MakeUnique(); } - case 69: { + case 68: { return MakeUnique(); } - case 70: { + case 69: { return MakeUnique(); } - case 71: { + case 70: { return MakeUnique(); } - case 72: { + case 71: { return MakeUnique(); } - case 73: { + case 72: { return MakeUnique(); } - case 74: { + case 73: { return MakeUnique(); } - case 75: { + case 74: { return MakeUnique(); } - case 76: { + case 75: { return MakeUnique(); } - case 77: { + case 76: { return MakeUnique(); } - case 78: { + case 77: { return MakeUnique(); } - case 79: { + case 78: { return MakeUnique(); } - case 80: { + case 79: { return MakeUnique(); } - case 81: { + case 80: { return MakeUnique(); } - case 82: { + case 81: { return MakeUnique(); } - case 83: { + case 82: { return MakeUnique(); } - case 84: { + case 83: { return MakeUnique(); } - case 85: { + case 84: { return MakeUnique(); } - case 86: { + case 85: { return MakeUnique(); } - case 87: { + case 86: { return MakeUnique(); } - case 88: { + case 87: { return MakeUnique(); } - case 89: { + case 88: { return MakeUnique(); } - case 90: { + case 89: { return MakeUnique(); } - case 91: { + case 90: { return MakeUnique(); } - case 92: { + case 91: { return MakeUnique(); } - case 93: { + case 92: { return MakeUnique(); } - case 94: { + case 93: { return MakeUnique(); } - case 95: { + case 94: { return MakeUnique(); } - case 96: { + case 95: { return MakeUnique(); } - case 97: { + case 96: { return MakeUnique(); } - case 98: { + case 97: { return MakeUnique(); } - case 99: { + case 98: { return MakeUnique(); } - case 100: { + case 99: { return MakeUnique(); } - case 101: { + case 100: { return MakeUnique(); } - case 102: { + case 101: { return MakeUnique(); } - case 103: { + case 102: { return MakeUnique(); } - case 104: { + case 103: { return MakeUnique(); } #ifdef MOZ_UNIFFI_FIXTURES - case 105: { + case 104: { return MakeUnique(); } - case 106: { + case 105: { return MakeUnique(); } - case 107: { + case 106: { return MakeUnique(); } - case 108: { + case 107: { return MakeUnique(); } - case 109: { + case 108: { return MakeUnique(); } - case 110: { + case 109: { return MakeUnique(); } - case 111: { + case 110: { return MakeUnique(); } - case 112: { + case 111: { return MakeUnique(); } - case 113: { + case 112: { return MakeUnique(); } - case 114: { + case 113: { return MakeUnique(); } - case 115: { + case 114: { return MakeUnique(); } - case 117: { + case 116: { return MakeUnique(); } - case 118: { + case 117: { return MakeUnique(); } - case 133: { + case 132: { return MakeUnique(); } - case 135: { + case 134: { return MakeUnique(); } - case 136: { + case 135: { return MakeUnique(); } - case 137: { + case 136: { return MakeUnique(); } - case 138: { + case 137: { return MakeUnique(); } - case 139: { + case 138: { return MakeUnique(); } - case 140: { + case 139: { return MakeUnique(); } - case 141: { + case 140: { return MakeUnique(); } - case 142: { + case 141: { return MakeUnique(); } - case 143: { + case 142: { return MakeUnique(); } - case 144: { + case 143: { return MakeUnique(); } - case 145: { + case 144: { return MakeUnique(); } - case 146: { + case 145: { return MakeUnique(); } - case 147: { + case 146: { return MakeUnique(); } - case 148: { + case 147: { return MakeUnique(); } - case 149: { + case 148: { return MakeUnique(); } - case 150: { + case 149: { return MakeUnique(); } - case 151: { + case 150: { return MakeUnique(); } - case 152: { + case 151: { return MakeUnique(); } - case 153: { + case 152: { return MakeUnique(); } - case 154: { + case 153: { return MakeUnique(); } - case 155: { + case 154: { return MakeUnique(); } - case 156: { + case 155: { return MakeUnique(); } - case 157: { + case 156: { return MakeUnique(); } - case 158: { + case 157: { return MakeUnique(); } - case 159: { + case 158: { return MakeUnique(); } - case 160: { + case 159: { return MakeUnique(); } - case 161: { + case 160: { return MakeUnique(); } - case 162: { + case 161: { return MakeUnique(); } - case 163: { + case 162: { return MakeUnique(); } - case 164: { + case 163: { return MakeUnique(); } - case 165: { + case 164: { return MakeUnique(); } - case 166: { + case 165: { return MakeUnique(); } - case 167: { + case 166: { return MakeUnique(); } - case 168: { + case 167: { return MakeUnique(); } - case 169: { + case 168: { return MakeUnique(); } - case 170: { + case 169: { return MakeUnique(); } - case 171: { + case 170: { return MakeUnique(); } - case 172: { + case 171: { return MakeUnique(); } - case 173: { + case 172: { return MakeUnique(); } - case 174: { + case 173: { return MakeUnique(); } - case 175: { + case 174: { return MakeUnique(); } - case 176: { + case 175: { return MakeUnique(); } - case 177: { + case 176: { return MakeUnique(); } - case 178: { + case 177: { return MakeUnique(); } - case 179: { + case 178: { return MakeUnique(); } - case 180: { + case 179: { return MakeUnique(); } - case 181: { + case 180: { return MakeUnique(); } - case 182: { + case 181: { return MakeUnique(); } - case 183: { + case 182: { return MakeUnique(); } - case 184: { + case 183: { return MakeUnique(); } - case 185: { + case 184: { return MakeUnique(); } - case 186: { + case 185: { return MakeUnique(); } - case 187: { + case 186: { return MakeUnique(); } - case 188: { + case 187: { return MakeUnique(); } - case 189: { + case 188: { return MakeUnique(); } - case 190: { + case 189: { return MakeUnique(); } - case 191: { + case 190: { return MakeUnique(); } - case 192: { + case 191: { return MakeUnique(); } - case 193: { + case 192: { return MakeUnique(); } - case 194: { + case 193: { return MakeUnique(); } - case 195: { + case 194: { return MakeUnique(); } - case 196: { + case 195: { return MakeUnique(); } - case 197: { + case 196: { return MakeUnique(); } - case 198: { + case 197: { return MakeUnique(); } - case 199: { + case 198: { return MakeUnique(); } - case 200: { + case 199: { return MakeUnique(); } - case 201: { + case 200: { return MakeUnique(); } - case 202: { + case 201: { return MakeUnique(); } - case 203: { + case 202: { return MakeUnique(); } - case 204: { + case 203: { return MakeUnique(); } - case 205: { + case 204: { return MakeUnique(); } - case 206: { + case 205: { return MakeUnique(); } - case 207: { + case 206: { return MakeUnique(); } - case 208: { + case 207: { return MakeUnique(); } - case 209: { + case 208: { return MakeUnique(); } - case 210: { + case 209: { return MakeUnique(); } - case 211: { + case 210: { return MakeUnique(); } - case 212: { + case 211: { return MakeUnique(); } - case 213: { + case 212: { return MakeUnique(); } - case 214: { + case 213: { return MakeUnique(); } - case 215: { + case 214: { return MakeUnique(); } - case 216: { + case 215: { return MakeUnique(); } - case 217: { + case 216: { return MakeUnique(); } - case 218: { + case 217: { return MakeUnique(); } - case 219: { + case 218: { return MakeUnique(); } - case 220: { + case 219: { return MakeUnique(); } - case 221: { + case 220: { return MakeUnique(); } - case 222: { + case 221: { return MakeUnique(); } - case 223: { + case 222: { return MakeUnique(); } - case 224: { + case 223: { return MakeUnique(); } - case 225: { + case 224: { return MakeUnique(); } - case 226: { + case 225: { return MakeUnique(); } - case 227: { + case 226: { return MakeUnique(); } - case 228: { + case 227: { return MakeUnique(); } - case 229: { + case 228: { return MakeUnique(); } #endif /* MOZ_UNIFFI_FIXTURES */ @@ -12507,52 +12471,52 @@ UniquePtr GetAsyncCallHandler(uint64_t aId) { #ifdef MOZ_UNIFFI_FIXTURES - case 116: { + case 115: { return MakeUnique(); } - case 119: { + case 118: { return MakeUnique(); } - case 120: { + case 119: { return MakeUnique(); } - case 121: { + case 120: { return MakeUnique(); } - case 122: { + case 121: { return MakeUnique(); } - case 123: { + case 122: { return MakeUnique(); } - case 124: { + case 123: { return MakeUnique(); } - case 125: { + case 124: { return MakeUnique(); } - case 126: { + case 125: { return MakeUnique(); } - case 127: { + case 126: { return MakeUnique(); } - case 128: { + case 127: { return MakeUnique(); } - case 129: { + case 128: { return MakeUnique(); } - case 130: { + case 129: { return MakeUnique(); } - case 131: { + case 130: { return MakeUnique(); } - case 132: { + case 131: { return MakeUnique(); } - case 134: { + case 133: { return MakeUnique(); } #endif /* MOZ_UNIFFI_FIXTURES */