Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Display relationship status in timeline #15403

Open
inga-lovinde opened this issue Dec 21, 2020 · 6 comments
Open

[Feature Request] Display relationship status in timeline #15403

inga-lovinde opened this issue Dec 21, 2020 · 6 comments
Labels
area/web interface Related to the Mastodon web interface suggestion Feature suggestion

Comments

@inga-lovinde
Copy link

inga-lovinde commented Dec 21, 2020

Pitch

Pitch: display some kind of icon next to the toots which were sent by: user I follow, or user who follows me, or user with which we are mutuals (that would be three different icons).

Motivation

Sometimes I frequently interact with some user whose toots often appear in my timeline, and I may think that I follow them already, but I don't. In current version, I have to remember to check their profile every time to make sure I follow them. With this feature, I would notice that I don't follow them at once.

Sometimes I want to interact with some user I follow but I don't know if I will cross their boundaries. If we're mutuals, I can talk to them, but if we're not, I'll want to limit the number of interactions initiated by me, to avoid becoming a "reply person". In current version, I have to check their profile every time to make sure if we're mutuals or not. With this feature, I would notice that we're not mutuals at once.

There are already icons for that kind of thing: #15149

But this could also be implemented by adding additional CSS classes to status__display-name blocks, without changing the actual UI. That way users who need this feature could add the icon of their liking using user-agent CSS overrides. Currently there is no way to solve it with CSS overrides; and JS solution would have to make an request to backend for every toot, potentially overloading the server.

@inga-lovinde
Copy link
Author

It might also make sense to display if there is a pending follow request from / for that user, but it seems that there are no icons to display that kind of relationship yet.

@inga-lovinde
Copy link
Author

inga-lovinde commented Mar 27, 2021

This would probably involve adding a relationship field (serialized by relationship_serializer) to account_serializer, as invoked by status_serializer But I don't know anything about Mastodon architecture, so I'm not sure if that could be easily done without running into N+1 problem.

@Gargron
Copy link
Member

Gargron commented Mar 27, 2021

A full relationship object queries 9 different tables, I don't think it's practical to compound that with any of the statuses or accounts APIs which on their own perform a good number of queries. That is the reason the relationship data is separated from the account entity in the first place. You could however query the relationships API with account IDs of the statuses on a page separately to get what you want, this happens when you scroll through the following/followers lists for example or your own notifications.

I will say though that statuses are already pretty information-dense and I don't think it's a good call to add even more data into that mix. Your request would likely be fulfilled by #15467 though.

@inga-lovinde
Copy link
Author

Your request would likely be fulfilled by #15467 though.

I don't think that #15467 will solve the original problem as described in "Motivation" here.

Both with the current implementation and with #15467 one is required to explicitly check the information about the account in question; as I understand, the difference is only that currently I would have to click on display name, while with #15467 it would be enough to hover on it.

My idea was to make this information available at a glance, without having to perform any actions.

I will say though that statuses are already pretty information-dense

It could be solved by making this information hidden by default (so that in order to see it one would have to enable some option in preferences, or apply custom stylesheet). That way, only people who need this information and who want to increase the density of their home screen would do that.

I understand though that it cannot be implemented because of the performance problems you mention. Just wanted to address the rest of your comment.

@naught101
Copy link

Please, please, this one is so critical. I waste so much time visiting user pages of users who seem interesting who I can't remember following previously.

@brendanjones
Copy link

brendanjones commented Nov 8, 2022

You could certainly show all relationships, but might I suggest starting by only showing whether you follow the person or not? That feels to me like the core info, while whether the person follows you back or not is nice-to-have. It's also existing functionality elsewhere on the site (it's shown when you search someone) so it should be technically simple to implement. And no new icons needed, existing Font Awesome icons can be used.

@vmstan vmstan added suggestion Feature suggestion area/web interface Related to the Mastodon web interface labels Nov 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/web interface Related to the Mastodon web interface suggestion Feature suggestion
Projects
None yet
Development

No branches or pull requests

5 participants