Skip to content

Match the Dashboard's Cool Breeze warning color to Lite's, fixing dev's theme-parity test - #4668

Merged
erikdarlingdata merged 1 commit into
devfrom
fix/4658-dashboard-coolbreeze-parity
Sep 28, 2026
Merged

erikdarlingdata merged 1 commit into
devfrom
fix/4658-dashboard-coolbreeze-parity

Conversation

@erikdarlingdata

@erikdarlingdata erikdarlingdata commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

Refs #4651

What was wrong

#4658 darkened Cool Breeze's WarningColor from #9E4A0B to #9C490B in Lite and the Darling Viewer, so warning text clears 4.5:1 on the plan viewer's properties panel. The Dashboard's copy of the theme kept #9E4A0B.

ThemeParityTests requires the keys the Dashboard and Lite theme files share to match. On dev it now fails:

SharedThemeKeys_HaveIdenticalColors_AcrossApps(theme: "CoolBreeze") [FAIL]
  WarningBrush: Dashboard=#FF9E4A0B  Lite=#FF9C490B
  WarningColor: Dashboard=#FF9E4A0B  Lite=#FF9C490B

#4658's own CI didn't run this test. The build's dashboard path filter covers only deprecated/Dashboard/** and deprecated/Dashboard.Tests/**, and #4658 changed only Lite and Darling Viewer theme files.

What changed

  • deprecated/Dashboard/Themes/CoolBreezeTheme.xaml: WarningColor is #9C490B, the value Darken Cool Breeze's default WarningColor to clear the 4.5:1 text floor (#4651) #4658 gave Lite and the Darling Viewer. WarningBrush is built from WarningColor, so it follows.
  • The contrast figures in that file's comments now describe the new color: 4.50:1 on BackgroundDarkColor, 4.91:1 on BackgroundColor, 5.62:1 on BackgroundLightColor, and white text 6.23:1 on the color itself. The Dashboard's Cool Breeze backgrounds are the same as Lite's.
  • Nothing else under deprecated/ changes. Erik approved this one-file exception to the no-deprecated/ rule. git diff --stat origin/dev...HEAD shows only this file.

Tests

  • RED: with dev's copy of the file, ThemeParityTests fails CoolBreeze with the two mismatches above (1 of 3 failed).
  • GREEN: with the fix, ThemeParityTests passes 3 of 3 (Dark, Light and CoolBreeze, all six theme files).
  • Full Dashboard.Tests: 838 of 838 pass.
  • Lite and Darling Viewer theme tests, all green: ThemeColorOverrideTests 109, ThemeCompletenessTests 2, ThemeParityLiteDarlingTests 3, ThemeStatusContrastTests 21 and TagColorPaletteTests 10 in Lite.Tests; Viewer4629Tests 24 and ViewerThemeColorOverridesTests 4 in Darling.Tests.

CHANGELOG

SECTION: None - the Dashboard gets the same Cool Breeze warning color #4658 gave Lite and the Darling Viewer, and the plan viewer it shares with them shows the same text, so #4658's entry covers this change once its "In Lite and the Darling Viewer" scope also names the Dashboard.

#4658 darkened Cool Breeze's WarningColor from #9E4A0B to #9C490B in
Lite and the Darling Viewer. The Dashboard's copy kept #9E4A0B, so
ThemeParityTests, which requires the shared keys of the two apps' theme
files to match, failed for CoolBreeze on dev and in every PR's Windows
build.

Set the Dashboard's WarningColor to #9C490B. WarningBrush derives from
it, so both keys match again. The contrast figures in the file's
comments now describe the new color.
@erikdarlingdata
erikdarlingdata marked this pull request as ready for review September 28, 2026 22:12
@erikdarlingdata
erikdarlingdata merged commit 2b5e3ef into dev Sep 28, 2026
17 of 18 checks passed
@erikdarlingdata
erikdarlingdata deleted the fix/4658-dashboard-coolbreeze-parity branch September 28, 2026 22:12
erikdarlingdata added a commit that referenced this pull request Sep 28, 2026
…4674)

ThemeParityTests in deprecated/Dashboard.Tests reads Lite/Themes/*.xaml, but the build's dashboard filter covered only deprecated/Dashboard/** and deprecated/Dashboard.Tests/**. #4658 changed only a Lite theme color, its build logged "Filter dashboard = false", the test was skipped, and dev went red until #4668.

.github/workflows/build.yml:
- The dashboard filter also matches Lite/Themes/**/!(*.md), with a comment saying why.
- The Build Dashboard.Tests and Run Dashboard tests steps also run when installer_core changes. The Dashboard references Installer.Core, and that filter's comment already said a change there rebuilds both products, but only the CLI Installer's steps checked it.

Proof: a throwaway draft (#4675, closed unmerged) with only a Lite theme comment on top of this branch logged "Filter dashboard = true", matching only Lite/Themes/CoolBreezeTheme.xaml.

Refs #4673
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant