When you press the share button on Loops web and mobile apps, you see the new Share Sheet.
The top row are Direct Message recipients, or Group chats.
Middle row is popular mainstream platforms.
Bottom row are fediverse platforms that support ActivityIntents ✨
Sharing should be easy and powerful!
RE: https://mastodon.social/@dansup/117020483143451487
I redesigned the Top row algorithm to better handle DMs + Group Chats.
We basically prioritize existing chats, then mutuals and finally recently following.
Cache busting was required to handle updates to following, conversations and blocking, but it's more performant with more relevant results!
I broke it down into two separate pools of results weighted accordingly.
First time using `Cache::flexible(` 😎
https://github.com/joinloops/loops-server/blob/main/app/Services/ShareSheetService.php#L25