A better Rust ATProto crate

made handle cross-validation at:// prefix-agnostic

Orual b19347c6 ecc68877

Changed files
+11 -2
crates
jacquard
jacquard-identity
src
+6 -2
crates/jacquard-identity/src/lib.rs
··· 869 } 870 let mut warnings = Vec::new(); 871 // Check handle alias presence (soft warning) 872 - let expected_alias = format!("at://{}", handle.as_str()); 873 let has_alias = doc_borrowed 874 .also_known_as 875 .as_ref() 876 - .map(|v| v.iter().any(|s| s.as_ref() == expected_alias)) 877 .unwrap_or(false); 878 if !has_alias { 879 warnings.push(IdentityWarning::HandleAliasMismatch {
··· 869 } 870 let mut warnings = Vec::new(); 871 // Check handle alias presence (soft warning) 872 let has_alias = doc_borrowed 873 .also_known_as 874 .as_ref() 875 + .map(|v| { 876 + v.iter().any(|s| { 877 + let s = s.strip_prefix("at://").unwrap_or(s); 878 + s == handle.as_str() 879 + }) 880 + }) 881 .unwrap_or(false); 882 if !has_alias { 883 warnings.push(IdentityWarning::HandleAliasMismatch {
+5
crates/jacquard/Cargo.toml
··· 70 path = "../../examples/public_atproto_feed.rs" 71 72 [[example]] 73 name = "create_whitewind_post" 74 path = "../../examples/create_whitewind_post.rs" 75
··· 70 path = "../../examples/public_atproto_feed.rs" 71 72 [[example]] 73 + name = "thomas_bug" 74 + path = "../../examples/thomas_bug.rs" 75 + 76 + 77 + [[example]] 78 name = "create_whitewind_post" 79 path = "../../examples/create_whitewind_post.rs" 80