[Bug]: Sent message text ignores custom theme messageForeground, making light bubbles unreadable#26742

opened13d agobyPpaulgrow-octane

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/web

Observed in the desktop app, which uses the web chat renderer.

Steps to reproduce

  1. In T3 Code 0.1.3, import and select a dark custom theme with a light message background and a dark message foreground. The following is a minimal theme file based on the affected theme:

    json
    1{
    2 "version": 1,
    3 "id": "message-foreground-repro",
    4 "name": "Message foreground repro",
    5 "appearance": "dark",
    6 "colors": {
    7 "canvas": "oklch(0.288241 0.006169 258.356)",
    8 "text": "oklch(0.763576 0 0)",
    9 "messageSurface": "oklch(0.711982 0.172356 297.202)",
    10 "messageForeground": "oklch(0.222003 0.03479 328.979)"
    11 }
    12}
  2. Open a thread and send a plain-text message, such as This should be dark text on a purple bubble.

  3. Inspect the sent message in the timeline.

See screenshot below for example from my custom theme.

Expected behavior

The sent message body should use the theme's dark messageForeground against its light purple messageSurface. Global text should remain unchanged for text outside the bubble.

The theme editor already derives a readable messageForeground when messageSurface changes; the sent message body should honor that role.

Actual behavior

The bubble background uses messageSurface, but its plain-text body appears in the global light gray text color instead of the configured dark messageForeground. The resulting low contrast makes the message difficult to read.

The same custom theme was readable when first installed approximately 2.5 weeks earlier. The last working version and introducing commit are unknown.

Impact

Major degradation or frequent failure

Sent messages are difficult to read with the affected theme; other conversation text remains readable.

Version or commit

T3 Code desktop 0.1.3, bundled commit d2c440312e5f39d59827ed466838a623516454d6.

Environment

macOS 26.7 (25G229), desktop app. Provider/model is not relevant to this text-rendering issue. Other platforms were not tested.

Logs or stack traces

No runtime error is claimed. Evidence consists of the user-provided screenshot and read-only inspection of the installed 0.1.3 bundle and its matching source:

  • UserTimelineRow sets text-message-foreground on the bubble.
  • UserMessageBody passes className="text-foreground" to ChatMarkdown, overriding the inherited message foreground with the global foreground. The same override is present in the installed JavaScript bundle.
  • updateThemeColorFamily still derives messageForeground from messageSurface. This is not a request for a new automatic-contrast setting.

Screenshots, recordings, or supporting files

Workaround

No workaround was applied or verified. Changing messageForeground alone cannot overcome the explicit text-foreground override in the message body. The user's theme and application files were not modified.

  • #8927 (closed) requests an optional high-contrast bubble style and explicitly describes the existing message text as readable. This report concerns an existing custom-theme foreground role being ignored, not a new appearance preference.
  • #13955 (closed) concerns images showing through the translucent composer, not sent-message foreground colors.
Synced from GitHub

I'll work on a focused fix for this. I'll keep the change limited to honoring messageForeground in sent-message bodies, with browser regression coverage and before/after screenshots.