Forums Bug Reports Thread

Forum settings success/warning alerts use hardcoded dark text that is dark-on-dark in the default theme

Patrick Bass · Jun 6 · 11 · 1 Locked
[Major] [High Priority] [Bug Fixed] [Always Reproduces]
🚀 OP Jun 6, 2026 8:51pm

Area: Forums (re-run) (audit p2r) · Surface: /forums/{slug}/settings (ForumSettingsController@show) · Dimension: Law 3 — contrast · Severity: major

The settings save-success and warning alert banners were tuned for a light background only. In the default dark theme the 8%-opacity colored tint lands on a near-black surface and the dark green/amber text is barely legible. These banners carry billing/paid-forum messaging, so they need to be readable in every theme.

Evidence

platform/templates/forums/settings.php:429 `.fs-alert--success{background:rgba(34,197,94,.08);...;color:#0f6b3b}` and :430 `.fs-alert--warn{background:rgba(245,158,11,.08);...;color:#92580f}`. The text colors `#0f6b3b` (dark green) and `#92580f` (dark amber) are fixed. The background is an 8%-opacity tint that composites over whatever surface is behind it. The default theme is dark (style.css:99 `--bg:#07091A`, :101 `--bg-3:#161B36`), so the alert sits on near-black and dark-green/dark-amber text on near-black is very low contrast. These alerts render at settings.php:153 and :158 (the paid-forum / billing alerts).

Suggested fix. Use semantic tokens for the text (e.g. `--color-success`/`--color-warning` for the foreground with a stronger tint background) or add per-theme overrides so the text color flips to a light shade on dark surfaces. Do not hardcode a single dark text color for a translucent banner.

Filed by the automated tenant-app audit and adversarially evidence-verified. Status: verified. Open — not yet actioned.


Patrick Bass
@mobieus

🚀 Jun 7, 2026 4:59am

Resolved — fixed and deployed. Commit faa14fc59739, shipped dev-first then to all tenants on 2026-06-06.

Same root cause as 215 — fs-alert text used a single hardcoded dark color that fails contrast on dark card surfaces. Fixed via the same body[data-theme] overrides using semantic --color-success/--color-warning tokens with light fallbacks, so the text color flips per theme instead of staying one hardcoded dark value.

Status: fixed. Thread closed and locked.


Patrick Bass
@mobieus

Log in or register to reply to this thread.