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

fix(consumer/firehose): someone's doing something weird but this should be fine.

+8
+3
consumer/src/firehose/types.rs
··· 91 pub commit: Cid, 92 #[serde(rename = "tooBig")] 93 pub too_big: bool, 94 pub blocks: ByteBuf, 95 pub ops: Vec<CommitOp>, 96 pub blobs: Vec<Cid>, 97 } 98
··· 91 pub commit: Cid, 92 #[serde(rename = "tooBig")] 93 pub too_big: bool, 94 + #[serde(default)] 95 pub blocks: ByteBuf, 96 + #[serde(default)] 97 pub ops: Vec<CommitOp>, 98 + #[serde(default)] 99 pub blobs: Vec<Cid>, 100 } 101
+5
consumer/src/indexer/mod.rs
··· 371 } 372 } 373 374 // turn the car slice into a map of cid:block 375 let car_reader = iroh_car::CarReader::new(commit.blocks.as_slice()).await?; 376 let blocks = car_reader
··· 371 } 372 } 373 374 + if commit.ops.is_empty() || commit.blocks.is_empty() { 375 + tracing::debug!("skipping commit with no ops/data"); 376 + return Ok(()); 377 + } 378 + 379 // turn the car slice into a map of cid:block 380 let car_reader = iroh_car::CarReader::new(commit.blocks.as_slice()).await?; 381 let blocks = car_reader