Skip to content

Status-bar collector text keeps the old theme's color for up to 30 s after a live theme switch #4679

Closed

Description

@erikdarlingdata

Found in a render pass of Lite at dev 003980e.

After a live theme change (the Settings window's theme picker), the status bar's "Collectors: N OK" text keeps the previous theme's brush until the next 30-second status tick. Switching Dark to Light left it at #E4E6EB on white, 1.25:1, which is close to invisible. It corrected itself on the next tick.

Why: UpdateCollectorHealth (Lite/MainWindow.xaml.cs) assigns Foreground = FindResource("ForegroundBrush"), a one-time copy that replaces the XAML's DynamicResource. The "erroring" and "Capture down" branches (#4635) copy CriticalTextBrush the same way. So an erroring status would also keep the old theme's color after a switch. The Darling Viewer's "Collectors: N erroring" text (MainWindow.ServerManagement.cs) has the same pattern.

A related case: the "Logging: BROKEN" branch uses a fixed Brushes.Red, which is 4.0:1 on Light's white status bar, under the 4.5:1 text floor.

Activity

  1. added
    in-progressActively being worked by a local session or its agents (PR open or in flight)
    on Sep 28, 2026
  2. erikdarlingdata commented on Sep 28, 2026

    @erikdarlingdata
    OwnerAuthor

    Claude posting for Erik Darling

    Fixed by #4682, merged to dev as 1418637. The status bar's collector-health text in Lite and the Darling Viewer now uses a live resource reference on every branch, so it follows a live theme switch at once instead of at the next 30 s tick. Lite's "Logging: BROKEN" now uses CriticalTextBrush (6.41, 5.59 and 5.79:1 on the three status bars) instead of a fixed red that was under 4.5:1 on all three.

  3. removed
    in-progressActively being worked by a local session or its agents (PR open or in flight)
    on Oct 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions