Parakeet is a Rust-based Bluesky AppServer aiming to implement most of the functionality required to support the Bluesky client
appview atproto bluesky rust appserver

clippy

mia.omg.lol bc019eb8 cc0eb694

verified
+8 -10
+5 -1
consumer/src/db/copy.rs
··· 160 160 161 161 for (at_uri, cid, post) in data { 162 162 let record = serde_json::to_value(&post).unwrap(); 163 - let (mentions, tags) = post.facets.as_ref().map(|v| extract_mentions_and_tags(&v)).unzip(); 163 + let (mentions, tags) = post 164 + .facets 165 + .as_ref() 166 + .map(|v| extract_mentions_and_tags(v)) 167 + .unzip(); 164 168 let facets = post.facets.and_then(|v| serde_json::to_value(v).ok()); 165 169 let embed = post.embed.as_ref().map(|v| v.as_str()); 166 170 let embed_subtype = post.embed.as_ref().and_then(|v| v.subtype());
+2 -8
consumer/src/db/record.rs
··· 325 325 let (mentions, tags) = rec 326 326 .facets 327 327 .as_ref() 328 - .map(|v| extract_mentions_and_tags(&v)) 328 + .map(|v| extract_mentions_and_tags(v)) 329 329 .unzip(); 330 330 let facets = rec.facets.and_then(|v| serde_json::to_value(v).ok()); 331 331 let (parent_uri, parent_cid) = strongref_to_parts(rec.reply.as_ref().map(|v| &v.parent)); ··· 509 509 false => Utc::now(), 510 510 }; 511 511 512 - if detached.contains(post) { 513 - true 514 - } else if rules.contains(PG_DISABLE_RULE) && compare_date > effective { 515 - true 516 - } else { 517 - false 518 - } 512 + detached.contains(post) || (rules.contains(PG_DISABLE_RULE) && compare_date > effective) 519 513 } else { 520 514 false 521 515 }
+1 -1
consumer/src/utils.rs
··· 43 43 44 44 pub fn extract_mentions_and_tags(from: &[FacetMain]) -> (Vec<String>, Vec<String>) { 45 45 let (mentions, tags) = from 46 - .into_iter() 46 + .iter() 47 47 .flat_map(|v| { 48 48 v.features.iter().map(|facet| match facet { 49 49 FacetOuter::Bsky(Facet::Mention { did }) => (Some(did), None),