Skip to content

feat(settings): showMatureContent user setting + server-side [mature] gate #400

Description

@obrien-k

Part of the BBCode parity work (#398). Unblocks the real [mature] content gate.

Context

The BBCode spec's [mature] tag should display content only when the viewer has enabled mature content in settings. No such setting exists on User today (only showEmail, showLastSeen, show*Stats). In #398 Phase 1, [mature] renders as a plain collapsed <details> disclosure with no gate — the content still reaches the DOM, just hidden.

Ask

  1. Add showMatureContent Boolean @default(false) to User (matches the existing show* convention).
  2. Settings UI toggle (stellar-ui).
  3. Wire the BBCode renderer's ctx.viewer.showMature so [mature] omits the content server-side when off (renders a "mature content hidden — enable in settings" notice), and shows the disclosure when on.

Note for the renderer

This makes BBCode render viewer-dependent, so the render cache key must gain a :mature{0|1} variant dimension. #398 leaves a marked seam for exactly this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BBCodeBBCode parser parity — phased implementation (see #398)needs-triageMaintainer needs to evaluate this issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions