app

Local-first trade for farms and co-ops
git clone https://radroots.dev/git/app.git
Log | Files | Refs | README | LICENSE

commit 67e8b503a94a7a83a6e80d981e5e7d6fece38307
parent f4c847a03b5017311ba8f119afc91ebfa1cdb037
Author: triesap <tyson@radroots.org>
Date:   Sun, 22 Mar 2026 13:14:27 +0000

web: keep async home country lookup unavailable

- implement the new country lookup request surface with explicit unavailable errors on web
- keep the wasm backend aligned with the async country lookup contract without faking support
- preserve the existing offline geocoder unavailable state and location resolver semantics on web
- verify the web crate and wasm check lane stay green with the expanded contract

Diffstat:
Mcrates/web/src/lib.rs | 30+++++++++++++++++++++++++++---
1 file changed, 27 insertions(+), 3 deletions(-)

diff --git a/crates/web/src/lib.rs b/crates/web/src/lib.rs @@ -18,9 +18,10 @@ use radroots_studio_app_core::RadrootsLocationResolverError; #[cfg(target_arch = "wasm32")] use radroots_studio_app_core::{ HomeActionKind, HomeActionResult, HomeActionState, IdentityGateState, RadrootsApp, - RadrootsAppBackend, RadrootsLocationCountry, RadrootsLocationPoint, - RadrootsLocationResolverError, RadrootsLocationReverseOptions, RadrootsResolvedLocation, - RadrootsReverseLocationLookupResult, SetupActionState, + RadrootsAppBackend, RadrootsLocationCountry, RadrootsLocationCountryCenterLookupResult, + RadrootsLocationCountryListResult, RadrootsLocationPoint, RadrootsLocationResolverError, + RadrootsLocationReverseOptions, RadrootsResolvedLocation, RadrootsReverseLocationLookupResult, + SetupActionState, }; #[cfg(any(target_arch = "wasm32", test))] use radroots_studio_app_core::{ @@ -143,6 +144,29 @@ impl RadrootsAppBackend for WebBackend { Ok(None) } + fn request_location_country_list(&self) -> Result<(), RadrootsLocationResolverError> { + Err(location_resolver_unavailable_error()) + } + + fn poll_location_country_list_result( + &self, + ) -> Result<Option<RadrootsLocationCountryListResult>, String> { + Ok(None) + } + + fn request_location_country_center_lookup( + &self, + _country_id: &str, + ) -> Result<(), RadrootsLocationResolverError> { + Err(location_resolver_unavailable_error()) + } + + fn poll_location_country_center_lookup_result( + &self, + ) -> Result<Option<RadrootsLocationCountryCenterLookupResult>, String> { + Ok(None) + } + fn list_location_countries( &self, ) -> Result<Vec<RadrootsLocationCountry>, RadrootsLocationResolverError> {