{"generator":"GNU social 2.0.2-dev","title":"Conversation","totalItems":10,"items":[{"actor":{"id":"https:\/\/chaos.social\/users\/joergi","displayName":"J\u00f6rgi (chaos.social)","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/34823-original-tmp20221121190550.webp","rel":"avatar","type":"image\/webp","width":279,"height":279},{"url":"https:\/\/gnusocial.jp\/avatar\/34823-96-20221121190550.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/34823-48-20221121190550.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/34823-24-20221121190550.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"34823"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/34823-96-20221121190550.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Pixelfed admin of https:\/\/punk.photos (@joergi)the guy who writes bug reports if something is not working Bayer in Berlin!Proud Dad, Developer, Music lover &amp; concert addict!#vegan for a reasonFediverse fan boy#Retrogaming, #Java \/ #Kotlin, #OpenSource fan.#NoNazis #fckafd #noIB he\/him #pixelfed #pixelfedadmin #fedi22","url":"https:\/\/chaos.social\/@joergi","portablecontacts_net":{"preferredUsername":"joergi","displayName":"J\u00f6rgi (chaos.social)","note":"Pixelfed admin of https:\/\/punk.photos (@joergi)the guy who writes bug reports if something is not working Bayer in Berlin!Proud Dad, Developer, Music lover &amp; concert addict!#vegan for a reasonFediverse fan boy#Retrogaming, #Java \/ #Kotlin, #OpenSource fan.#NoNazis #fckafd #noIB he\/him #pixelfed #pixelfedadmin #fedi22"}},"content":"<p><a href=\"https:\/\/mastodon.social\/@dansup\" class=\"u-url mention\">@dansup<\/a><br \/>But making the federation code in an extra library can also help others for building a new project. So they can focus on the building of the project , without needing to have too much idea of the protocol.<\/p><p>In theory, it's also great for running integration tests against testcontainers with Lemmy, Mastodon, loops, pixelfed peertube and so on. To ensure it's working against all of them.<br \/>But I guess it's a lot of work <br \/><a href=\"https:\/\/aus.social\/@shlee\" class=\"u-url mention\">@shlee<\/a><\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-25:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/chaos.social\/users\/joergi\/statuses\/115909562824376447","object":{"id":"https:\/\/chaos.social\/users\/joergi\/statuses\/115909562824376447","objectType":"note","content":"<p><a href=\"https:\/\/mastodon.social\/@dansup\" class=\"u-url mention\">@dansup<\/a><br \/>But making the federation code in an extra library can also help others for building a new project. So they can focus on the building of the project , without needing to have too much idea of the protocol.<\/p><p>In theory, it's also great for running integration tests against testcontainers with Lemmy, Mastodon, loops, pixelfed peertube and so on. To ensure it's working against all of them.<br \/>But I guess it's a lot of work <br \/><a href=\"https:\/\/aus.social\/@shlee\" class=\"u-url mention\">@shlee<\/a><\/p>","url":"https:\/\/chaos.social\/@joergi\/115909562824376447","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/mastodon.social\/users\/dansup\/statuses\/115907420485216202","url":"https:\/\/mastodon.social\/@dansup\/115907420485216202"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.social\/users\/dansup"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/aus.social\/users\/shlee"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-01-15:objectType=thread:nonce=f5d33b205b5d562d","notice_info":{"local_id":"11947213","source":"ActivityPub"}},"published":"2026-01-17T08:48:40+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/chaos.social\/@joergi\/115909562824376447"},{"actor":{"id":"https:\/\/mastodon.social\/users\/dansup","displayName":"Daniel Supernault","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/125-original-tmp20260718134031.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/125-96-20260718134058.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/125-48-20260718134058.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/125-24-20260718134058.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"125"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/125-96-20260718134058.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Currently building\u00a0@pixelfed,\u00a0@loops,\u00a0@supapp,\u00a0@fedidb, and more.Gay M\u00e9tis creator living on and respecting the Indigenous lands of the Dane-zaa (Beaver), Nehiyawak (Cree), Dene, and M\u00e9tis peoples in the Grande Prairie, Alberta region.Committed to LGBTQIA2S+ inclusion, racial justice, Indigenous rights, and transgender rights.Building the future we deserve, for all of us.\u00a0\ud83d\ude80 #fedi22 #pixelfed #laravel #reactNative #loops #activitypub #developer","url":"https:\/\/mastodon.social\/@dansup","portablecontacts_net":{"preferredUsername":"dansup","displayName":"Daniel Supernault","note":"Currently building\u00a0@pixelfed,\u00a0@loops,\u00a0@supapp,\u00a0@fedidb, and more.Gay M\u00e9tis creator living on and respecting the Indigenous lands of the Dane-zaa (Beaver), Nehiyawak (Cree), Dene, and M\u00e9tis peoples in the Grande Prairie, Alberta region.Committed to LGBTQIA2S+ inclusion, racial justice, Indigenous rights, and transgender rights.Building the future we deserve, for all of us.\u00a0\ud83d\ude80 #fedi22 #pixelfed #laravel #reactNative #loops #activitypub #developer"}},"content":"<p><a href=\"https:\/\/chaos.social\/@joergi\" class=\"u-url mention\">@joergi<\/a> <a href=\"https:\/\/aus.social\/@shlee\" class=\"u-url mention\">@shlee<\/a> Yeah true, I do want to abstract the Loops federation logic into a Laravel Package that Pixelfed could eventually use, along with other projects!<\/p><p>The way I wrote Loops ActivityPub logic is really clever, that's how I was able to add support for QuotePosts in just a few hours the other night!<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-25:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mastodon.social\/users\/dansup\/statuses\/115909572420415074","object":{"id":"https:\/\/mastodon.social\/users\/dansup\/statuses\/115909572420415074","objectType":"note","content":"<p><a href=\"https:\/\/chaos.social\/@joergi\" class=\"u-url mention\">@joergi<\/a> <a href=\"https:\/\/aus.social\/@shlee\" class=\"u-url mention\">@shlee<\/a> Yeah true, I do want to abstract the Loops federation logic into a Laravel Package that Pixelfed could eventually use, along with other projects!<\/p><p>The way I wrote Loops ActivityPub logic is really clever, that's how I was able to add support for QuotePosts in just a few hours the other night!<\/p>","url":"https:\/\/mastodon.social\/@dansup\/115909572420415074","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/chaos.social\/users\/joergi\/statuses\/115909562824376447","url":"https:\/\/chaos.social\/@joergi\/115909562824376447"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/aus.social\/users\/shlee"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/chaos.social\/users\/joergi"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-01-15:objectType=thread:nonce=f5d33b205b5d562d","notice_info":{"local_id":"11947214","source":"ActivityPub"}},"published":"2026-01-17T08:48:39+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mastodon.social\/@dansup\/115909572420415074"},{"actor":{"id":"https:\/\/chaos.social\/users\/joergi","displayName":"J\u00f6rgi (chaos.social)","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/34823-original-tmp20221121190550.webp","rel":"avatar","type":"image\/webp","width":279,"height":279},{"url":"https:\/\/gnusocial.jp\/avatar\/34823-96-20221121190550.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/34823-48-20221121190550.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/34823-24-20221121190550.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"34823"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/34823-96-20221121190550.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Pixelfed admin of https:\/\/punk.photos (@joergi)the guy who writes bug reports if something is not working Bayer in Berlin!Proud Dad, Developer, Music lover &amp; concert addict!#vegan for a reasonFediverse fan boy#Retrogaming, #Java \/ #Kotlin, #OpenSource fan.#NoNazis #fckafd #noIB he\/him #pixelfed #pixelfedadmin #fedi22","url":"https:\/\/chaos.social\/@joergi","portablecontacts_net":{"preferredUsername":"joergi","displayName":"J\u00f6rgi (chaos.social)","note":"Pixelfed admin of https:\/\/punk.photos (@joergi)the guy who writes bug reports if something is not working Bayer in Berlin!Proud Dad, Developer, Music lover &amp; concert addict!#vegan for a reasonFediverse fan boy#Retrogaming, #Java \/ #Kotlin, #OpenSource fan.#NoNazis #fckafd #noIB he\/him #pixelfed #pixelfedadmin #fedi22"}},"content":"<p><a href=\"https:\/\/mastodon.social\/@dansup\" class=\"u-url mention\">@dansup<\/a>  <br \/> if you make now (as far as I understood) pixelfed the same tech stack as loops, does it make sense to move duplicate\/similar code to an extra library? In theory it's only backend functionality, which can be tested with unit tests. You then need just frontend tests in pixelfed\/loops for it to see if it works.<br \/>But maybe it's too complex to keep it working for both? Especially if you have (at one point hopefully) different separate teams to take care of loops and pixelfed. Just an idea.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-25:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/chaos.social\/users\/joergi\/statuses\/115903971241999580","object":{"id":"https:\/\/chaos.social\/users\/joergi\/statuses\/115903971241999580","objectType":"note","content":"<p><a href=\"https:\/\/mastodon.social\/@dansup\" class=\"u-url mention\">@dansup<\/a>  <br \/> if you make now (as far as I understood) pixelfed the same tech stack as loops, does it make sense to move duplicate\/similar code to an extra library? In theory it's only backend functionality, which can be tested with unit tests. You then need just frontend tests in pixelfed\/loops for it to see if it works.<br \/>But maybe it's too complex to keep it working for both? Especially if you have (at one point hopefully) different separate teams to take care of loops and pixelfed. Just an idea.<\/p>","url":"https:\/\/chaos.social\/@joergi\/115903971241999580","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/mastodon.social\/users\/dansup\/statuses\/115899049258091803","url":"https:\/\/mastodon.social\/@dansup\/115899049258091803"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.social\/users\/dansup"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-01-15:objectType=thread:nonce=f5d33b205b5d562d","notice_info":{"local_id":"11945117","source":"ActivityPub"}},"published":"2026-01-16T23:42:25+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/chaos.social\/@joergi\/115903971241999580"},{"actor":{"id":"https:\/\/aus.social\/users\/shlee","displayName":":PUA: Shlee booped around &","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/11559-original-tmp20260511152232.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/11559-96-20260511152834.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/11559-48-20260511152834.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/11559-24-20260511152834.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"11559"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/11559-96-20260511152834.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Teacher, Mother, Lover. Says good morning in the evening! Join your union!Admin of aus.social &amp; techhub.social. Direct action charity founder. Cloud\/Cybersecurity\/Infosec engineer. (any toots should not be used as evidence of crimes, and all confessions are jokes)#fedi22\u2591M\u2591Y\u2591S\u2591E\u2591R\u2591V\u2591E\u2591R\u2591I\u2591N\u2591D\u2591C\u2591","url":"https:\/\/aus.social\/@shlee","portablecontacts_net":{"preferredUsername":"shlee","displayName":":PUA: Shlee booped around &","note":"Teacher, Mother, Lover. Says good morning in the evening! Join your union!Admin of aus.social &amp; techhub.social. Direct action charity founder. Cloud\/Cybersecurity\/Infosec engineer. (any toots should not be used as evidence of crimes, and all confessions are jokes)#fedi22\u2591M\u2591Y\u2591S\u2591E\u2591R\u2591V\u2591E\u2591R\u2591I\u2591N\u2591D\u2591C\u2591"}},"content":"<p><a href=\"https:\/\/chaos.social\/@joergi\" class=\"u-url mention\">@joergi<\/a> <a href=\"https:\/\/mastodon.social\/@dansup\" class=\"u-url mention\">@dansup<\/a> I\u2019ve been meaning to ask if it\u2019s worth having one backend (loops mode or Pixelfed mode) and two front ends \/ two mobile apps.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-25:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/aus.social\/users\/shlee\/statuses\/115903985381598498","object":{"id":"https:\/\/aus.social\/users\/shlee\/statuses\/115903985381598498","objectType":"note","content":"<p><a href=\"https:\/\/chaos.social\/@joergi\" class=\"u-url mention\">@joergi<\/a> <a href=\"https:\/\/mastodon.social\/@dansup\" class=\"u-url mention\">@dansup<\/a> I\u2019ve been meaning to ask if it\u2019s worth having one backend (loops mode or Pixelfed mode) and two front ends \/ two mobile apps.<\/p>","url":"https:\/\/aus.social\/@shlee\/115903985381598498","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/chaos.social\/users\/joergi\/statuses\/115903971241999580","url":"https:\/\/chaos.social\/@joergi\/115903971241999580"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.social\/users\/dansup"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/chaos.social\/users\/joergi"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-01-15:objectType=thread:nonce=f5d33b205b5d562d","notice_info":{"local_id":"11945118","source":"ActivityPub"}},"published":"2026-01-16T23:42:24+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/aus.social\/@shlee\/115903985381598498"},{"actor":{"id":"https:\/\/mastodon.social\/users\/dansup","displayName":"Daniel Supernault","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/125-original-tmp20260718134031.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/125-96-20260718134058.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/125-48-20260718134058.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/125-24-20260718134058.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"125"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/125-96-20260718134058.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Currently building\u00a0@pixelfed,\u00a0@loops,\u00a0@supapp,\u00a0@fedidb, and more.Gay M\u00e9tis creator living on and respecting the Indigenous lands of the Dane-zaa (Beaver), Nehiyawak (Cree), Dene, and M\u00e9tis peoples in the Grande Prairie, Alberta region.Committed to LGBTQIA2S+ inclusion, racial justice, Indigenous rights, and transgender rights.Building the future we deserve, for all of us.\u00a0\ud83d\ude80 #fedi22 #pixelfed #laravel #reactNative #loops #activitypub #developer","url":"https:\/\/mastodon.social\/@dansup","portablecontacts_net":{"preferredUsername":"dansup","displayName":"Daniel Supernault","note":"Currently building\u00a0@pixelfed,\u00a0@loops,\u00a0@supapp,\u00a0@fedidb, and more.Gay M\u00e9tis creator living on and respecting the Indigenous lands of the Dane-zaa (Beaver), Nehiyawak (Cree), Dene, and M\u00e9tis peoples in the Grande Prairie, Alberta region.Committed to LGBTQIA2S+ inclusion, racial justice, Indigenous rights, and transgender rights.Building the future we deserve, for all of us.\u00a0\ud83d\ude80 #fedi22 #pixelfed #laravel #reactNative #loops #activitypub #developer"}},"content":"<p><a href=\"https:\/\/aus.social\/@shlee\" class=\"u-url mention\">@shlee<\/a> <a href=\"https:\/\/chaos.social\/@joergi\" class=\"u-url mention\">@joergi<\/a> we can likely abstract the federation code, but the two platforms are structurally very different, Loops has a videos table\/model with one media src, Pixelfed has a polymorphic statuses table and media table that can also be replies\/boosts and text only posts.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-25:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mastodon.social\/users\/dansup\/statuses\/115907420485216202","object":{"id":"https:\/\/mastodon.social\/users\/dansup\/statuses\/115907420485216202","objectType":"note","content":"<p><a href=\"https:\/\/aus.social\/@shlee\" class=\"u-url mention\">@shlee<\/a> <a href=\"https:\/\/chaos.social\/@joergi\" class=\"u-url mention\">@joergi<\/a> we can likely abstract the federation code, but the two platforms are structurally very different, Loops has a videos table\/model with one media src, Pixelfed has a polymorphic statuses table and media table that can also be replies\/boosts and text only posts.<\/p>","url":"https:\/\/mastodon.social\/@dansup\/115907420485216202","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/aus.social\/users\/shlee\/statuses\/115903985381598498","url":"https:\/\/aus.social\/@shlee\/115903985381598498"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/aus.social\/users\/shlee"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/chaos.social\/users\/joergi"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-01-15:objectType=thread:nonce=f5d33b205b5d562d","notice_info":{"local_id":"11945119","source":"ActivityPub"}},"published":"2026-01-16T23:42:23+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mastodon.social\/@dansup\/115907420485216202"},{"actor":{"id":"https:\/\/upp2.com\/users\/dave","displayName":"David Roetzel","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/267890-original-tmp20240701183117.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/267890-96-20240701183117.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/267890-48-20240701183117.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/267890-24-20240701183117.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"267890"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/267890-96-20240701183117.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Ruby, Rails, open source and open web.Core web developer @ Mastodon","url":"https:\/\/upp2.com\/@dave","portablecontacts_net":{"preferredUsername":"dave","displayName":"David Roetzel","note":"Ruby, Rails, open source and open web.Core web developer @ Mastodon"}},"content":"<p><a href=\"https:\/\/mastodon.social\/@dansup\" class=\"u-url mention\">@dansup<\/a> interactionPolicies are there so that you can set the right expectations in your UI (e.g. not offer to quote someone who never ever wants to be quoted).<\/p><p>The quoteAuthorization part is necessary, so that implementations can (in theory) offer manual approval on a per-post basis and (quite practically) to allow revocation of consent after the fact.<\/p><p>It tends to confuse me as well every now and then, but it makes sense when you think about it some more.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-25:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/upp2.com\/users\/dave\/statuses\/115899340612835811","object":{"id":"https:\/\/upp2.com\/users\/dave\/statuses\/115899340612835811","objectType":"note","content":"<p><a href=\"https:\/\/mastodon.social\/@dansup\" class=\"u-url mention\">@dansup<\/a> interactionPolicies are there so that you can set the right expectations in your UI (e.g. not offer to quote someone who never ever wants to be quoted).<\/p><p>The quoteAuthorization part is necessary, so that implementations can (in theory) offer manual approval on a per-post basis and (quite practically) to allow revocation of consent after the fact.<\/p><p>It tends to confuse me as well every now and then, but it makes sense when you think about it some more.<\/p>","url":"https:\/\/upp2.com\/@dave\/115899340612835811","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/mastodon.social\/users\/dansup\/statuses\/115898603948836433","url":"https:\/\/mastodon.social\/@dansup\/115898603948836433"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.social\/users\/dansup"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-01-15:objectType=thread:nonce=f5d33b205b5d562d","notice_info":{"local_id":"11935916","source":"ActivityPub"}},"published":"2026-01-15T13:30:54+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/upp2.com\/@dave\/115899340612835811"},{"actor":{"id":"https:\/\/mastodon.social\/users\/dansup","displayName":"Daniel Supernault","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/125-original-tmp20260718134031.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/125-96-20260718134058.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/125-48-20260718134058.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/125-24-20260718134058.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"125"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/125-96-20260718134058.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Currently building\u00a0@pixelfed,\u00a0@loops,\u00a0@supapp,\u00a0@fedidb, and more.Gay M\u00e9tis creator living on and respecting the Indigenous lands of the Dane-zaa (Beaver), Nehiyawak (Cree), Dene, and M\u00e9tis peoples in the Grande Prairie, Alberta region.Committed to LGBTQIA2S+ inclusion, racial justice, Indigenous rights, and transgender rights.Building the future we deserve, for all of us.\u00a0\ud83d\ude80 #fedi22 #pixelfed #laravel #reactNative #loops #activitypub #developer","url":"https:\/\/mastodon.social\/@dansup","portablecontacts_net":{"preferredUsername":"dansup","displayName":"Daniel Supernault","note":"Currently building\u00a0@pixelfed,\u00a0@loops,\u00a0@supapp,\u00a0@fedidb, and more.Gay M\u00e9tis creator living on and respecting the Indigenous lands of the Dane-zaa (Beaver), Nehiyawak (Cree), Dene, and M\u00e9tis peoples in the Grande Prairie, Alberta region.Committed to LGBTQIA2S+ inclusion, racial justice, Indigenous rights, and transgender rights.Building the future we deserve, for all of us.\u00a0\ud83d\ude80 #fedi22 #pixelfed #laravel #reactNative #loops #activitypub #developer"}},"content":"<p><a href=\"https:\/\/upp2.com\/@dave\" class=\"u-url mention\">@dave<\/a> oh yeah, that does make sense. Giving users the ability to have fine-grained controls over this is very clever, albeit Loops defaults to public for public Loops posts, but we will allow users to opt-out in the future.<\/p><p>Btw, love your work on Mastodon, and hope to chat with you soon regarding FASP \ud83d\ude09<\/p><p>Take care!<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-25:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mastodon.social\/users\/dansup\/statuses\/115899354175452190","object":{"id":"https:\/\/mastodon.social\/users\/dansup\/statuses\/115899354175452190","objectType":"note","content":"<p><a href=\"https:\/\/upp2.com\/@dave\" class=\"u-url mention\">@dave<\/a> oh yeah, that does make sense. Giving users the ability to have fine-grained controls over this is very clever, albeit Loops defaults to public for public Loops posts, but we will allow users to opt-out in the future.<\/p><p>Btw, love your work on Mastodon, and hope to chat with you soon regarding FASP \ud83d\ude09<\/p><p>Take care!<\/p>","url":"https:\/\/mastodon.social\/@dansup\/115899354175452190","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/upp2.com\/users\/dave\/statuses\/115899340612835811","url":"https:\/\/upp2.com\/@dave\/115899340612835811"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/upp2.com\/users\/dave"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-01-15:objectType=thread:nonce=f5d33b205b5d562d","notice_info":{"local_id":"11935920","source":"ActivityPub"}},"published":"2026-01-15T13:30:53+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mastodon.social\/@dansup\/115899354175452190"},{"actor":{"id":"https:\/\/chaos.social\/users\/joergi","displayName":"J\u00f6rgi (chaos.social)","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/34823-original-tmp20221121190550.webp","rel":"avatar","type":"image\/webp","width":279,"height":279},{"url":"https:\/\/gnusocial.jp\/avatar\/34823-96-20221121190550.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/34823-48-20221121190550.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/34823-24-20221121190550.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"34823"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/34823-96-20221121190550.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Pixelfed admin of https:\/\/punk.photos (@joergi)the guy who writes bug reports if something is not working Bayer in Berlin!Proud Dad, Developer, Music lover &amp; concert addict!#vegan for a reasonFediverse fan boy#Retrogaming, #Java \/ #Kotlin, #OpenSource fan.#NoNazis #fckafd #noIB he\/him #pixelfed #pixelfedadmin #fedi22","url":"https:\/\/chaos.social\/@joergi","portablecontacts_net":{"preferredUsername":"joergi","displayName":"J\u00f6rgi (chaos.social)","note":"Pixelfed admin of https:\/\/punk.photos (@joergi)the guy who writes bug reports if something is not working Bayer in Berlin!Proud Dad, Developer, Music lover &amp; concert addict!#vegan for a reasonFediverse fan boy#Retrogaming, #Java \/ #Kotlin, #OpenSource fan.#NoNazis #fckafd #noIB he\/him #pixelfed #pixelfedadmin #fedi22"}},"content":"<p><a href=\"https:\/\/mastodon.social\/@dansup\" class=\"u-url mention\">@dansup<\/a><br \/>Can't wait for this feature in pixelfed \ud83e\udd70<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-25:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/chaos.social\/users\/joergi\/statuses\/115899023600430584","object":{"id":"https:\/\/chaos.social\/users\/joergi\/statuses\/115899023600430584","objectType":"note","content":"<p><a href=\"https:\/\/mastodon.social\/@dansup\" class=\"u-url mention\">@dansup<\/a><br \/>Can't wait for this feature in pixelfed \ud83e\udd70<\/p>","url":"https:\/\/chaos.social\/@joergi\/115899023600430584","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/mastodon.social\/users\/dansup\/statuses\/115898603948836433","url":"https:\/\/mastodon.social\/@dansup\/115898603948836433"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.social\/users\/dansup"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-01-15:objectType=thread:nonce=f5d33b205b5d562d","notice_info":{"local_id":"11935626","source":"ActivityPub"}},"published":"2026-01-15T12:13:14+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/chaos.social\/@joergi\/115899023600430584"},{"actor":{"id":"https:\/\/mastodon.social\/users\/dansup","displayName":"Daniel Supernault","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/125-original-tmp20260718134031.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/125-96-20260718134058.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/125-48-20260718134058.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/125-24-20260718134058.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"125"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/125-96-20260718134058.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Currently building\u00a0@pixelfed,\u00a0@loops,\u00a0@supapp,\u00a0@fedidb, and more.Gay M\u00e9tis creator living on and respecting the Indigenous lands of the Dane-zaa (Beaver), Nehiyawak (Cree), Dene, and M\u00e9tis peoples in the Grande Prairie, Alberta region.Committed to LGBTQIA2S+ inclusion, racial justice, Indigenous rights, and transgender rights.Building the future we deserve, for all of us.\u00a0\ud83d\ude80 #fedi22 #pixelfed #laravel #reactNative #loops #activitypub #developer","url":"https:\/\/mastodon.social\/@dansup","portablecontacts_net":{"preferredUsername":"dansup","displayName":"Daniel Supernault","note":"Currently building\u00a0@pixelfed,\u00a0@loops,\u00a0@supapp,\u00a0@fedidb, and more.Gay M\u00e9tis creator living on and respecting the Indigenous lands of the Dane-zaa (Beaver), Nehiyawak (Cree), Dene, and M\u00e9tis peoples in the Grande Prairie, Alberta region.Committed to LGBTQIA2S+ inclusion, racial justice, Indigenous rights, and transgender rights.Building the future we deserve, for all of us.\u00a0\ud83d\ude80 #fedi22 #pixelfed #laravel #reactNative #loops #activitypub #developer"}},"content":"<p><a href=\"https:\/\/chaos.social\/@joergi\" class=\"u-url mention\">@joergi<\/a> Me too, and thanks to Loops it will be much easier, and quicker to implement \ud83d\ude09<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-25:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mastodon.social\/users\/dansup\/statuses\/115899049258091803","object":{"id":"https:\/\/mastodon.social\/users\/dansup\/statuses\/115899049258091803","objectType":"note","content":"<p><a href=\"https:\/\/chaos.social\/@joergi\" class=\"u-url mention\">@joergi<\/a> Me too, and thanks to Loops it will be much easier, and quicker to implement \ud83d\ude09<\/p>","url":"https:\/\/mastodon.social\/@dansup\/115899049258091803","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/chaos.social\/users\/joergi\/statuses\/115899023600430584","url":"https:\/\/chaos.social\/@joergi\/115899023600430584"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/chaos.social\/users\/joergi"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-01-15:objectType=thread:nonce=f5d33b205b5d562d","notice_info":{"local_id":"11935627","source":"ActivityPub"}},"published":"2026-01-15T12:13:13+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mastodon.social\/@dansup\/115899049258091803"},{"actor":{"id":"https:\/\/mastodon.social\/users\/dansup","displayName":"Daniel Supernault","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/125-original-tmp20260718134031.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/125-96-20260718134058.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/125-48-20260718134058.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/125-24-20260718134058.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"125"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/125-96-20260718134058.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Currently building\u00a0@pixelfed,\u00a0@loops,\u00a0@supapp,\u00a0@fedidb, and more.Gay M\u00e9tis creator living on and respecting the Indigenous lands of the Dane-zaa (Beaver), Nehiyawak (Cree), Dene, and M\u00e9tis peoples in the Grande Prairie, Alberta region.Committed to LGBTQIA2S+ inclusion, racial justice, Indigenous rights, and transgender rights.Building the future we deserve, for all of us.\u00a0\ud83d\ude80 #fedi22 #pixelfed #laravel #reactNative #loops #activitypub #developer","url":"https:\/\/mastodon.social\/@dansup","portablecontacts_net":{"preferredUsername":"dansup","displayName":"Daniel Supernault","note":"Currently building\u00a0@pixelfed,\u00a0@loops,\u00a0@supapp,\u00a0@fedidb, and more.Gay M\u00e9tis creator living on and respecting the Indigenous lands of the Dane-zaa (Beaver), Nehiyawak (Cree), Dene, and M\u00e9tis peoples in the Grande Prairie, Alberta region.Committed to LGBTQIA2S+ inclusion, racial justice, Indigenous rights, and transgender rights.Building the future we deserve, for all of us.\u00a0\ud83d\ude80 #fedi22 #pixelfed #laravel #reactNative #loops #activitypub #developer"}},"content":"<p>Implementing QuotePosts in Loops is taking a tad longer than expected.<\/p><p>I don't understand why they require a QuoteRequest handshake if the interactionPolicy is public, seems overengineered and wasteful to me.<\/p><p><a href=\"https:\/\/mastodon.social\/tags\/ActivityPub\" class=\"mention hashtag\" rel=\"tag\">#ActivityPub<\/a> <a href=\"https:\/\/mastodon.social\/tags\/QuotePosts\" class=\"mention hashtag\" rel=\"tag\">#QuotePosts<\/a> <a href=\"https:\/\/mastodon.social\/tags\/FEP044f\" class=\"mention hashtag\" rel=\"tag\">#FEP044f<\/a><\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-25:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mastodon.social\/users\/dansup\/statuses\/115898603948836433","object":{"id":"https:\/\/mastodon.social\/users\/dansup\/statuses\/115898603948836433","objectType":"note","content":"<p>Implementing QuotePosts in Loops is taking a tad longer than expected.<\/p><p>I don't understand why they require a QuoteRequest handshake if the interactionPolicy is public, seems overengineered and wasteful to me.<\/p><p><a href=\"https:\/\/mastodon.social\/tags\/ActivityPub\" class=\"mention hashtag\" rel=\"tag\">#ActivityPub<\/a> <a href=\"https:\/\/mastodon.social\/tags\/QuotePosts\" class=\"mention hashtag\" rel=\"tag\">#QuotePosts<\/a> <a href=\"https:\/\/mastodon.social\/tags\/FEP044f\" class=\"mention hashtag\" rel=\"tag\">#FEP044f<\/a><\/p>","url":"https:\/\/mastodon.social\/@dansup\/115898603948836433","status_net":{"notice_id":null},"tags":[{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"fep044f"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"quoteposts"}]},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-01-15:objectType=thread:nonce=f5d33b205b5d562d","notice_info":{"local_id":"11935118","source":"ActivityPub"}},"published":"2026-01-15T10:19:14+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mastodon.social\/@dansup\/115898603948836433"}],"links":[{"url":"https:\/\/gnusocial.jp\/conversation\/6060211","rel":"alternate","type":"text\/html"}]}