Skip to content

feat: Reduce scope of content labelling and improve UX#29

Merged
gadenbuie merged 14 commits into
mainfrom
garrick/feat/content-labelling
Jan 17, 2025
Merged

feat: Reduce scope of content labelling and improve UX#29
gadenbuie merged 14 commits into
mainfrom
garrick/feat/content-labelling

Conversation

@gadenbuie
Copy link
Copy Markdown
Collaborator

@gadenbuie gadenbuie commented Jan 15, 2025

Fixes #11

This PR makes content hiding for content labels work a bit more like it does on Bluesky. Content labels now hide the comment body, only show the content label, and only toggle the visibility of the comment body, rather than replacing the entire comment. It also no longer requires tracking acknowledged content warnings.

Along the way, I also realized we don't need to put the content warning on the main component, only individual comments, since the top-level post isn't actually shown (just its replies are).

Before

image

After

Hidden

image

Expanded

image

@gadenbuie gadenbuie requested a review from coatless January 15, 2025 15:00
Bootstrap's light and dark colors are absolute, so
`light` in a dark mode is too bright.

Instead, I'm adding a `--_bg-soft` that uses alpha
blending in way that will work for both light and
dark mode.
Comment thread _extensions/bluesky-comments/bluesky-comments.js
Comment thread _extensions/bluesky-comments/bluesky-comments.js
value: l.val.charAt(0).toUpperCase() + l.val.slice(1),
}));
const labelDisplay = {
sexual: 'adult content',
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Did you want to add a few more here?

!hide which puts a generic warning on content that cannot be clicked through, and filters the content from listings. Not configurable by the user.
!warn which puts a generic warning on content but can be clicked through. Not configurable by the user.
!no-unauthenticated which makes the content inaccessible to logged-out users in applications which respect the label.
porn which puts a warning on images and can only be clicked through if the user is 18+ and has enabled adult content.
sexual which behaves like porn but is meant to handle less intense sexual content.
graphic-media which behaves like porn but is for violence / gore.
nudity which puts a warning on images but isn’t 18+ and defaults to ignore.

From:

https://docs.bsky.app/docs/advanced-guides/moderation#global-label-values

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Great link thanks. We might want to include configuration similar to what's described here: https://docs.bsky.app/docs/advanced-guides/moderation#configuration

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

The problem is that it's not clear from that list what actual text labels Bluesky shows in their interface (e.g. they show "Adult content" for the sexual label).

We probably need to find some !hide and !warn labelled skeets too to see how they work.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

porn, gore and spam are also mentioned here: https://docs.bsky.app/docs/advanced-guides/moderation#label-values

Copy link
Copy Markdown
Collaborator Author

@gadenbuie gadenbuie Jan 17, 2025

Choose a reason for hiding this comment

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

I don't really want to go find example skeets (of porn/gore/spam) to see how they're handled, I think we should include these in the default filters via #37

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@gadenbuie I equally didn't want to do any kind of deep dive on those skeets. The quick glance through bsky then didn't show any kind of public-facing test points for the labels.

I'll skeet at one the bsky team members to see if they can point me to a test bed.

Comment thread _extensions/bluesky-comments/styles.css Outdated
@gadenbuie gadenbuie merged commit 3dbd6ee into main Jan 17, 2025
@gadenbuie gadenbuie deleted the garrick/feat/content-labelling branch January 17, 2025 14:00
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.

Improve content-labelling UI/UX

2 participants