Skip to content

feat: add a mutuals tab next to followers and following - #1006

Open
kachelle wants to merge 5 commits into
dev-null-sh:productionfrom
kachelle:feat/friendships-tab
Open

kachelle wants to merge 5 commits into
dev-null-sh:productionfrom
kachelle:feat/friendships-tab

Conversation

@kachelle

@kachelle kachelle commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

When we follow eachother, we are mutuals, introducing a new tab: mutuals.

Desktop:
image

Iphone SE (!) - so small screen
image

Lists the people a user follows who follow them back, newest follow first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@younes-io

Copy link
Copy Markdown
Contributor

@kachelle : so the set of friends is the intersection of both followers and following sets? what are the implications of this new abstraction? can we now send messages to each other? my friends will be the only ones I can message on Remotes?

@kachelle
kachelle marked this pull request as ready for review October 22, 2026 22:32
@kachelle

kachelle commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor Author

@younes-io no implications, it's just a list.

Messaging works the same as before: if someone follows you, you can start a conversation with them on Remotes, as long as you both have Remotes enabled and neither has blocked the other.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kachelle kachelle changed the title feat: add a friendships tab next to followers and following feat: add a mutuals tab next to followers and following Oct 23, 2026
@kachelle

Copy link
Copy Markdown
Contributor Author

renamed friendships to mutuals
cc @paulinevos

Comment thread app/Http/Controllers/UserMutualsController.php Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The changes are focused, follow existing connection-list patterns, and have no identified blocking issues.

No open issues 🎉

What changed in this PR

Adds a Mutuals tab to profile connection lists, showing people the profile owner follows who follow them back.

Changes:

  • Adds a cursor-paginated mutuals endpoint with block-aware access checks.
  • Extends connection tabs, empty states, and page metadata for mutuals.
  • Adds feature tests and documents the new tab.
File Description
tests/​Feature/​Controllers/​UserMutualsControllerTest.php Tests membership, ordering, follow status, blocking, guest access, and metadata.
routes/​web.php Registers the mutuals endpoint.
resources/​js/​pages/​user/​connections.tsx Adds the Mutuals tab, title, and empty state.
KNOWLEDGE_BASE.md Documents mutual connections.
app/​Services/​PageMetadata.php Adds mutuals preview metadata and canonical URL.
app/​Http/​Requests/​ListUserMutualsRequest.php Enforces block-aware access to mutuals.
app/​Http/​Controllers/​UserMutualsController.php Queries reciprocal follows and renders the connection list.

Review effort: Balanced

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ashkesarmaa

Copy link
Copy Markdown
Contributor

I don't think either “Friendships” or “Mutuals” is a good name. This isn't a new concept or feature where we need to come up with a suitable name. X already has this concept, so I don't see a reason to change the naming.

image

By the way, I already opened a PR for the same topic a while ago, so it might be worth taking a look at it.
#733

@paulinevos

Copy link
Copy Markdown
Contributor

@ashkesarmaa That is not the same concept though... Mutuals is an already existing concept, and it is not the same as Followers you know.

Mutuals: the list of people that someone follows that follow them back.
Followers you know: list of people that follow a profile that you also follow

@paulinevos

Copy link
Copy Markdown
Contributor

@ashkesarmaa That being said... I think the latter is probably the more valuable list for people visiting a profile.

It could also take the form of "followed by ..." on a profile, which could click to show the full list of people you also follow.

@kachelle

Copy link
Copy Markdown
Contributor Author

its just something different.

This 'mutuals' list, is just the intersection. So this is a list of people that mutually know eachother. thats it. Nothing more. 😅

The reason i wanted it was that i was curious who on my list of followers (which is small to be clear 🫣), i also followed. Thats it.

@ashkesarmaa

Copy link
Copy Markdown
Contributor

@paulinevos, @kachelle Thanks for the clarification! Sorry, I misunderstood it. 🙂

@paulinevos

Copy link
Copy Markdown
Contributor

@ashkesarmaa np! And I am in favor of your feature. But I would like to have both, in which case I would prefer "followers you know" to have the profile link approach, so that we don't get too many tabs

@kachelle

Copy link
Copy Markdown
Contributor Author

okey, let me know if and what i should adjust here @paulinevos !

@paulinevos

Copy link
Copy Markdown
Contributor

@kachelle Nothing, just waiting for @ashkesarmaa to confirm the change to link instead of tab on his end. Then we can have both, and I'll merge yours.

@kachelle

Copy link
Copy Markdown
Contributor Author

lets go! nice chatting folks! 🫶🏼

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants