Mention behaviour

–> This is just about what the server should do, not about what a user should see in the UI! <–

https://github.com/diaspora/diaspora/issues/4160
If someone posts to an aspect, and the text contains a mention of a user that is not in that aspect … what should happen with that mention?

Assuming we agree on the fact, that aspect privacy is absolute, and can’t be breached by mentioning someone outside an aspect…

I see two possibilities:

  1. leave the mention in the text and treat it just like a normal link. No notifications or ‘special’ visibility is granted to the mentioned user.
  2. remove the mention from the text; just display the name. no links and nothing.

Note: This discussion was imported from Loomio. Click here to view the original discussion.

Proposal: Remove mention from text

The easy way out is to simply remove the mention in the described case (from a programming point-of-view).

This will avoid triggering any notifications or other post-processing.
Of course this means the UI has to inform the user about this behavior, otherwise users might get confused why the mention just disappeared.


Outcome: It appears the link is more important than I suspected.
The server (backend) shall convert the mention into a regular link and not remove it. Any further behavioural changes should be discussed separately.

Votes:

  • Yes: 5
  • Abstain: 0
  • No: 6
  • Block: 0

Note: This proposal was imported from Loomio. Vote details, some comments and metadata were not imported. Click here to view the proposal with all details on Loomio.

If the UI inform the User, we could have the first behavior and a message like “The user has not be pingued because he can’t see this post”. Keep the link to the profile can be useful for the other users, as this link is adapted for their pod.

the whole point of mentions is that a user gets notified about them. if the post is not visible to the user, there really is no point in using a mention.
If you really just want to link a profile, you can always just do so by hand… :slight_smile:

I think we can just replace the mention with a normal url, as if the user used name-syntax. That way the functionality is just as before and the user will not be mentioned.

If I understand you, Florian, you mean either:

  • make the ‘@[name]’ text into a ‘mention’ link, but not send a notification (NO to the proposal);
  • keep the ‘@[name]’ text as plain text (YES to the proposal).

My vote is for the second (so, YES to the proposal, if I understand you correctly).

But I don’t think it’s a case of ‘removing’ a mention, as the software doesn’t allow you to make a mention. I mean, you can type @goob, but if I’m not one of your contacts in that aspect, it won’t allow you to turn that into a mention.

If your ‘removal’ proposal means that in the case above, your post would read ‘I thought @goob might like this’ all in plain text, with no links or anything, that’s fine. If you mean that ‘@goob’ would actually be removed from the text so that the text would read ‘I thought might like this’, I’m not sure that’s a good idea. Good for privacy, but will make some nonsensical posts.

I definitely think that there shouldn’t be a link or anything to a user who is not part of the aspect to which the post is made, as that would be a privacy leak.

You could always get the UI to stop anyone posting @[text] except where that text is the name of one of their contacts in the aspect(s) to which they are posting.

Ah - of course, the poster might select aspect(s) after typing the post, so the behaviour I suggest wouldn’t always be possible. Well, hopefully you can discern what I mean!

@goob the proposal is supposed to mean completely remove the markup and leave just the plain text, no link or anything. of course the mentioned name would have to stay, otherwise the message would be distorted.

The problem with limiting input just from the UI is that it can always be circumvented… also, should we ever get an API (hopefully soon), we can’t control what gets sent at all.

Thanks for clarifying that, Florian. (Probably just me being stupid.) That makes sense, and I agree with your proposal to make mentions plain text.

I think leaving the mention in the text is just fine, as @goob pointed out, mentioning someone from an Aspect they’re not a part of can be very useful in talking about someone. D* does a pretty good job of correctly linking the user’s profile on different pods, and I see no problem with linking to a user’s profile via a mention.

If the mentioned user is out of scope of the post privacy, then the mentioned user probably shouldn’t be notified about it.

How about adding the person who is mentioned to the aspect dropdown, so it would read:
2 Aspects, Sean Tilley
or
2 Aspects, 2 People
then they could be removed through there and not notified if they don’t get the post.

Sean, of course it would be better to type a name in full, but since the advent of Twitter, people have been @naming each other all over the place where it doesn’t work: blog comments, message boards, Facebook, probably even in emails and text messages for all I know. We can’t stop people doing that, but I do agree that it’s inappropriate to turn that usage into a link to the profile of someone who’s not able to view the post because they’re not included in the relevant aspect(s).

Hi Raphael! Long time no see. Hope all’s well with you.

@raphaelsofaer interesting suggestion - and that is how it works with Google+ actually. I like that idea.

First however I think we should fix this bug (remove the mention completely or just not notify) - then we can improve on how aspects work.

It’s a really annoying bug, sometimes getting a notification of a post and no way of seeing the actual post.

The solution of Raphael is probably the best, but also the hardest to implement. As I have no time to dev for the moment, it’s up to you guys, but this has to be fixed quickly as it’s a privacy leak.

Don’t just agree to remove the mention completely if you want to change something later and it’s only an intermediate step. “Never underestimate the livetime of a quick fix.” So please think of it, how you could do it right now, so that there is not much to do until somebody really wants to improve it. And I think “just remove the mention” is not living up to our standards for user experience (at least not to mine).

How feasible would it be to write code to do the following?

Assume I type a message and @-mention Fred Bloggs, who is in my ‘Friends’ aspect, but then select ‘Family’ from my aspects list. Fred is not part of my Family aspect.

When I press the Share button, a dialog pops up:

‘You can only @-mention people in the aspect(s) to which you are posting. You are sharing this post with only your Family aspect, but are attempting to @-mention Fred Bloggs, who is in another aspect. If you wish this @-mention to remain, press Edit and add the aspect relevant for that person to the post. If you press Continue, the post will be shared only with your Family aspect, and the @-mention of Fred Bloggs will be removed.’

This alerts the user to what possibilities there are, and what will happen if they proceed with their post. The dialog would need to fetch information on which aspect(s) the person being @-mentioned is in; or, you could keep the language more general and just refer to different aspects without naming them.

Have no knowledge of coding so apologies if this is a really unworkable suggestion.

I’d also be interested to know from people who vote to retain the @-mention of someone not in the aspect to which a post is made, how they think it’s acceptable that there will be a link to that person’s profile visible to a (perhaps large) number of people in a post which they will be unable to view, which they will not know about, and therefore will not be able to ask to be removed if they don’t want it.

E.g. someone could, theoretically, post malicious things such as ‘@fredbloggs is a paedophile’, which various people would see, with a link to Fred Blogg’s profile, but Fred would know nothing about this.

I think @-mentions are only acceptable where they provide a two-way link: there is a link in the post for people to follow to that person’s profile, and conversely that person is alerted to their name being used and can view the post. Otherwise it has potentially dangerous implications.

The way I see it, with the way we currently advertise aspects, we have a serious privacy problem. For the present model of sharing, we need to fix this issue (most probably in one of the ways I outlined in the description).
I would also go ahead and implement the way we shall decide, so that pods, that choose to backport those kinds of fixes can do so.

However, I also have no problem if afterwards we decide to revamp the sharing model altogether, which we should discuss and vote on in a different thread.

… I really just wanted to know how to fix a technical defect here, not stir up a completely new discussion. It’s nice, if that happened, but the technical issue remains.
:slight_smile:

Wait, Goob. If this is your argument, then we should disable the possibility to write hyperlinks as well, because they point at something/someone without notifying this thing/person about it. Do you really think that this is a privacy issue?

I don’t see anything potentially dangerous implications about letting an @-mention point at someone without notifying this person. That’s exactly the same as if I was writing a hyperlink in markdown.

I don’t think there’s an equivalence, Rasmus, because although a Diaspora profile is displayed as a web page, it is in nature more like an email address than an ‘ordinary’ web page. The majority of web pages are open, ‘published’ pages intended to be read by anyone; a profile is less so. I can’t put it clearly at the moment, but there is, to me, a difference between linking to someone’s profile and linking to an ‘ordinary’ web page.

In any case, we’re talking about mention behaviour, which is by its nature a means of alerting someone to a discussion. If this doesn’t happen in an instance because the person mentioned is not a part of the aspect(s) to which the post has been made, it should not be possible to mention that person, because by allowing the poster to mention a person, it gives the person the impression that that person will be notified of that mention. It’s confusing, and doesn’t do what it should do in this instance.

So no mentions where the person mentioned wouldn’t be notified - but if you want to provide a link to that person’s profile in secret, you could still do that as a hyperlink. At least in that case the person doing it would know exactly what it was that they were doing.