Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression - #12663 broke StatusStrip DarkMode coloring. #12909

Open
KlausLoeffelmann opened this issue Feb 10, 2025 · 11 comments
Open

Regression - #12663 broke StatusStrip DarkMode coloring. #12909

KlausLoeffelmann opened this issue Feb 10, 2025 · 11 comments
Assignees
Labels
area-DarkMode Issues relating to Dark Mode feature 💥 regression-release Regression from a public release priority-1 Work that is critical for the release, but we could probably ship without
Milestone

Comments

@KlausLoeffelmann
Copy link
Member

.NET version

Hey @LeafShi1, @Olina-Zhang

Can you please make sure, if this change #12663 did not break the DarkMode Coloring (not HighContrast! I mean DarkMode.) in .NET 9?

Thanks.

Also @merriemcgaw, @Tanya-Solyanik FYI.

Did it work in .NET Framework?

No

Did it work in any of the earlier releases of .NET Core or .NET 5+?

No response

Issue description

As in Description.

Steps to reproduce

As in Description.

@KlausLoeffelmann KlausLoeffelmann added the untriaged The team needs to look at this issue in the next triage label Feb 10, 2025
@JeremyKuhne
Copy link
Member

@KlausLoeffelmann can you please give details / links on how to validate?

@JeremyKuhne JeremyKuhne removed the untriaged The team needs to look at this issue in the next triage label Feb 10, 2025
@Olina-Zhang
Copy link
Member

@KlausLoeffelmann @JeremyKuhne Here is current testing result for both of .NET 9.0 and .NET 10.0. Because the change #12663 is not ported to .NET 9.0, so the #12663 still reproduces in .NET 9.0, fixed in .NET 10.0. For DarkMode, runtime is in DarkMode, no affect.

.NET 10.0:

Image

.NET 9.0.2:

Image

@Olina-Zhang
Copy link
Member

But for StatusStrip, now renderMode was changed to System(#12719), so have DarkMode issue for both of .NET 9.0 and .NET 10.0, we have a known issue: #11901

Image

@merriemcgaw merriemcgaw added 🪲 bug Product bug (most likely) and removed 🪲 bug Product bug (most likely) labels Feb 25, 2025
@merriemcgaw merriemcgaw added this to the 10.0 Preview3 milestone Feb 25, 2025
@KlausLoeffelmann
Copy link
Member Author

Yeah, and that's an issue. We cannot have System for DarkMode.
What was the reason for changing it?

@merriemcgaw merriemcgaw added the 💥 regression-release Regression from a public release label Feb 25, 2025
@merriemcgaw merriemcgaw added the priority-1 Work that is critical for the release, but we could probably ship without label Feb 25, 2025
@merriemcgaw
Copy link
Member

merriemcgaw commented Feb 25, 2025

@LeafShi1 , @Epica3055 it looks like #12663 broke DarkMode with the fix. We should either revert the accessibility change or find a way to account for Dark Mode in the fix so that we're not changing the rendering when explicitly in Dark Mode.

@Olina-Zhang I think we will need to start doing a sanity pass over Dark Mode with each Preview test pass.

Everyone, if we touch anything to do with colors we should definitely make sure that we are accounting for the possibility of DarkMode being enabled in the project for .NET 9+ fixes.

@merriemcgaw merriemcgaw changed the title Investigate if #12663 broke StatusStrip DarkMode coloring. Regression - #12663 broke StatusStrip DarkMode coloring. Feb 25, 2025
@merriemcgaw merriemcgaw added the area-DarkMode Issues relating to Dark Mode feature label Feb 25, 2025
@Tanya-Solyanik
Copy link
Member

@KlausLoeffelmann

Yeah, and that's an issue. We cannot have System for DarkMode. What was the reason for changing it?

The reason was compatibility if the default sizes with .NET Framework - https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/[StatusStrip.cs](https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/StatusStrip.cs,47),47,
To support DarkMode, devs would have to use not a System renderer.

I don't think we should change the default renderer again

@merriemcgaw
Copy link
Member

@Olina-Zhang does this happen with both System and Professional renderers?

@KlausLoeffelmann - let's make sure we have explicit docs about what happens with DarkMode + System and DarkMode + Professional and have a formal call here before we make a change here.

@KlausLoeffelmann
Copy link
Member Author

I cannot remember the technical issues we had back in the day when we investigated. It was something with the system color, if I remember correctly, which could not be overridden - but for once, I am not 100% sure if that was it, and secondly, since we changed the .NET runtime, it might be possible now.

I need to take a look then, later next week. But if this fix gets serviced, we should also service then the fix for the fix, because dark mode right now is broken. Fix for 9 should go out then with the Analyzers ideally, and we can aim Preview 3 for the Dark Mode fix(es).

@Olina-Zhang
Copy link
Member

@Olina-Zhang does this happen with both System and Professional renderers?

No, just happens in System RenderMode.

@Progress1
Copy link

I can confirm. It's only on System render (Professional, ManagerRenderMode works)

Image

@Tanya-Solyanik
Copy link
Member

@KlausLoeffelmann - System renderer had never worked with the Dark mode, this is not really a regression. Customers can change the renderer for StatusStrip as needed. This should not be Priority 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-DarkMode Issues relating to Dark Mode feature 💥 regression-release Regression from a public release priority-1 Work that is critical for the release, but we could probably ship without
Projects
None yet
Development

No branches or pull requests

8 participants