diff --git a/Cargo.toml b/Cargo.toml index df197e5..30b619f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ edition = "2018" [dependencies] doc-comment = "0.3" hyper-old-types = "0.11.0" # Used to parse the link header -isolang = { version = "2.4", features = ["serde"] } +isolang = { version = "2.4.0", features = ["serde"] } log = "^0.4" reqwest = { version = "0.12.18", default-features = false, features = ["json", "blocking", "multipart", "rustls-tls", "stream"] } serde = { version = "1", features = ["derive"] } @@ -21,10 +21,10 @@ serde_json = "1" serde_urlencoded = "0.7.1" serde_qs = "0.15.0" url = "2.5.4" -toml = { version="0.8", features = ["parse"] } -tokio-tungstenite = "0.27" -tokio = {version = "1", features = [ "fs" ] } -tokio-util = { version = "0.7", features = [ "io" ] } +toml = { version = "0.8", features = ["parse"] } +tokio-tungstenite = { version = "0.27", features = ["rustls-tls-webpki-roots"] } +tokio = { version = "1", features = ["fs"] } +tokio-util = { version = "0.7", features = ["io"] } tokio-stream = "0.1.17" chrono = { version = "0.4", features = ["serde"] } thiserror = "2" diff --git a/src/debug.rs b/src/debug.rs index 46f05ad..3868bf6 100644 --- a/src/debug.rs +++ b/src/debug.rs @@ -1,7 +1,7 @@ +use crate::entities::event::Event; use crate::entities::notification::{Notification, NotificationType}; use crate::entities::status::Status; use std::fmt::{Display, Formatter}; -use crate::entities::event::Event; pub struct NotificationDisplay<'a>(pub &'a Notification); @@ -10,32 +10,42 @@ impl<'a> Display for NotificationDisplay<'a> { let n = self.0; match &n.notification_type { NotificationType::Follow => { - write!(f, "Follow {{ #{}, @{} }}", n.id, n.account.acct ) + write!(f, "Follow {{ #{}, @{} }}", n.id, n.account.acct) } NotificationType::Favourite => { if let Some(ref s) = n.status { - write!(f, "Favourite {{ #{}, acct: @{}, status: «{}» }}", n.id, n.account.acct, s.content ) + write!( + f, + "Favourite {{ #{}, acct: @{}, status: «{}» }}", + n.id, n.account.acct, s.content + ) } else { - write!(f, "Favourite {{ #{}, acct: @{}, status: -- }}", n.id, n.account.acct ) + write!(f, "Favourite {{ #{}, acct: @{}, status: -- }}", n.id, n.account.acct) } } NotificationType::Mention => { if let Some(ref s) = n.status { - write!(f, "Mention {{ #{}, acct: @{}, status: «{}» }}", n.id, n.account.acct, s.content ) + write!( + f, + "Mention {{ #{}, acct: @{}, status: «{}» }}", + n.id, n.account.acct, s.content + ) } else { - write!(f, "Mention {{ #{}, acct: @{}, status: -- }}", n.id, n.account.acct ) + write!(f, "Mention {{ #{}, acct: @{}, status: -- }}", n.id, n.account.acct) } } NotificationType::Reblog => { if let Some(ref s) = n.status { - write!(f, "Reblog {{ #{}, acct: @{}, status: «{}» }}", n.id, n.account.acct, s.content ) + write!( + f, + "Reblog {{ #{}, acct: @{}, status: «{}» }}", + n.id, n.account.acct, s.content + ) } else { - write!(f, "Reblog {{ #{}, acct: @{}, status: -- }}", n.id, n.account.acct ) + write!(f, "Reblog {{ #{}, acct: @{}, status: -- }}", n.id, n.account.acct) } } - NotificationType::Other(other) => { - f.write_str(&other) - } + NotificationType::Other(other) => f.write_str(&other), } } } @@ -46,9 +56,7 @@ impl<'a> Display for EventDisplay<'a> { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { let n = self.0; match n { - Event::Notification(n) => { - NotificationDisplay(n).fmt(f) - } + Event::Notification(n) => NotificationDisplay(n).fmt(f), Event::Delete(id) => { write!(f, "Delete {{ #{} }}", id) } @@ -58,9 +66,7 @@ impl<'a> Display for EventDisplay<'a> { Event::Heartbeat => { write!(f, "Heartbeat") } - Event::Update(s) => { - StatusDisplay(s).fmt(f) - } + Event::Update(s) => StatusDisplay(s).fmt(f), } } } @@ -69,6 +75,10 @@ pub struct StatusDisplay<'a>(pub &'a Status); impl<'a> Display for StatusDisplay<'a> { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - write!(f, "Status {{ #{}, acct: @{}, status: «{}», vis: {:?} }}", self.0.id, self.0.account.acct, self.0.content, self.0.visibility ) + write!( + f, + "Status {{ #{}, acct: @{}, status: «{}», vis: {:?} }}", + self.0.id, self.0.account.acct, self.0.content, self.0.visibility + ) } } diff --git a/src/entities/attachment.rs b/src/entities/attachment.rs index e4f2f57..23629b2 100644 --- a/src/entities/attachment.rs +++ b/src/entities/attachment.rs @@ -71,8 +71,8 @@ pub enum MediaType { Other(String), } -use std::str::FromStr; use serde::de::{value, Deserializer, IntoDeserializer}; +use std::str::FromStr; impl FromStr for MediaType { type Err = value::Error; @@ -84,12 +84,11 @@ impl FromStr for MediaType { impl<'de> Deserialize<'de> for MediaType { fn deserialize(deserializer: D) -> Result - where D: Deserializer<'de> + where + D: Deserializer<'de>, { let s = String::deserialize(deserializer)?; - let deserialized = Self::from_str(&s).unwrap_or_else(|_| { - Self::Other(s) - }); + let deserialized = Self::from_str(&s).unwrap_or_else(|_| Self::Other(s)); Ok(deserialized) } } @@ -101,8 +100,17 @@ mod tests { #[test] fn test_deserialize_media_type() { - assert_eq!(MediaType::Image, serde_json::from_value(Value::String("image".to_owned())).unwrap()); - assert_eq!(MediaType::Audio, serde_json::from_value(Value::String("audio".to_owned())).unwrap()); - assert_eq!(MediaType::Other("pleroma_weird_thing".to_string()), serde_json::from_value(Value::String("pleroma_weird_thing".to_owned())).unwrap()); + assert_eq!( + MediaType::Image, + serde_json::from_value(Value::String("image".to_owned())).unwrap() + ); + assert_eq!( + MediaType::Audio, + serde_json::from_value(Value::String("audio".to_owned())).unwrap() + ); + assert_eq!( + MediaType::Other("pleroma_weird_thing".to_string()), + serde_json::from_value(Value::String("pleroma_weird_thing".to_owned())).unwrap() + ); } } diff --git a/src/entities/notification.rs b/src/entities/notification.rs index 69aa526..85e0c67 100644 --- a/src/entities/notification.rs +++ b/src/entities/notification.rs @@ -39,8 +39,8 @@ pub enum NotificationType { Other(String), } -use std::str::FromStr; use serde::de::{value, Deserializer, IntoDeserializer}; +use std::str::FromStr; impl FromStr for NotificationType { type Err = value::Error; @@ -52,12 +52,11 @@ impl FromStr for NotificationType { impl<'de> Deserialize<'de> for NotificationType { fn deserialize(deserializer: D) -> Result - where D: Deserializer<'de> + where + D: Deserializer<'de>, { let s = String::deserialize(deserializer)?; - let deserialized = Self::from_str(&s).unwrap_or_else(|_| { - Self::Other(s) - }); + let deserialized = Self::from_str(&s).unwrap_or_else(|_| Self::Other(s)); Ok(deserialized) } } diff --git a/src/entities/status.rs b/src/entities/status.rs index 8bf3d47..d10a2b0 100644 --- a/src/entities/status.rs +++ b/src/entities/status.rs @@ -135,5 +135,5 @@ pub struct Application { fn test_deser_lotta_statuses() { let json = r#"[{"account":{"acct":"sugarbell@handholding.gay","avatar":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","avatar_static":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","bot":false,"created_at":"2021-08-04T16:25:29.000Z","display_name":"Sugarbell♡","emojis":[{"shortcode":"ablobcatheartsqueeze","static_url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","visible_in_picker":false},{"shortcode":"blobcat3c","static_url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","visible_in_picker":false}],"fields":[{"name":"Pronouns","value":"They/Them, She/Her"},{"name":"Languages","value":"English, German"},{"name":"Loves","value":"You!"}],"followers_count":112,"following_count":130,"fqn":"sugarbell@handholding.gay","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"A9zFkAuIDcs17YggPQ","locked":true,"note":"

New main of @fluff@tiny-pillowfort.floating-in.space
༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

"isi sees problem isi hugs problem. isi is a simple human" -
@khaosgrille@fedi.absturztau.be

"love how isi just radiates pink energy
a pink aura
very pink

pinkpunk" -
@nekojanai@pl.neko.bar

"Isi ist wie eine Tasse Kaffee mit viel Milch und zwei Zuckerwürfeln
​:blobcat3c:​ " - @fristi@kartoffel.cafe

༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

Very much in love with
@steph@handholding.gay ​:ablobcatheartsqueeze:​

","pleroma":{"accepts_chat_messages":null,"also_known_as":[],"ap_id":"https://handholding.gay/users/8p03tszdvl","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":false,"hide_followers_count":false,"hide_follows":false,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":1182,"url":"https://handholding.gay/@sugarbell","username":"sugarbell"},"application":null,"bookmarked":false,"card":null,"content":"

@tost@mk.toast.cafe ​:hugs:​

","created_at":"2021-09-07T18:55:19.000Z","emojis":[{"shortcode":"hugs","static_url":"https://handholding.gay/files/24c88aac-8a0f-4ecb-a9df-e9f5bd626968","url":"https://handholding.gay/files/24c88aac-8a0f-4ecb-a9df-e9f5bd626968","visible_in_picker":false}],"favourited":false,"favourites_count":0,"id":"AB7wabA25wv1iSfTii","in_reply_to_account_id":"A9sWIhMKJ79km8Z3ZI","in_reply_to_id":"AB7wab4MR2NjQs0wsa","language":null,"media_attachments":[],"mentions":[{"acct":"tost@mk.toast.cafe","id":"A9sWIhMKJ79km8Z3ZI","url":"https://mk.toast.cafe/@tost","username":"tost"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@tost@mk.toast.cafe ​:hugs:​"},"conversation_id":6554521,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"tost@mk.toast.cafe","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":0,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://handholding.gay/notes/8qdzypaz5s","url":"https://handholding.gay/notes/8qdzypaz5s","visibility":"unlisted"},{"account":{"acct":"djsumdog@djsumdog.com","avatar":"https://djsumdog.com/media/d65358f67e082e6e1b020577526f4177f1210099a820ecd98af3c616449b5dcf.png","avatar_static":"https://djsumdog.com/media/d65358f67e082e6e1b020577526f4177f1210099a820ecd98af3c616449b5dcf.png","bot":false,"created_at":"2020-08-10T00:55:50.000Z","display_name":"djsumdog","emojis":[],"fields":[{"name":"Admin","value":"hitchhiker.social"},{"name":"This Is","value":"My SoapBox + Pleroma Alt"}],"followers_count":406,"following_count":1053,"fqn":"djsumdog@djsumdog.com","header":"https://djsumdog.com/media/1d3f6cbeaa964cdb4fecb12817e791effc375fb97da1339da9b9d7f9ee803a9e.png","header_static":"https://djsumdog.com/media/1d3f6cbeaa964cdb4fecb12817e791effc375fb97da1339da9b9d7f9ee803a9e.png","id":"9xxmJgGlN2zWUNgXq4","locked":false,"note":"https://battlepenguin.com","pleroma":{"accepts_chat_messages":true,"also_known_as":[],"ap_id":"https://djsumdog.com/users/djsumdog","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":false,"hide_followers_count":false,"hide_follows":false,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":false},"sensitive":false},"statuses_count":5560,"url":"https://djsumdog.com/users/djsumdog","username":"djsumdog"},"application":null,"bookmarked":false,"card":null,"content":"@thor @hob 😋 🥢 🍜","created_at":"2021-09-07T18:54:46.000Z","emojis":[],"favourited":false,"favourites_count":1,"id":"AB7wXJgEdBSqdGAJai","in_reply_to_account_id":"9yeWMWk20YRSL0zHRw","in_reply_to_id":"AB7j3D4zJERC4K3bcG","language":null,"media_attachments":[],"mentions":[{"acct":"thor@pl.thj.no","id":"9yeWMWk20YRSL0zHRw","url":"https://pl.thj.no/users/thor","username":"thor"},{"acct":"hob","id":"AAZpysVFW9rCQUqDQ0","url":"https://piggo.space/users/hob","username":"hob"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@thor @hob 😋 🥢 🍜"},"conversation_id":6553388,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"thor@pl.thj.no","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":0,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://djsumdog.com/objects/effcbdd3-358e-431f-904a-d50f73472053","url":"https://djsumdog.com/objects/effcbdd3-358e-431f-904a-d50f73472053","visibility":"public"},{"account":{"acct":"thor@pl.thj.no","avatar":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","avatar_static":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","bot":false,"created_at":"2020-08-30T15:49:39.000Z","display_name":"ᚦᛟᚱᚱ","emojis":[],"fields":[{"name":"Matrix","value":"@thorthenorseman:matrix.org"},{"name":"Telegram","value":"ThorTheNorseman"},{"name":"Discord","value":"ThorTheNorseman#9581"},{"name":"Google","value":"thj@thj.no"},{"name":"iMessage","value":"thj@thj.no"},{"name":"Webshop","value":"https://thj.no/"}],"followers_count":1025,"following_count":559,"fqn":"thor@pl.thj.no","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"9yeWMWk20YRSL0zHRw","locked":false,"note":"Human who lives in Oslo, Norway. Slave of a ragdoll cat named Blizzard. I'm here to kill time, post funny shit and make some friends.

18+ account, not for the easily offended.","pleroma":{"accepts_chat_messages":true,"also_known_as":[],"ap_id":"https://pl.thj.no/users/thor","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":true,"hide_followers_count":false,"hide_follows":true,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":18399,"url":"https://pl.thj.no/users/thor","username":"thor"},"application":null,"bookmarked":false,"card":null,"content":"

@syscrash oops, one thing in common.

","created_at":"2021-09-07T18:54:06.000Z","emojis":[],"favourited":false,"favourites_count":0,"id":"AB7wVKXST6MKiQ74Km","in_reply_to_account_id":"A3Iyb5TUCARO50uxOa","in_reply_to_id":"AB7wVKRmoBp2QpSXUe","language":null,"media_attachments":[],"mentions":[{"acct":"syscrash@distrotoot.com","id":"A3Iyb5TUCARO50uxOa","url":"https://distrotoot.com/@syscrash","username":"syscrash"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@syscrash oops, one thing in common."},"conversation_id":6554438,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"syscrash@distrotoot.com","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":1,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://pl.thj.no/objects/4bd0e424-06e6-48ba-b7ab-686a192ee943","url":"https://pl.thj.no/objects/4bd0e424-06e6-48ba-b7ab-686a192ee943","visibility":"public"},{"account":{"acct":"sugarbell@handholding.gay","avatar":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","avatar_static":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","bot":false,"created_at":"2021-08-04T16:25:29.000Z","display_name":"Sugarbell♡","emojis":[{"shortcode":"ablobcatheartsqueeze","static_url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","visible_in_picker":false},{"shortcode":"blobcat3c","static_url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","visible_in_picker":false}],"fields":[{"name":"Pronouns","value":"They/Them, She/Her"},{"name":"Languages","value":"English, German"},{"name":"Loves","value":"You!"}],"followers_count":112,"following_count":130,"fqn":"sugarbell@handholding.gay","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"A9zFkAuIDcs17YggPQ","locked":true,"note":"

New main of @fluff@tiny-pillowfort.floating-in.space
༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

"isi sees problem isi hugs problem. isi is a simple human" -
@khaosgrille@fedi.absturztau.be

"love how isi just radiates pink energy
a pink aura
very pink

pinkpunk" -
@nekojanai@pl.neko.bar

"Isi ist wie eine Tasse Kaffee mit viel Milch und zwei Zuckerwürfeln
​:blobcat3c:​ " - @fristi@kartoffel.cafe

༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

Very much in love with
@steph@handholding.gay ​:ablobcatheartsqueeze:​

","pleroma":{"accepts_chat_messages":null,"also_known_as":[],"ap_id":"https://handholding.gay/users/8p03tszdvl","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":false,"hide_followers_count":false,"hide_follows":false,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":1182,"url":"https://handholding.gay/@sugarbell","username":"sugarbell"},"application":null,"bookmarked":false,"card":null,"content":"

@tost@mk.toast.cafe we could play together,,,,,,,,,,, 👉 👈
I have it on BOTH pc and switch

","created_at":"2021-09-07T18:54:08.000Z","emojis":[],"favourited":false,"favourites_count":0,"id":"AB7wU4jpjDubQDIqnI","in_reply_to_account_id":"A9sWIhMKJ79km8Z3ZI","in_reply_to_id":"AB7wU4eA4JNJ8ceJxA","language":null,"media_attachments":[],"mentions":[{"acct":"tost@mk.toast.cafe","id":"A9sWIhMKJ79km8Z3ZI","url":"https://mk.toast.cafe/@tost","username":"tost"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@tost@mk.toast.cafe we could play together,,,,,,,,,,, 👉 👈I have it on BOTH pc and switch"},"conversation_id":6554521,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"tost@mk.toast.cafe","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":1,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://handholding.gay/notes/8qdzx6fh44","url":"https://handholding.gay/notes/8qdzx6fh44","visibility":"unlisted"},{"account":{"acct":"thor@pl.thj.no","avatar":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","avatar_static":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","bot":false,"created_at":"2020-08-30T15:49:39.000Z","display_name":"ᚦᛟᚱᚱ","emojis":[],"fields":[{"name":"Matrix","value":"@thorthenorseman:matrix.org"},{"name":"Telegram","value":"ThorTheNorseman"},{"name":"Discord","value":"ThorTheNorseman#9581"},{"name":"Google","value":"thj@thj.no"},{"name":"iMessage","value":"thj@thj.no"},{"name":"Webshop","value":"https://thj.no/"}],"followers_count":1025,"following_count":559,"fqn":"thor@pl.thj.no","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"9yeWMWk20YRSL0zHRw","locked":false,"note":"Human who lives in Oslo, Norway. Slave of a ragdoll cat named Blizzard. I'm here to kill time, post funny shit and make some friends.

18+ account, not for the easily offended.","pleroma":{"accepts_chat_messages":true,"also_known_as":[],"ap_id":"https://pl.thj.no/users/thor","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":true,"hide_followers_count":false,"hide_follows":true,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":18399,"url":"https://pl.thj.no/users/thor","username":"thor"},"application":null,"bookmarked":false,"card":null,"content":"

@urien2 tasted pretty awesome. it would’ve been taken up a notch further if i had had sesame oil to drizzle on top. that stuff smells like a Chinese restaurant.

","created_at":"2021-09-07T18:53:46.000Z","emojis":[],"favourited":false,"favourites_count":0,"id":"AB7wSf5laxAVakt7lQ","in_reply_to_account_id":"9zzKbUYzRmscizP4SW","in_reply_to_id":"AB7wKVWBJ5dpa9M4ga","language":null,"media_attachments":[],"mentions":[{"acct":"urien2@floss.social","id":"9zzKbUYzRmscizP4SW","url":"https://floss.social/@urien2","username":"urien2"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@urien2 tasted pretty awesome. it would’ve been taken up a notch further if i had had sesame oil to drizzle on top. that stuff smells like a Chinese restaurant."},"conversation_id":6553388,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"urien2@floss.social","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":0,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://pl.thj.no/objects/15fe14f6-2f3a-4fb3-aa1e-839cc6678dc3","url":"https://pl.thj.no/objects/15fe14f6-2f3a-4fb3-aa1e-839cc6678dc3","visibility":"public"},{"account":{"acct":"sugarbell@handholding.gay","avatar":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","avatar_static":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","bot":false,"created_at":"2021-08-04T16:25:29.000Z","display_name":"Sugarbell♡","emojis":[{"shortcode":"ablobcatheartsqueeze","static_url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","visible_in_picker":false},{"shortcode":"blobcat3c","static_url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","visible_in_picker":false}],"fields":[{"name":"Pronouns","value":"They/Them, She/Her"},{"name":"Languages","value":"English, German"},{"name":"Loves","value":"You!"}],"followers_count":112,"following_count":130,"fqn":"sugarbell@handholding.gay","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"A9zFkAuIDcs17YggPQ","locked":true,"note":"

New main of @fluff@tiny-pillowfort.floating-in.space
༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

"isi sees problem isi hugs problem. isi is a simple human" -
@khaosgrille@fedi.absturztau.be

"love how isi just radiates pink energy
a pink aura
very pink

pinkpunk" -
@nekojanai@pl.neko.bar

"Isi ist wie eine Tasse Kaffee mit viel Milch und zwei Zuckerwürfeln
​:blobcat3c:​ " - @fristi@kartoffel.cafe

༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

Very much in love with
@steph@handholding.gay ​:ablobcatheartsqueeze:​

","pleroma":{"accepts_chat_messages":null,"also_known_as":[],"ap_id":"https://handholding.gay/users/8p03tszdvl","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":false,"hide_followers_count":false,"hide_follows":false,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":1182,"url":"https://handholding.gay/@sugarbell","username":"sugarbell"},"application":null,"bookmarked":false,"card":null,"content":"

@feli@mk.paritybit.ca I HAVE SERIOUS HEARTBREAK OVER MINKA ​:ablobcatcry:​ (the gorgeous black boop cat of the ex that's three exes ago)

","created_at":"2021-09-07T18:53:36.000Z","emojis":[{"shortcode":"ablobcatcry","static_url":"https://handholding.gay/files/adb4b6bf-8808-4648-a4a9-d6da809dc03c","url":"https://handholding.gay/files/adb4b6bf-8808-4648-a4a9-d6da809dc03c","visible_in_picker":false}],"favourited":false,"favourites_count":0,"id":"AB7wR6JDQrI5QNQzlA","in_reply_to_account_id":"AA73mQfIxMEUO7fH4S","in_reply_to_id":"AB7wNLyHG4gwqFqzui","language":null,"media_attachments":[],"mentions":[{"acct":"feli@mk.paritybit.ca","id":"AA73mQfIxMEUO7fH4S","url":"https://mk.paritybit.ca/@feli","username":"feli"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@feli@mk.paritybit.ca I HAVE SERIOUS HEARTBREAK OVER MINKA ​:ablobcatcry:​ (the gorgeous black boop cat of the ex that's three exes ago)"},"conversation_id":6554504,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"feli@mk.paritybit.ca","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":0,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://handholding.gay/notes/8qdzwi3g3d","url":"https://handholding.gay/notes/8qdzwi3g3d","visibility":"public"},{"account":{"acct":"sugarbell@handholding.gay","avatar":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","avatar_static":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","bot":false,"created_at":"2021-08-04T16:25:29.000Z","display_name":"Sugarbell♡","emojis":[{"shortcode":"ablobcatheartsqueeze","static_url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","visible_in_picker":false},{"shortcode":"blobcat3c","static_url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","visible_in_picker":false}],"fields":[{"name":"Pronouns","value":"They/Them, She/Her"},{"name":"Languages","value":"English, German"},{"name":"Loves","value":"You!"}],"followers_count":112,"following_count":130,"fqn":"sugarbell@handholding.gay","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"A9zFkAuIDcs17YggPQ","locked":true,"note":"

New main of @fluff@tiny-pillowfort.floating-in.space
༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

"isi sees problem isi hugs problem. isi is a simple human" -
@khaosgrille@fedi.absturztau.be

"love how isi just radiates pink energy
a pink aura
very pink

pinkpunk" -
@nekojanai@pl.neko.bar

"Isi ist wie eine Tasse Kaffee mit viel Milch und zwei Zuckerwürfeln
​:blobcat3c:​ " - @fristi@kartoffel.cafe

༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

Very much in love with
@steph@handholding.gay ​:ablobcatheartsqueeze:​

","pleroma":{"accepts_chat_messages":null,"also_known_as":[],"ap_id":"https://handholding.gay/users/8p03tszdvl","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":false,"hide_followers_count":false,"hide_follows":false,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":1182,"url":"https://handholding.gay/@sugarbell","username":"sugarbell"},"application":null,"bookmarked":false,"card":null,"content":"

@erikk@chaos.social definitely pronounced WRONG xd
whatever Steph just said was NOT Schwarzwälderkirschtorte

","created_at":"2021-09-07T18:52:33.000Z","emojis":[],"favourited":false,"favourites_count":0,"id":"AB7wLFBBXUB9CLsxLU","in_reply_to_account_id":"9znDCtxpVqwr7vw1Fw","in_reply_to_id":"AB7wLF5rrFvQvrOi3c","language":null,"media_attachments":[],"mentions":[{"acct":"erikk@chaos.social","id":"9znDCtxpVqwr7vw1Fw","url":"https://chaos.social/@erikk","username":"erikk"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@erikk@chaos.social definitely pronounced WRONG xdwhatever Steph just said was NOT Schwarzwälderkirschtorte"},"conversation_id":6554490,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"erikk@chaos.social","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":0,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://handholding.gay/notes/8qdzv50f0e","url":"https://handholding.gay/notes/8qdzv50f0e","visibility":"unlisted"},{"account":{"acct":"sugarbell@handholding.gay","avatar":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","avatar_static":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","bot":false,"created_at":"2021-08-04T16:25:29.000Z","display_name":"Sugarbell♡","emojis":[{"shortcode":"ablobcatheartsqueeze","static_url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","visible_in_picker":false},{"shortcode":"blobcat3c","static_url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","visible_in_picker":false}],"fields":[{"name":"Pronouns","value":"They/Them, She/Her"},{"name":"Languages","value":"English, German"},{"name":"Loves","value":"You!"}],"followers_count":112,"following_count":130,"fqn":"sugarbell@handholding.gay","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"A9zFkAuIDcs17YggPQ","locked":true,"note":"

New main of @fluff@tiny-pillowfort.floating-in.space
༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

"isi sees problem isi hugs problem. isi is a simple human" -
@khaosgrille@fedi.absturztau.be

"love how isi just radiates pink energy
a pink aura
very pink

pinkpunk" -
@nekojanai@pl.neko.bar

"Isi ist wie eine Tasse Kaffee mit viel Milch und zwei Zuckerwürfeln
​:blobcat3c:​ " - @fristi@kartoffel.cafe

༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

Very much in love with
@steph@handholding.gay ​:ablobcatheartsqueeze:​

","pleroma":{"accepts_chat_messages":null,"also_known_as":[],"ap_id":"https://handholding.gay/users/8p03tszdvl","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":false,"hide_followers_count":false,"hide_follows":false,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":1182,"url":"https://handholding.gay/@sugarbell","username":"sugarbell"},"application":null,"bookmarked":false,"content":"Me: creates a yandere d&d character on a setting yet and it looks really pawfessional :akko_aww:","created_at":"2021-09-07T18:51:26.000Z","emojis":[],"favourited":false,"favourites_count":0,"id":"AB7wF3Cf9ZC8JjciKu","in_reply_to_account_id":null,"in_reply_to_id":null,"language":null,"media_attachments":[],"mentions":[],"muted":false,"pinned":false,"pleroma":{"local":false},"reblog":{"account":{"acct":"isi_ebooks@tiny-pillowfort.floating-in.space","avatar":"https://tiny-pillowfort.floating-in.space/media/fc475d1c744eaa08aedf46931c7d68c5aa4f4369d3a5669190a85162a9f225b6.blob","avatar_static":"https://tiny-pillowfort.floating-in.space/media/fc475d1c744eaa08aedf46931c7d68c5aa4f4369d3a5669190a85162a9f225b6.blob","bot":true,"created_at":"2021-07-11T18:29:26.000Z","display_name":"iwi","emojis":[{"shortcode":"meowgiggle","static_url":"https://tiny-pillowfort.floating-in.space/emoji/Meow/meowgiggle.png","url":"https://tiny-pillowfort.floating-in.space/emoji/Meow/meowgiggle.png","visible_in_picker":false}],"fields":[],"followers_count":0,"following_count":0,"fqn":"isi_ebooks@tiny-pillowfort.floating-in.space","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"A9BgTTp5daCMzaVLZA","locked":false,"note":"ebooks bot of @fluff@tiny-pillowfort.floating-in.space

code: https://code.steph.tools/steph/pleroma-ebooks/
(therefore responsible: @steph@is.badat.dev :meowgiggle: )","pleroma":{"accepts_chat_messages":true,"also_known_as":[],"ap_id":"https://tiny-pillowfort.floating-in.space/users/isi_ebooks","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":false,"hide_followers_count":false,"hide_follows":false,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Service","discoverable":true},"sensitive":false},"statuses_count":117,"url":"https://tiny-pillowfort.floating-in.space/users/isi_ebooks","username":"isi_ebooks"},"application":null,"bookmarked":false,"card":null,"content":"Me: creates a yandere d&d character on a setting yet and it looks really pawfessional :akko_aww:","created_at":"2021-09-07T18:51:20.000Z","emojis":[{"shortcode":"akko_aww","static_url":"https://tiny-pillowfort.floating-in.space/emoji/Akko/akko_aww.png","url":"https://tiny-pillowfort.floating-in.space/emoji/Akko/akko_aww.png","visible_in_picker":false}],"favourited":false,"favourites_count":0,"id":"AB7wF38PPNnA6XdJho","in_reply_to_account_id":null,"in_reply_to_id":null,"language":null,"media_attachments":[],"mentions":[],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"Me: creates a yandere d&d character on a setting yet and it looks really pawfessional :akko_aww:"},"conversation_id":6554494,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":null,"local":false,"parent_visible":false,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":1,"replies_count":0,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://tiny-pillowfort.floating-in.space/objects/0e47c3d5-8e40-41bc-8424-7b6133f2ac16","url":"https://tiny-pillowfort.floating-in.space/objects/0e47c3d5-8e40-41bc-8424-7b6133f2ac16","visibility":"unlisted"},"reblogged":false,"reblogs_count":0,"replies_count":0,"sensitive":false,"spoiler_text":"","tags":[],"uri":"https://tiny-pillowfort.floating-in.space/objects/0e47c3d5-8e40-41bc-8424-7b6133f2ac16","url":"https://tiny-pillowfort.floating-in.space/objects/0e47c3d5-8e40-41bc-8424-7b6133f2ac16","visibility":"unlisted"},{"account":{"acct":"thor@pl.thj.no","avatar":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","avatar_static":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","bot":false,"created_at":"2020-08-30T15:49:39.000Z","display_name":"ᚦᛟᚱᚱ","emojis":[],"fields":[{"name":"Matrix","value":"@thorthenorseman:matrix.org"},{"name":"Telegram","value":"ThorTheNorseman"},{"name":"Discord","value":"ThorTheNorseman#9581"},{"name":"Google","value":"thj@thj.no"},{"name":"iMessage","value":"thj@thj.no"},{"name":"Webshop","value":"https://thj.no/"}],"followers_count":1025,"following_count":559,"fqn":"thor@pl.thj.no","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"9yeWMWk20YRSL0zHRw","locked":false,"note":"Human who lives in Oslo, Norway. Slave of a ragdoll cat named Blizzard. I'm here to kill time, post funny shit and make some friends.

18+ account, not for the easily offended.","pleroma":{"accepts_chat_messages":true,"also_known_as":[],"ap_id":"https://pl.thj.no/users/thor","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":true,"hide_followers_count":false,"hide_follows":true,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":18399,"url":"https://pl.thj.no/users/thor","username":"thor"},"application":null,"bookmarked":false,"card":null,"content":"

@syscrash what’s funny is that the extreme left and the extreme right have two things in common: their refusal to accept differences in people.

","created_at":"2021-09-07T18:51:11.000Z","emojis":[],"favourited":false,"favourites_count":0,"id":"AB7wEPV2lo89B9upQu","in_reply_to_account_id":"9yeWMWk20YRSL0zHRw","in_reply_to_id":"AB7vqXFGJy7IFd9KMK","language":null,"media_attachments":[],"mentions":[{"acct":"thor@pl.thj.no","id":"9yeWMWk20YRSL0zHRw","url":"https://pl.thj.no/users/thor","username":"thor"},{"acct":"syscrash@distrotoot.com","id":"A3Iyb5TUCARO50uxOa","url":"https://distrotoot.com/@syscrash","username":"syscrash"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@syscrash what’s funny is that the extreme left and the extreme right have two things in common: their refusal to accept differences in people."},"conversation_id":6554438,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"thor@pl.thj.no","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":1,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://pl.thj.no/objects/e728d20f-4bea-419a-87bf-cad327cda26a","url":"https://pl.thj.no/objects/e728d20f-4bea-419a-87bf-cad327cda26a","visibility":"public"},{"account":{"acct":"sugarbell@handholding.gay","avatar":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","avatar_static":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","bot":false,"created_at":"2021-08-04T16:25:29.000Z","display_name":"Sugarbell♡","emojis":[{"shortcode":"ablobcatheartsqueeze","static_url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","visible_in_picker":false},{"shortcode":"blobcat3c","static_url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","visible_in_picker":false}],"fields":[{"name":"Pronouns","value":"They/Them, She/Her"},{"name":"Languages","value":"English, German"},{"name":"Loves","value":"You!"}],"followers_count":112,"following_count":130,"fqn":"sugarbell@handholding.gay","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"A9zFkAuIDcs17YggPQ","locked":true,"note":"

New main of @fluff@tiny-pillowfort.floating-in.space
༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

"isi sees problem isi hugs problem. isi is a simple human" -
@khaosgrille@fedi.absturztau.be

"love how isi just radiates pink energy
a pink aura
very pink

pinkpunk" -
@nekojanai@pl.neko.bar

"Isi ist wie eine Tasse Kaffee mit viel Milch und zwei Zuckerwürfeln
​:blobcat3c:​ " - @fristi@kartoffel.cafe

༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

Very much in love with
@steph@handholding.gay ​:ablobcatheartsqueeze:​

","pleroma":{"accepts_chat_messages":null,"also_known_as":[],"ap_id":"https://handholding.gay/users/8p03tszdvl","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":false,"hide_followers_count":false,"hide_follows":false,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":1182,"url":"https://handholding.gay/@sugarbell","username":"sugarbell"},"application":null,"bookmarked":false,"card":null,"content":"

(I'm bullying Steph, he just had huge problems with "Schwarzwälderkirschtorte" ​:meowgiggle:​ )

","created_at":"2021-09-07T18:51:09.000Z","emojis":[{"shortcode":"meowgiggle","static_url":"https://handholding.gay/files/ddc2ae76-a4ed-46c0-addd-d2d3ee926eac","url":"https://handholding.gay/files/ddc2ae76-a4ed-46c0-addd-d2d3ee926eac","visible_in_picker":false}],"favourited":false,"favourites_count":0,"id":"AB7wDU0EXgcIr63uzo","in_reply_to_account_id":"A9zFkAuIDcs17YggPQ","in_reply_to_id":"AB7w8VBCjsn33doohE","language":null,"media_attachments":[],"mentions":[],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"(I'm bullying Steph, he just had huge problems with \"Schwarzwälderkirschtorte\" ​:meowgiggle:​ )"},"conversation_id":6554490,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"sugarbell@handholding.gay","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":2,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://handholding.gay/notes/8qdztc5mvn","url":"https://handholding.gay/notes/8qdztc5mvn","visibility":"public"},{"account":{"acct":"sugarbell@handholding.gay","avatar":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","avatar_static":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","bot":false,"created_at":"2021-08-04T16:25:29.000Z","display_name":"Sugarbell♡","emojis":[{"shortcode":"ablobcatheartsqueeze","static_url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","visible_in_picker":false},{"shortcode":"blobcat3c","static_url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","visible_in_picker":false}],"fields":[{"name":"Pronouns","value":"They/Them, She/Her"},{"name":"Languages","value":"English, German"},{"name":"Loves","value":"You!"}],"followers_count":112,"following_count":130,"fqn":"sugarbell@handholding.gay","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"A9zFkAuIDcs17YggPQ","locked":true,"note":"

New main of @fluff@tiny-pillowfort.floating-in.space
༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

"isi sees problem isi hugs problem. isi is a simple human" -
@khaosgrille@fedi.absturztau.be

"love how isi just radiates pink energy
a pink aura
very pink

pinkpunk" -
@nekojanai@pl.neko.bar

"Isi ist wie eine Tasse Kaffee mit viel Milch und zwei Zuckerwürfeln
​:blobcat3c:​ " - @fristi@kartoffel.cafe

༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

Very much in love with
@steph@handholding.gay ​:ablobcatheartsqueeze:​

","pleroma":{"accepts_chat_messages":null,"also_known_as":[],"ap_id":"https://handholding.gay/users/8p03tszdvl","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":false,"hide_followers_count":false,"hide_follows":false,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":1182,"url":"https://handholding.gay/@sugarbell","username":"sugarbell"},"application":null,"bookmarked":false,"card":null,"content":"

which is harder to pronounce? ​:meowgiggle:​

","created_at":"2021-09-07T18:50:15.000Z","emojis":[{"shortcode":"meowgiggle","static_url":"https://handholding.gay/files/ddc2ae76-a4ed-46c0-addd-d2d3ee926eac","url":"https://handholding.gay/files/ddc2ae76-a4ed-46c0-addd-d2d3ee926eac","visible_in_picker":false}],"favourited":false,"favourites_count":0,"id":"AB7w8VBCjsn33doohE","in_reply_to_account_id":null,"in_reply_to_id":null,"language":null,"media_attachments":[],"mentions":[],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"which is harder to pronounce? ​:meowgiggle:​"},"conversation_id":6554490,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":null,"local":false,"parent_visible":false,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":{"emojis":[{"shortcode":"meowgiggle","static_url":"https://handholding.gay/files/ddc2ae76-a4ed-46c0-addd-d2d3ee926eac","url":"https://handholding.gay/files/ddc2ae76-a4ed-46c0-addd-d2d3ee926eac","visible_in_picker":false}],"expired":false,"expires_at":null,"id":"6554491","multiple":false,"options":[{"title":"Absturztaube","votes_count":0},{"title":"Schwarzwälderkirschtorte","votes_count":0}],"own_votes":[],"voted":false,"voters_count":0,"votes_count":0},"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":1,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://handholding.gay/notes/8qdzs6f3uh","url":"https://handholding.gay/notes/8qdzs6f3uh","visibility":"public"},{"account":{"acct":"thor@pl.thj.no","avatar":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","avatar_static":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","bot":false,"created_at":"2020-08-30T15:49:39.000Z","display_name":"ᚦᛟᚱᚱ","emojis":[],"fields":[{"name":"Matrix","value":"@thorthenorseman:matrix.org"},{"name":"Telegram","value":"ThorTheNorseman"},{"name":"Discord","value":"ThorTheNorseman#9581"},{"name":"Google","value":"thj@thj.no"},{"name":"iMessage","value":"thj@thj.no"},{"name":"Webshop","value":"https://thj.no/"}],"followers_count":1025,"following_count":559,"fqn":"thor@pl.thj.no","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"9yeWMWk20YRSL0zHRw","locked":false,"note":"Human who lives in Oslo, Norway. Slave of a ragdoll cat named Blizzard. I'm here to kill time, post funny shit and make some friends.

18+ account, not for the easily offended.","pleroma":{"accepts_chat_messages":true,"also_known_as":[],"ap_id":"https://pl.thj.no/users/thor","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":true,"hide_followers_count":false,"hide_follows":true,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":18399,"url":"https://pl.thj.no/users/thor","username":"thor"},"application":null,"bookmarked":false,"card":null,"content":"

@aety be sure to add a little pasta to that parmesan

","created_at":"2021-09-07T18:49:48.000Z","emojis":[],"favourited":false,"favourites_count":0,"id":"AB7w7Gl0sMgK2OypJw","in_reply_to_account_id":"AALofPC3Rhhzr4ZhfU","in_reply_to_id":"AB7ugmGrV6sW0EgHg0","language":null,"media_attachments":[],"mentions":[{"acct":"aety@mk.absturztau.be","id":"AALofPC3Rhhzr4ZhfU","url":"https://mk.absturztau.be/@aety","username":"aety"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@aety be sure to add a little pasta to that parmesan"},"conversation_id":6554389,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"aety@mk.absturztau.be","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":1,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://pl.thj.no/objects/332da3cf-652f-4e38-8c7b-ecc5acac9acc","url":"https://pl.thj.no/objects/332da3cf-652f-4e38-8c7b-ecc5acac9acc","visibility":"public"},{"account":{"acct":"sugarbell@handholding.gay","avatar":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","avatar_static":"https://handholding.gay/files/89d379ae-d27a-4241-a5b0-2d6ec8d59d4d","bot":false,"created_at":"2021-08-04T16:25:29.000Z","display_name":"Sugarbell♡","emojis":[{"shortcode":"ablobcatheartsqueeze","static_url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","url":"https://handholding.gay/files/7f90a0b8-17a6-493a-af52-f7a889168d61","visible_in_picker":false},{"shortcode":"blobcat3c","static_url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","url":"https://handholding.gay/files/a0de5a33-b95c-4d34-9665-06071176e726","visible_in_picker":false}],"fields":[{"name":"Pronouns","value":"They/Them, She/Her"},{"name":"Languages","value":"English, German"},{"name":"Loves","value":"You!"}],"followers_count":112,"following_count":130,"fqn":"sugarbell@handholding.gay","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"A9zFkAuIDcs17YggPQ","locked":true,"note":"

New main of @fluff@tiny-pillowfort.floating-in.space
༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

"isi sees problem isi hugs problem. isi is a simple human" -
@khaosgrille@fedi.absturztau.be

"love how isi just radiates pink energy
a pink aura
very pink

pinkpunk" -
@nekojanai@pl.neko.bar

"Isi ist wie eine Tasse Kaffee mit viel Milch und zwei Zuckerwürfeln
​:blobcat3c:​ " - @fristi@kartoffel.cafe

༶•┈┈⛧┈♛ ♛┈⛧┈┈•༶

Very much in love with
@steph@handholding.gay ​:ablobcatheartsqueeze:​

","pleroma":{"accepts_chat_messages":null,"also_known_as":[],"ap_id":"https://handholding.gay/users/8p03tszdvl","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":false,"hide_followers_count":false,"hide_follows":false,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":1182,"url":"https://handholding.gay/@sugarbell","username":"sugarbell"},"application":null,"bookmarked":false,"card":null,"content":"

@feli@mk.paritybit.ca ikr ​:meowsurprised:​

","created_at":"2021-09-07T18:48:29.000Z","emojis":[{"shortcode":"meowsurprised","static_url":"https://handholding.gay/files/f0ec5257-2f01-4dcb-ac0a-5c03c6ef92ce","url":"https://handholding.gay/files/f0ec5257-2f01-4dcb-ac0a-5c03c6ef92ce","visible_in_picker":false}],"favourited":false,"favourites_count":0,"id":"AB7vykOPK4s3LOLJmS","in_reply_to_account_id":"AA73mQfIxMEUO7fH4S","in_reply_to_id":"AB7vyDDcf9dUSO2jtA","language":null,"media_attachments":[],"mentions":[{"acct":"feli@mk.paritybit.ca","id":"AA73mQfIxMEUO7fH4S","url":"https://mk.paritybit.ca/@feli","username":"feli"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@feli@mk.paritybit.ca ikr ​:meowsurprised:​"},"conversation_id":6554366,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"feli@mk.paritybit.ca","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":0,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://handholding.gay/notes/8qdzpwxkrq","url":"https://handholding.gay/notes/8qdzpwxkrq","visibility":"public"},{"account":{"acct":"thor@pl.thj.no","avatar":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","avatar_static":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","bot":false,"created_at":"2020-08-30T15:49:39.000Z","display_name":"ᚦᛟᚱᚱ","emojis":[],"fields":[{"name":"Matrix","value":"@thorthenorseman:matrix.org"},{"name":"Telegram","value":"ThorTheNorseman"},{"name":"Discord","value":"ThorTheNorseman#9581"},{"name":"Google","value":"thj@thj.no"},{"name":"iMessage","value":"thj@thj.no"},{"name":"Webshop","value":"https://thj.no/"}],"followers_count":1025,"following_count":559,"fqn":"thor@pl.thj.no","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"9yeWMWk20YRSL0zHRw","locked":false,"note":"Human who lives in Oslo, Norway. Slave of a ragdoll cat named Blizzard. I'm here to kill time, post funny shit and make some friends.

18+ account, not for the easily offended.","pleroma":{"accepts_chat_messages":true,"also_known_as":[],"ap_id":"https://pl.thj.no/users/thor","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":true,"hide_followers_count":false,"hide_follows":true,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":18399,"url":"https://pl.thj.no/users/thor","username":"thor"},"application":null,"bookmarked":false,"card":null,"content":"

@syscrash can’t discriminate if everyone’s the same.

(the critical theory of the left gets dangerously close to this at times, with its ideas that we’re all born as blank slates and are shaped by our environment)

","created_at":"2021-09-07T18:46:53.000Z","emojis":[],"favourited":false,"favourites_count":0,"id":"AB7vqXFGJy7IFd9KMK","in_reply_to_account_id":"9yeWMWk20YRSL0zHRw","in_reply_to_id":"AB7vjDJq0Y1AQLnZSa","language":null,"media_attachments":[],"mentions":[{"acct":"thor@pl.thj.no","id":"9yeWMWk20YRSL0zHRw","url":"https://pl.thj.no/users/thor","username":"thor"},{"acct":"syscrash@distrotoot.com","id":"A3Iyb5TUCARO50uxOa","url":"https://distrotoot.com/@syscrash","username":"syscrash"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@syscrash can’t discriminate if everyone’s the same.(the critical theory of the left gets dangerously close to this at times, with its ideas that we’re all born as blank slates and are shaped by our environment)"},"conversation_id":6554438,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"thor@pl.thj.no","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":1,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://pl.thj.no/objects/1d44f04b-9e10-456e-9679-82235955d147","url":"https://pl.thj.no/objects/1d44f04b-9e10-456e-9679-82235955d147","visibility":"public"},{"account":{"acct":"thor@pl.thj.no","avatar":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","avatar_static":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","bot":false,"created_at":"2020-08-30T15:49:39.000Z","display_name":"ᚦᛟᚱᚱ","emojis":[],"fields":[{"name":"Matrix","value":"@thorthenorseman:matrix.org"},{"name":"Telegram","value":"ThorTheNorseman"},{"name":"Discord","value":"ThorTheNorseman#9581"},{"name":"Google","value":"thj@thj.no"},{"name":"iMessage","value":"thj@thj.no"},{"name":"Webshop","value":"https://thj.no/"}],"followers_count":1025,"following_count":559,"fqn":"thor@pl.thj.no","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"9yeWMWk20YRSL0zHRw","locked":false,"note":"Human who lives in Oslo, Norway. Slave of a ragdoll cat named Blizzard. I'm here to kill time, post funny shit and make some friends.

18+ account, not for the easily offended.","pleroma":{"accepts_chat_messages":true,"also_known_as":[],"ap_id":"https://pl.thj.no/users/thor","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":true,"hide_followers_count":false,"hide_follows":true,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":18399,"url":"https://pl.thj.no/users/thor","username":"thor"},"application":null,"bookmarked":false,"card":null,"content":"

@syscrash ah, the solution to discrimination: erase all individuality.

","created_at":"2021-09-07T18:45:33.000Z","emojis":[],"favourited":false,"favourites_count":0,"id":"AB7vjDJq0Y1AQLnZSa","in_reply_to_account_id":"A3Iyb5TUCARO50uxOa","in_reply_to_id":"AB7vcEJ9vrC5Sr9Pmq","language":null,"media_attachments":[],"mentions":[{"acct":"syscrash@distrotoot.com","id":"A3Iyb5TUCARO50uxOa","url":"https://distrotoot.com/@syscrash","username":"syscrash"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@syscrash ah, the solution to discrimination: erase all individuality."},"conversation_id":6554438,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"syscrash@distrotoot.com","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":1,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://pl.thj.no/objects/3fe82d31-dfc2-46de-b670-b3976251030f","url":"https://pl.thj.no/objects/3fe82d31-dfc2-46de-b670-b3976251030f","visibility":"public"},{"account":{"acct":"mia@movsw.0x0.st","avatar":"https://movsw.0x0.st/files/webpublic-83601f60-e61b-4493-a370-35252f6a0f80","avatar_static":"https://movsw.0x0.st/files/webpublic-83601f60-e61b-4493-a370-35252f6a0f80","bot":false,"created_at":"2021-08-04T12:42:22.000Z","display_name":"miauz genyau","emojis":[],"fields":[],"followers_count":123,"following_count":89,"fqn":"mia@movsw.0x0.st","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"A9yvpc2ukIFtej2GW0","locked":true,"note":"

* i run 0x0.st
* certified cofe hag
* smol and cuddly
* let’s be friends?

","pleroma":{"accepts_chat_messages":null,"also_known_as":[],"ap_id":"https://movsw.0x0.st/users/8p0om90evq","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":false,"hide_followers_count":false,"hide_follows":false,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":630,"url":"https://movsw.0x0.st/@mia","username":"mia"},"application":null,"bookmarked":false,"card":null,"content":"

@emilis@jigglypuff.club @meeper@outerheaven.club thanks ​:meowowohappy:​

must be my grandmother’s genes; she’s always looked at least 10 years younger than she was (and that in spite of being a heavy smoker)

","created_at":"2021-09-07T18:43:13.000Z","emojis":[{"shortcode":"meowowohappy","static_url":"https://movsw.0x0.st/files/ab049057-2ffc-40cc-a74e-08d72a1a74e9","url":"https://movsw.0x0.st/files/ab049057-2ffc-40cc-a74e-08d72a1a74e9","visible_in_picker":false}],"favourited":false,"favourites_count":0,"id":"AB7vVQoR2hT0DeXQwq","in_reply_to_account_id":"A9LIM0cNMsI94I3sp6","in_reply_to_id":"AB7vVQjTL9UryGDTDE","language":null,"media_attachments":[],"mentions":[{"acct":"meeper@outerheaven.club","id":"A50eMVusJkZJkH7c8W","url":"https://outerheaven.club/users/meeper","username":"meeper"},{"acct":"emilis@jigglypuff.club","id":"A9LIM0cNMsI94I3sp6","url":"https://jigglypuff.club/@emilis","username":"emilis"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@emilis@jigglypuff.club @meeper@outerheaven.club thanks ​:meowowohappy:​must be my grandmother’s genes; she’s always looked at least 10 years younger than she was (and that in spite of being a heavy smoker)"},"conversation_id":6553973,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"emilis@jigglypuff.club","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":0,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://movsw.0x0.st/notes/8qdzj52l2k","url":"https://movsw.0x0.st/notes/8qdzj52l2k","visibility":"unlisted"},{"account":{"acct":"thor@pl.thj.no","avatar":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","avatar_static":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","bot":false,"created_at":"2020-08-30T15:49:39.000Z","display_name":"ᚦᛟᚱᚱ","emojis":[],"fields":[{"name":"Matrix","value":"@thorthenorseman:matrix.org"},{"name":"Telegram","value":"ThorTheNorseman"},{"name":"Discord","value":"ThorTheNorseman#9581"},{"name":"Google","value":"thj@thj.no"},{"name":"iMessage","value":"thj@thj.no"},{"name":"Webshop","value":"https://thj.no/"}],"followers_count":1025,"following_count":559,"fqn":"thor@pl.thj.no","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"9yeWMWk20YRSL0zHRw","locked":false,"note":"Human who lives in Oslo, Norway. Slave of a ragdoll cat named Blizzard. I'm here to kill time, post funny shit and make some friends.

18+ account, not for the easily offended.","pleroma":{"accepts_chat_messages":true,"also_known_as":[],"ap_id":"https://pl.thj.no/users/thor","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":true,"hide_followers_count":false,"hide_follows":true,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":18399,"url":"https://pl.thj.no/users/thor","username":"thor"},"application":null,"bookmarked":false,"card":null,"content":"

there is no smaller minority than the individual. it’s also the most oppressed and discriminated minority, because it receives no recognition.

","created_at":"2021-09-07T18:42:08.000Z","emojis":[],"favourited":false,"favourites_count":0,"id":"AB7vQz4sDacb2i6fFg","in_reply_to_account_id":null,"in_reply_to_id":null,"language":null,"media_attachments":[],"mentions":[],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"there is no smaller minority than the individual. it’s also the most oppressed and discriminated minority, because it receives no recognition."},"conversation_id":6554438,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":null,"local":false,"parent_visible":false,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":1,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://pl.thj.no/objects/73848aca-e22c-4d87-85e1-a95495b70220","url":"https://pl.thj.no/objects/73848aca-e22c-4d87-85e1-a95495b70220","visibility":"public"},{"account":{"acct":"piggo","avatar":"https://piggo.space/media/db3922d9af9f8993e3273952a945e5a86cf1b03cd2e3acad69a5953e5536c1bc.png?name=blob.png","avatar_static":"https://piggo.space/media/db3922d9af9f8993e3273952a945e5a86cf1b03cd2e3acad69a5953e5536c1bc.png?name=blob.png","bot":false,"created_at":"2018-12-07T18:18:41.000Z","display_name":"piggosaurus","emojis":[{"shortcode":"arch","static_url":"https://piggo.space/emoji/custom/arch.png","url":"https://piggo.space/emoji/custom/arch.png","visible_in_picker":false},{"shortcode":"ferris","static_url":"https://piggo.space/emoji/custom/ferris.png","url":"https://piggo.space/emoji/custom/ferris.png","visible_in_picker":false},{"shortcode":"pain1","static_url":"https://piggo.space/emoji/custom/pain1.png","url":"https://piggo.space/emoji/custom/pain1.png","visible_in_picker":false},{"shortcode":"pain2","static_url":"https://piggo.space/emoji/custom/pain2.png","url":"https://piggo.space/emoji/custom/pain2.png","visible_in_picker":false},{"shortcode":"pain3","static_url":"https://piggo.space/emoji/custom/pain3.png","url":"https://piggo.space/emoji/custom/pain3.png","visible_in_picker":false},{"shortcode":"pain4","static_url":"https://piggo.space/emoji/custom/pain4.png","url":"https://piggo.space/emoji/custom/pain4.png","visible_in_picker":false},{"shortcode":"rust","static_url":"https://piggo.space/emoji/custom/rust.png","url":"https://piggo.space/emoji/custom/rust.png","visible_in_picker":false},{"shortcode":"yell","static_url":"https://piggo.space/emoji/custom/yell.png","url":"https://piggo.space/emoji/custom/yell.png","visible_in_picker":false},{"shortcode":"yell_right","static_url":"https://piggo.space/emoji/custom/yell_right.png","url":"https://piggo.space/emoji/custom/yell_right.png","visible_in_picker":false}],"fields":[],"followers_count":714,"following_count":342,"fqn":"piggo@piggo.space","header":"https://piggo.space/media/5e9fc5037816deb5cd18296bd03d757d4770b0d4dd2ff37e82669b7afd6a4d26.jpg","header_static":"https://piggo.space/media/5e9fc5037816deb5cd18296bd03d757d4770b0d4dd2ff37e82669b7afd6a4d26.jpg","id":"1","locked":true,"note":"🙟 hey did u know about bread 🙝

:yell_right: :pain1:‍:pain2:‍:pain3:‍:pain4: :yell: :yell:

using :arch:¹ and yelling at computer every day

❋ LLAP ❋

www.ondrovo.com

🥐 https://git.ondrovo.com/MightyPork/crsn

! catgirls have 2 pairs of ears !

ponys favourite pig™

Pleroma groups: https://git.ondrovo.com/MightyPork/group-actor :ferris:
Groups news: @fedigroups@piggo.space
Cooking group: @hob@piggo.space

Check my bread gallery → https://www.ondrovo.com/bread/

:rust:

🇨🇿, 🇬🇧, 🇪🇸

Account is locked to avoid followbots²

***
¹this is not an endorsement
²I will probably accept your follow request if you can click on all the traffic lights","pleroma":{"accepts_chat_messages":true,"also_known_as":[],"ap_id":"https://piggo.space/users/piggo","background_image":"https://piggo.space/media/a5d64ce92abd2cc3eb910516725c28381dc876f91bd612d485d1aad927561f29.jpg","favicon":null,"hide_favorites":true,"hide_followers":false,"hide_followers_count":false,"hide_follows":false,"hide_follows_count":false,"is_admin":true,"is_confirmed":true,"is_moderator":true,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"🙟 hey did u know about bread 🙝\n\n:yell_right: :pain1:‍:pain2:‍:pain3:‍:pain4: :yell: :yell:\n\nusing :arch:¹ and yelling at computer every day\n\n❋ LLAP ❋\n\nwww.ondrovo.com\n\n🥐 https://git.ondrovo.com/MightyPork/crsn\n\n! catgirls have 2 pairs of ears !\n\nponys favourite pig™\n\nPleroma groups: https://git.ondrovo.com/MightyPork/group-actor :ferris:\nGroups news: @fedigroups@piggo.space\nCooking group: @hob@piggo.space\n\nCheck my bread gallery → https://www.ondrovo.com/bread/\n\n:rust:\n\n🇨🇿, 🇬🇧, 🇪🇸\n\nAccount is locked to avoid followbots²\n\n***\n¹this is not an endorsement\n²I will probably accept your follow request if you can click on all the traffic lights","pleroma":{"actor_type":"Person","discoverable":false},"sensitive":false},"statuses_count":53057,"url":"https://piggo.space/users/piggo","username":"piggo"},"application":null,"bookmarked":false,"card":null,"content":"@karen i'll look into it, this doesnt look right","created_at":"2021-09-07T18:40:09.000Z","emojis":[],"favourited":false,"favourites_count":0,"id":"AB7vERXL637LXhRPbk","in_reply_to_account_id":"5","in_reply_to_id":"AB7v97wQWZ6ZJwdmtc","language":null,"media_attachments":[],"mentions":[{"acct":"karen@kawen.space","id":"5","url":"https://kawen.space/users/karen","username":"karen"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@karen i'll look into it, this doesnt look right"},"conversation_id":6554410,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"karen@kawen.space","local":true,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":0,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://piggo.space/objects/77f105fb-c3c0-484b-a06f-43abe31addff","url":"https://piggo.space/notice/AB7vERXL637LXhRPbk","visibility":"unlisted"},{"account":{"acct":"piggo","avatar":"https://piggo.space/media/db3922d9af9f8993e3273952a945e5a86cf1b03cd2e3acad69a5953e5536c1bc.png?name=blob.png","avatar_static":"https://piggo.space/media/db3922d9af9f8993e3273952a945e5a86cf1b03cd2e3acad69a5953e5536c1bc.png?name=blob.png","bot":false,"created_at":"2018-12-07T18:18:41.000Z","display_name":"piggosaurus","emojis":[{"shortcode":"arch","static_url":"https://piggo.space/emoji/custom/arch.png","url":"https://piggo.space/emoji/custom/arch.png","visible_in_picker":false},{"shortcode":"ferris","static_url":"https://piggo.space/emoji/custom/ferris.png","url":"https://piggo.space/emoji/custom/ferris.png","visible_in_picker":false},{"shortcode":"pain1","static_url":"https://piggo.space/emoji/custom/pain1.png","url":"https://piggo.space/emoji/custom/pain1.png","visible_in_picker":false},{"shortcode":"pain2","static_url":"https://piggo.space/emoji/custom/pain2.png","url":"https://piggo.space/emoji/custom/pain2.png","visible_in_picker":false},{"shortcode":"pain3","static_url":"https://piggo.space/emoji/custom/pain3.png","url":"https://piggo.space/emoji/custom/pain3.png","visible_in_picker":false},{"shortcode":"pain4","static_url":"https://piggo.space/emoji/custom/pain4.png","url":"https://piggo.space/emoji/custom/pain4.png","visible_in_picker":false},{"shortcode":"rust","static_url":"https://piggo.space/emoji/custom/rust.png","url":"https://piggo.space/emoji/custom/rust.png","visible_in_picker":false},{"shortcode":"yell","static_url":"https://piggo.space/emoji/custom/yell.png","url":"https://piggo.space/emoji/custom/yell.png","visible_in_picker":false},{"shortcode":"yell_right","static_url":"https://piggo.space/emoji/custom/yell_right.png","url":"https://piggo.space/emoji/custom/yell_right.png","visible_in_picker":false}],"fields":[],"followers_count":714,"following_count":342,"fqn":"piggo@piggo.space","header":"https://piggo.space/media/5e9fc5037816deb5cd18296bd03d757d4770b0d4dd2ff37e82669b7afd6a4d26.jpg","header_static":"https://piggo.space/media/5e9fc5037816deb5cd18296bd03d757d4770b0d4dd2ff37e82669b7afd6a4d26.jpg","id":"1","locked":true,"note":"🙟 hey did u know about bread 🙝

:yell_right: :pain1:‍:pain2:‍:pain3:‍:pain4: :yell: :yell:

using :arch:¹ and yelling at computer every day

❋ LLAP ❋

www.ondrovo.com

🥐 https://git.ondrovo.com/MightyPork/crsn

! catgirls have 2 pairs of ears !

ponys favourite pig™

Pleroma groups: https://git.ondrovo.com/MightyPork/group-actor :ferris:
Groups news: @fedigroups@piggo.space
Cooking group: @hob@piggo.space

Check my bread gallery → https://www.ondrovo.com/bread/

:rust:

🇨🇿, 🇬🇧, 🇪🇸

Account is locked to avoid followbots²

***
¹this is not an endorsement
²I will probably accept your follow request if you can click on all the traffic lights","pleroma":{"accepts_chat_messages":true,"also_known_as":[],"ap_id":"https://piggo.space/users/piggo","background_image":"https://piggo.space/media/a5d64ce92abd2cc3eb910516725c28381dc876f91bd612d485d1aad927561f29.jpg","favicon":null,"hide_favorites":true,"hide_followers":false,"hide_followers_count":false,"hide_follows":false,"hide_follows_count":false,"is_admin":true,"is_confirmed":true,"is_moderator":true,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"🙟 hey did u know about bread 🙝\n\n:yell_right: :pain1:‍:pain2:‍:pain3:‍:pain4: :yell: :yell:\n\nusing :arch:¹ and yelling at computer every day\n\n❋ LLAP ❋\n\nwww.ondrovo.com\n\n🥐 https://git.ondrovo.com/MightyPork/crsn\n\n! catgirls have 2 pairs of ears !\n\nponys favourite pig™\n\nPleroma groups: https://git.ondrovo.com/MightyPork/group-actor :ferris:\nGroups news: @fedigroups@piggo.space\nCooking group: @hob@piggo.space\n\nCheck my bread gallery → https://www.ondrovo.com/bread/\n\n:rust:\n\n🇨🇿, 🇬🇧, 🇪🇸\n\nAccount is locked to avoid followbots²\n\n***\n¹this is not an endorsement\n²I will probably accept your follow request if you can click on all the traffic lights","pleroma":{"actor_type":"Person","discoverable":false},"sensitive":false},"statuses_count":53057,"url":"https://piggo.space/users/piggo","username":"piggo"},"application":null,"bookmarked":false,"card":null,"content":"@karen hm did it work?","created_at":"2021-09-07T18:38:29.000Z","emojis":[],"favourited":false,"favourites_count":0,"id":"AB7v5DalZbzDgge4XI","in_reply_to_account_id":"5","in_reply_to_id":"AB7uzd1i5yMEplaBrE","language":null,"media_attachments":[],"mentions":[{"acct":"karen@kawen.space","id":"5","url":"https://kawen.space/users/karen","username":"karen"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"@karen hm did it work?"},"conversation_id":6554410,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"karen@kawen.space","local":true,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":1,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://piggo.space/objects/03968e28-6518-4ed0-bb2d-275a1b238d27","url":"https://piggo.space/notice/AB7v5DalZbzDgge4XI","visibility":"unlisted"},{"account":{"acct":"thor@pl.thj.no","avatar":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","avatar_static":"https://pl.thj.no/media/bf68fb5dbe1ca0151a262f5f7c1a99f89c487e2da5c3f1fd6adbb1b871ca31be.jpeg","bot":false,"created_at":"2020-08-30T15:49:39.000Z","display_name":"ᚦᛟᚱᚱ","emojis":[],"fields":[{"name":"Matrix","value":"@thorthenorseman:matrix.org"},{"name":"Telegram","value":"ThorTheNorseman"},{"name":"Discord","value":"ThorTheNorseman#9581"},{"name":"Google","value":"thj@thj.no"},{"name":"iMessage","value":"thj@thj.no"},{"name":"Webshop","value":"https://thj.no/"}],"followers_count":1025,"following_count":559,"fqn":"thor@pl.thj.no","header":"https://piggo.space/images/banner.png","header_static":"https://piggo.space/images/banner.png","id":"9yeWMWk20YRSL0zHRw","locked":false,"note":"Human who lives in Oslo, Norway. Slave of a ragdoll cat named Blizzard. I'm here to kill time, post funny shit and make some friends.

18+ account, not for the easily offended.","pleroma":{"accepts_chat_messages":true,"also_known_as":[],"ap_id":"https://pl.thj.no/users/thor","background_image":null,"favicon":null,"hide_favorites":true,"hide_followers":true,"hide_followers_count":false,"hide_follows":true,"hide_follows_count":false,"is_admin":false,"is_confirmed":true,"is_moderator":false,"relationship":{},"skip_thread_containment":false,"tags":[]},"source":{"fields":[],"note":"","pleroma":{"actor_type":"Person","discoverable":true},"sensitive":false},"statuses_count":18399,"url":"https://pl.thj.no/users/thor","username":"thor"},"application":null,"bookmarked":false,"card":null,"content":"

oh this cough isn’t getting any better is it. it went from a dry cough to a wet one today. the cold/flu virus (current assumption) started off in my head and is now migrating south, as these damned things usually do.

i haven’t been sick for a year and a half, probably due to reduced transmission rates for common cold/flu viruses, but things are more back to normal now. i always catch these things. there’s not a year without it. 😩

","created_at":"2021-09-07T18:37:37.000Z","emojis":[],"favourited":false,"favourites_count":0,"id":"AB7v2342G9LSAPpAJ6","in_reply_to_account_id":"9yeWMWk20YRSL0zHRw","in_reply_to_id":"AB7uSejyhZfGarZARM","language":null,"media_attachments":[],"mentions":[{"acct":"thor@pl.thj.no","id":"9yeWMWk20YRSL0zHRw","url":"https://pl.thj.no/users/thor","username":"thor"}],"muted":false,"pinned":false,"pleroma":{"content":{"text/plain":"oh this cough isn’t getting any better is it. it went from a dry cough to a wet one today. the cold/flu virus (current assumption) started off in my head and is now migrating south, as these damned things usually do.i haven’t been sick for a year and a half, probably due to reduced transmission rates for common cold/flu viruses, but things are more back to normal now. i always catch these things. there’s not a year without it. 😩"},"conversation_id":6554364,"direct_conversation_id":null,"emoji_reactions":[],"expires_at":null,"in_reply_to_account_acct":"thor@pl.thj.no","local":false,"parent_visible":true,"spoiler_text":{"text/plain":""},"thread_muted":false},"poll":null,"reblog":null,"reblogged":false,"reblogs_count":0,"replies_count":1,"sensitive":false,"spoiler_text":"","tags":[],"text":null,"uri":"https://pl.thj.no/objects/89bb6329-a074-43e5-9e61-3f71df7cc9e1","url":"https://pl.thj.no/objects/89bb6329-a074-43e5-9e61-3f71df7cc9e1","visibility":"public"}]"#; - let _pieces : Vec = serde_json::from_str(json).unwrap(); + let _pieces: Vec = serde_json::from_str(json).unwrap(); } diff --git a/src/helpers/mod.rs b/src/helpers/mod.rs index 91eb007..aee73f1 100644 --- a/src/helpers/mod.rs +++ b/src/helpers/mod.rs @@ -23,11 +23,12 @@ pub mod json; /// Helpers for working with the command line pub mod cli; - /// # Low-level API for extending // Convert the HTTP response body from JSON. Pass up deserialization errors // transparently. -pub async fn deserialise_response serde::Deserialize<'de>>(response: reqwest::Response) -> crate::Result { +pub async fn deserialise_response serde::Deserialize<'de>>( + response: reqwest::Response, +) -> crate::Result { let bytes = response.bytes().await?; match serde_json::from_slice(&bytes) { Ok(t) => { diff --git a/src/lib.rs b/src/lib.rs index 2dce72c..8355c82 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -19,25 +19,14 @@ use reqwest::multipart; use entities::prelude::*; pub use errors::{Error, Result}; use helpers::deserialise_response; -use serde::{Serialize,Deserialize}; -use requests::{ - AddFilterRequest, - AddPushRequest, - StatusesRequest, - UpdateCredsRequest, - UpdatePushRequest, -}; +use requests::{AddFilterRequest, AddPushRequest, StatusesRequest, UpdateCredsRequest, UpdatePushRequest}; +use serde::{Deserialize, Serialize}; use streaming::EventReader; pub use streaming::StreamKind; pub use crate::{ - data::AppData, - media_builder::MediaBuilder, - page::Page, - registration::Registration, - scopes::Scopes, - status_builder::NewStatus, - status_builder::StatusBuilder, + data::AppData, media_builder::MediaBuilder, page::Page, registration::Registration, scopes::Scopes, + status_builder::NewStatus, status_builder::StatusBuilder, }; #[macro_use] @@ -64,10 +53,10 @@ pub mod requests; pub mod scopes; /// Constructing a status pub mod status_builder; -/// Client that doesn't need auth -pub mod unauth; /// Streaming API pub mod streaming; +/// Client that doesn't need auth +pub mod unauth; pub mod debug; @@ -88,12 +77,12 @@ impl From for FediClient { } } -#[derive(Serialize,Deserialize,Clone,Copy,PartialEq)] -#[serde(rename_all="snake_case")] +#[derive(Serialize, Deserialize, Clone, Copy, PartialEq)] +#[serde(rename_all = "snake_case")] pub enum SearchType { Accounts, Hashtags, - Statuses + Statuses, } impl FediClient { @@ -246,7 +235,9 @@ impl FediClient { /// Post a new status to the account. pub async fn new_status(&self, status: NewStatus) -> Result { - let response = self.send(self.http_client.post(&self.route("/api/v1/statuses")).json(&status)).await?; + let response = self + .send(self.http_client.post(&self.route("/api/v1/statuses")).json(&status)) + .await?; deserialise_response(response).await } @@ -267,8 +258,8 @@ impl FediClient { /// Get statuses of a single account by id. Optionally only with pictures /// and or excluding replies. pub async fn statuses<'a, 'b: 'a, S>(&'b self, id: &'b str, request: S) -> Result> - where - S: Into>>, + where + S: Into>>, { let mut url = format!("{}/api/v1/accounts/{}/statuses", self.base, id); @@ -306,7 +297,9 @@ impl FediClient { /// Add a push notifications subscription pub async fn add_push_subscription(&self, request: &AddPushRequest) -> Result { let request = request.build()?; - let response = self.send(self.http_client.post(&self.route("/api/v1/push/subscription")).json(&request)).await?; + let response = self + .send(self.http_client.post(&self.route("/api/v1/push/subscription")).json(&request)) + .await?; deserialise_response(response).await } @@ -315,7 +308,9 @@ impl FediClient { /// access token pub async fn update_push_data(&self, request: &UpdatePushRequest) -> Result { let request = request.build(); - let response = self.send(self.http_client.put(&self.route("/api/v1/push/subscription")).json(&request)).await?; + let response = self + .send(self.http_client.put(&self.route("/api/v1/push/subscription")).json(&request)) + .await?; deserialise_response(response).await } @@ -332,7 +327,6 @@ impl FediClient { self.following(&me.id).await } - /// returns events that are relevant to the authorized user, i.e. home /// timeline & notifications pub async fn streaming_user(&self) -> Result { @@ -380,7 +374,8 @@ impl FediClient { let mut form = multipart::Form::new(); form = match media.data { MediaBuilderData::Reader(reader) => { - let mut part = multipart::Part::stream(reqwest::Body::wrap_stream(tokio_util::io::ReaderStream::new(reader))); + let mut part = + multipart::Part::stream(reqwest::Body::wrap_stream(tokio_util::io::ReaderStream::new(reader))); if let Some(filename) = media.filename { part = part.file_name(filename); } @@ -406,7 +401,9 @@ impl FediClient { form = form.text("focus", format!("{},{}", x, y)); } - let response = self.send(self.http_client.post(&self.route("/api/v1/media")).multipart(form)).await?; + let response = self + .send(self.http_client.post(&self.route("/api/v1/media")).multipart(form)) + .await?; deserialise_response(response).await } @@ -454,4 +451,3 @@ impl ClientBuilder { }) } } - diff --git a/src/macros.rs b/src/macros.rs index 94669f3..32239af 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -215,7 +215,7 @@ macro_rules! route_v1_id { self.$method(self.route(&format!(concat!("/api/v1/", $url), id))).await } } - } + }; } macro_rules! route_v1_paged_id { (($method:ident) $name:ident: $url:expr => $ret:ty) => { diff --git a/src/media_builder.rs b/src/media_builder.rs index a78dcb8..8bf0c38 100644 --- a/src/media_builder.rs +++ b/src/media_builder.rs @@ -1,7 +1,7 @@ use std::fmt; use std::path::{Path, PathBuf}; -use tokio::io::AsyncRead; use std::pin::Pin; +use tokio::io::AsyncRead; #[derive(Debug)] /// A builder pattern struct for preparing a single attachment for upload. diff --git a/src/page.rs b/src/page.rs index 26ba203..0677e09 100644 --- a/src/page.rs +++ b/src/page.rs @@ -1,7 +1,7 @@ use super::{deserialise_response, FediClient, Result}; use crate::entities::itemsiter::ItemsIter; use hyper_old_types::header::{parsing, Link, RelationType}; -use reqwest::{Response, header::LINK}; +use reqwest::{header::LINK, Response}; use serde::Deserialize; use url::Url; @@ -82,7 +82,7 @@ impl<'a, T: for<'de> Deserialize<'de>> Page<'a, T> { initial_items: deserialise_response(response).await?, next, prev, - api_client: api_client, + api_client, }) } } diff --git a/src/registration.rs b/src/registration.rs index ebb6695..f425447 100644 --- a/src/registration.rs +++ b/src/registration.rs @@ -1,11 +1,11 @@ use std::borrow::Cow; +use crate::apps::{App, AppBuilder}; +use crate::data::AppData; +use crate::scopes::Scopes; +use crate::{ClientBuilder, Error, FediClient, Result}; use serde::Deserialize; use std::convert::TryInto; -use crate::apps::{AppBuilder, App}; -use crate::scopes::Scopes; -use crate::{Result, Error, FediClient, ClientBuilder}; -use crate::data::AppData; const DEFAULT_REDIRECT_URI: &str = "urn:ietf:wg:oauth:2.0:oob"; @@ -127,8 +127,7 @@ impl<'a> Registration<'a> { async fn send_app(&self, app: &App) -> Result { let url = format!("{}/api/v1/apps", self.base); - Ok(self.send(self.http_client.post(url).json(&app)).await? - .json().await?) + Ok(self.send(self.http_client.post(url).json(&app)).await?.json().await?) } } diff --git a/src/streaming.rs b/src/streaming.rs index af81b55..a2885c1 100644 --- a/src/streaming.rs +++ b/src/streaming.rs @@ -1,14 +1,14 @@ -use crate::{Error, Result}; -use tokio_tungstenite::{WebSocketStream, MaybeTlsStream}; -use tokio::net::TcpStream; -use tokio_stream::Stream; use crate::entities::event::Event; -use std::pin::Pin; -use std::task::Poll; -use tokio_tungstenite::tungstenite::Message; use crate::entities::notification::Notification; use crate::entities::status::Status; +use crate::{Error, Result}; use futures_util::sink::SinkExt; +use std::pin::Pin; +use std::task::Poll; +use tokio::net::TcpStream; +use tokio_stream::Stream; +use tokio_tungstenite::tungstenite::Message; +use tokio_tungstenite::{MaybeTlsStream, WebSocketStream}; #[derive(Clone, Debug)] pub enum StreamKind<'a> { @@ -53,14 +53,13 @@ impl<'a> StreamKind<'a> { StreamKind::Public => vec![], StreamKind::PublicLocal => vec![], StreamKind::Direct => vec![], - StreamKind::Hashtag(tag) - | StreamKind::HashtagLocal(tag) => vec![("tag", tag)], + StreamKind::Hashtag(tag) | StreamKind::HashtagLocal(tag) => vec![("tag", tag)], StreamKind::List(list) => vec![("tag", list)], } } } -pub(crate) async fn do_open_streaming(url : &str) -> Result { +pub(crate) async fn do_open_streaming(url: &str) -> Result { let mut url: url::Url = reqwest::get(url).await?.url().as_str().parse()?; let new_scheme = match url.scheme() { "http" => "ws", @@ -84,10 +83,7 @@ pub struct EventReader { impl EventReader { fn new(stream: WebSocketStream>) -> Self { - Self { - stream, - lines: vec![] - } + Self { stream, lines: vec![] } } pub async fn send_ping(&mut self) -> std::result::Result<(), tokio_tungstenite::tungstenite::Error> { @@ -143,9 +139,7 @@ impl Stream for EventReader { // Stream is closed Poll::Ready(None) } - Poll::Pending => { - Poll::Pending - } + Poll::Pending => Poll::Pending, Poll::Ready(Some(Ok(Message::Frame(_)))) => { unreachable!(); } diff --git a/src/unauth.rs b/src/unauth.rs index 5db2e96..9978d6c 100644 --- a/src/unauth.rs +++ b/src/unauth.rs @@ -1,9 +1,9 @@ -use crate::{Result, streaming}; use crate::entities::card::Card; use crate::entities::context::Context; use crate::entities::status::Status; use crate::helpers::deserialise_response; use crate::streaming::EventReader; +use crate::{streaming, Result}; /// Client that can make unauthenticated calls to a mastodon instance #[derive(Clone, Debug)]