diaspora / diaspora

A privacy-aware, distributed, open source social network.
https://diasporafoundation.org/
GNU Affero General Public License v3.0
13.36k stars 2.92k forks source link

Don't show opengraph preview for NSFW content #7962

Open Waithamai opened 5 years ago

Waithamai commented 5 years ago

Although posts marked as nsfw are hidden when viewed in the stream, the opengraph details show all post content (text and images) when that post is referenced from another post via post URL.

People tried to use two separate posts (one for sensitive content, and one for explanations, with link to the other post) for spoiler warnings, content warnings with description, discussions about the hidden content, etc. but this of course doesn't work if opengraph still shows everything.

Is it even possible not to generate opengraph info, if the post is marked as nsfw?

HankG commented 5 years ago

I guess my first question would be how it would determine that based on the URL? It'd have to follow the URL, ensure it is a D* post, then do some post-processing of some sort? It should obscure on a pure reshare right?

Not to sideline but I do like the ability to do hidden content in the Mastodon UI especially for the spoilers etc. That'd be a nice addition here. Totally not appropriate for this issue but since you brought up spoiler warnings etc...

Waithamai commented 5 years ago

I thought that since it uses opengraph for the previews, maybe it would be possible not to create any opengraph info for nsfw posts in the first place. So for linked posts it would try to fetch preview info but the linked post doesn't provide any info, so no preview would be displayed.

A spoiler feature would be a different issue (maybe open one?). Might be useful as well, but not the same as what people wanted to do with their two posts.

SuperTux88 commented 5 years ago

This would also be fixed by #7506, but it's probably still a good feature with the other one fixed (and it's easier to implement).

HankG commented 5 years ago

This would also be fixed by #7506, but it's probably still a good feature with the other one fixed (and it's easier to implement).

Which would be easier to implement, turning off the preview? I'd agree with that. As I highlighted above I'm not even sure how to implement the feature for a workflow of getting a URL that happens to be a link from a Diaspora service somewhere that happens to have been tagged NFSW.

Incidentally, confirmed that the literal reshare method preserves the NSFW masking which hides the opengraph preview. The problem being that it doesn't support a workflow of commenting on a post you are resharing. I like that ability on other systems, maybe that should be another feature request too :)

SuperTux88 commented 5 years ago

Which would be easier to implement, turning off the preview?

The feature waithamai suggest here is easier to implement, since it's just a local check and don't provide any or provide a hardcoded placeholder OpenGraph metadata if the post is NSWF (deviantart for example provides a placeholder OpenGraph for NSFW content) .

7506 is bigger, since it involves a new UI for the user to preview, select and hide the OpenGraph, and then also includes federation so other pods also know which metadata to show (the protocol is already done, but not in diaspora yet).

HankG commented 5 years ago

The feature waithamai suggest here is easier to implement, since it's just a local check and don't provide any or provide a hardcoded placeholder OpenGraph metadata if the post is NSWF (deviantart for example provides a placeholder OpenGraph for NSFW content) .

Ah so this is if the OpenGraph data contains the NSFW flag. Do we publish the NSFW flag in our OpenGraph data? If so then yes it sounds like it would be easy.

SuperTux88 commented 5 years ago

It's not about fetching (and then ignoring it), it's about not providing OpenGraph data when the post is NSWF (at least that's what I understand from @Waithamai).

HankG commented 5 years ago

It's not about fetching (and then ignoring it), it's about not providing OpenGraph data when the post is NSWF (at least that's what I understand from @Waithamai).

I'm not sure how I feel about that...

goobertron commented 5 years ago

Ah so this is if the OpenGraph data contains the NSFW flag. Do we publish the NSFW flag in our OpenGraph data? If so then yes it sounds like it would be easy. @SuperTux88

No; it's if the diaspora* post contains the #nsfw tag, or the diaspora* user has ticked 'Mark all content I post as #nsfw' in their user settings.

There's no need to detect anything in the OG metadata or in the remote content; it's simply about whether the post itself (or the user) is marked as 'nsfw'.

Otherwise a post can be properly hidden from view but the OG preview shown en clair, potentially containing offensive language or an offensive image. I think this is a good proposal.

CSammy commented 5 years ago

I like the idea, because it protects people from being trolled by malicious users in different software, for example messengers, that pull OpenGraph data.

If this discussion continues for much longer, it might need a Discourse thread though, because right now it's more about "Do we want to do this" rather than technical obstacles.