Daniel Supernault on Nostr: Finished another marathon Loops coding sesh and made a lot of progress! - raised ...
Finished another marathon Loops coding sesh and made a lot of progress!
- raised phpstan to level 5 with 0 issues
- implemented outgoing activities
- added a new Autolinker that properly handles mentions and hashtags
- fixed outgoing captions to match Mastodon html
- refactored audience handling
- finished the sharedInbox logic
Will be testing this tomorrow in prod, to catch any bugs and then I can ship this Loops ActivityPub support 🚀
https://phpstan.org/user-guide/rule-levels#loops
Published at
2025-09-30 14:34:53 UTCEvent JSON
{
"id": "122d4f992505c78e9fb98b8191a39c248a09a09842d53ec213c8322279f41b7a",
"pubkey": "fce95231cd584e791f1f5d977ceac1ef6edb3d3a7a29ada5a657979836cbcb1f",
"created_at": 1759242893,
"kind": 1,
"tags": [
[
"t",
"loops"
],
[
"imeta",
"url https://files.mastodon.social/media_attachments/files/115/293/704/272/721/471/original/578eed0db7f49568.png",
"m image/png",
"dim 1034x552",
"blurhash UARC[CFz-5-;=ypbR5j=~4x?IWa~.8r?tSRl"
],
[
"proxy",
"https://mastodon.social/users/dansup/statuses/115293742281009443",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.mostr.pub"
]
],
"content": "Finished another marathon Loops coding sesh and made a lot of progress!\n\n- raised phpstan to level 5 with 0 issues\n- implemented outgoing activities\n- added a new Autolinker that properly handles mentions and hashtags\n- fixed outgoing captions to match Mastodon html\n- refactored audience handling\n- finished the sharedInbox logic\n\nWill be testing this tomorrow in prod, to catch any bugs and then I can ship this Loops ActivityPub support 🚀\n\nhttps://phpstan.org/user-guide/rule-levels\n\n#loops\n\nhttps://files.mastodon.social/media_attachments/files/115/293/704/272/721/471/original/578eed0db7f49568.png",
"sig": "53218b1564ceb943fcfa5c498b0f92a1f31125c9294cea3e365cfa1ac45028c0b6c740865df416c5f6d44b59a0d475fed9e277fc49161eb39c401f761ef78a9a"
}