···3838// Sanitization regex - removes soft hyphens, zero-width chars, normalizes newlines
3939// Matches one of the special chars, optionally followed by whitespace, repeated
4040// This ensures at least one special char is in the match (won't match pure spaces)
4141-static SANITIZE_NEWLINES_REGEX: LazyLock<Regex> = LazyLock::new(|| {
4242- Regex::new(r"([\r\n\u{00AD}\u{2060}\u{200D}\u{200C}\u{200B}]\s*)+").unwrap()
4343-});
4141+static SANITIZE_NEWLINES_REGEX: LazyLock<Regex> =
4242+ LazyLock::new(|| Regex::new(r"([\r\n\u{00AD}\u{2060}\u{200D}\u{200C}\u{200B}]\s*)+").unwrap());
44434544/// Default domains that support at-URI extraction from URLs
4645/// (bsky.app URL patterns like /profile/{actor}/post/{rkey})
4746#[cfg(feature = "api_bluesky")]
4848-static DEFAULT_EMBED_DOMAINS: &[&str] = &["bsky.app", "deer.social"];
4747+static DEFAULT_EMBED_DOMAINS: &[&str] = &[
4848+ "bsky.app",
4949+ "deer.social",
5050+ "blacksky.community",
5151+ "catsky.social",
5252+];
49535054/// Marker type indicating all facets are resolved (no handles pending DID resolution)
5155pub struct Resolved;