Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

TUI: low-contrast/invisible text on macOS dark terminal (worst when selecting to copy)

Open Beginner friendly
#121 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
typescript
Domain
cli

Research direction

Start in ui-tui/src/theme.ts around the DARK_16_COLORS definition and compare its muted, label, sessionLabel, and selectionBg values with the higher theme tiers. Reproduce the dark-terminal selection case described in the issue, then verify that muted text remains readable and selected text does not disappear across the affected palette tiers.

Written by the indexing model from the issue text.

Description

Summary

On macOS dark terminals, some TUI text is very low contrast — and when you select it to copy, it becomes effectively invisible (dark-gray text on a dark-gray selection highlight).

Reported with a screenshot of an assistant prompt line (能否请您直接告诉我...) rendered so faintly it is barely readable, and unreadable once highlighted for copy.

Likely cause (code)

In the 16-color theme tier DARK_16_COLORS (ui-tui/src/theme.ts, ~L363), several foreground roles and the selection background all resolve to the same ansi:blackBright:

muted:       'ansi:blackBright'
label:       'ansi:blackBright'
sessionLabel:'ansi:blackBright'
selectionBg: 'ansi:blackBright'   // <- selection highlight
diffAdded:   'ansi:blackBright'
diffRemoved: 'ansi:blackBright'

Two problems on a dark background:

  1. ansi:blackBright (bright black ≈ dark gray) as a foreground is already very low contrast against a dark terminal bg → muted/label/dim text is hard to read.
  2. selectionBg is also ansi:blackBright, so selecting any dark/muted foreground text puts gray-on-gray → the text disappears while highlighted (matches "复制文案时看不出来").

The higher tiers (muted: '#858482' / ansi256(102) / ansi256(59)) are less severe but muted still trends low-contrast.

Steps to reproduce
  1. macOS, dark-background terminal (Terminal.app / iTitem2 dark).
  2. Launch raven TUI.
  3. Observe muted/secondary text (e.g. an assistant prompt / hint line) — low contrast.
  4. Click-drag to select that text to copy → it becomes invisible under the selection highlight.
Expected

Muted text stays legible on dark backgrounds, and selected text remains readable (selection highlight must contrast with the text it covers).

Suggested fix
  • Give selectionBg a background distinct from any foreground role (not ansi:blackBright), or invert selected-text foreground so it always contrasts.
  • Bump the muted/label foreground to a higher-contrast value on dark themes.
Info needed to pin the exact theme tier

Could the reporter share the terminal's echo "$TERM / $COLORTERM" and terminal app? That tells us whether they land on the 16-color tier (the worst case above) or a 256/truecolor tier, so the fix targets the right palette.

Environment

macOS, dark terminal. (Screenshot shows faint assistant text; attach if possible.)

Dominant language
Python
Stars
4.1k
Forks
94
Avg merge
17h 47m
Merged PRs (30d)
371

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from EverMind-AI/Raven

All issues in EverMind-AI/Raven

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.