@Shaykaden The issue was already marked as solved, it’s a bad practice to comment in a 16 days old post. I mean, 2 weeks is a lot of time, and this issue was already fixed in Nightly and is going to be pushed to Stable in next update.
It would have been easy to find by going to Brave’s github since Brave is open source you know everything they are doing.
brave:master
← brave:linux_dark_theme
opened 08:24AM - 15 Jun 23 UTC
fix https://github.com/brave/brave-browser/issues/30766
Recently, upstream in… troduced DarkModeManagerLinux that monitor platform's color scheme change.
If that change noti arrives after initializing brave theme with brave's theme option,
brave's activated theme could be different with brave's option.
When we have sysem default theme option in linux also, we could enable.
Resolves
<!-- CI-related labels that can be applied to this PR:
* CI/run-audit-deps (1) - check for known npm/cargo vulnerabilities (audit_deps)
* CI/run-network-audit (1) - run network-audit
* CI/run-upstream-tests - run Chromium unit and browser tests on Linux and Windows (otherwise only on Linux)
* CI/skip - do not run CI builds (except noplatform)
* CI/skip-linux-arm64, CI/skip-linux-x64, CI/skip-android, CI/skip-macos, CI/skip-ios, CI/skip-windows-arm64, CI/skip-windows-x64, CI/skip-windows-x86 - skip CI builds for specific platforms
* CI/skip-upstream-tests - do not run Chromium unit, or browser tests (otherwise only on Linux)
* CI/skip-all-linters - do not run presubmit and lint checks
* CI/storybook-url (1) - deploy storybook and provide a unique URL for each build
(1) applied automatically when some files are changed (see: https://github.com/brave/brave-core/blob/master/.github/labeler.yml)
-->
## Submitter Checklist:
- [ ] I confirm that no security/privacy review [is needed](https://github.com/brave/brave-browser/wiki/Security-reviews), or that I have [requested](https://github.com/brave/security/issues/new/choose) one
- [ ] There is a [ticket](https://github.com/brave/brave-browser/issues) for my issue
- [ ] Used Github [auto-closing keywords](https://docs.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue) in the PR description above
- [ ] Wrote a good [PR/commit description](https://google.github.io/eng-practices/review/developer/cl-descriptions.html)
- [ ] Squashed any review feedback or "fixup" commits before merge, so that history is a record of what happened in the repo, not your PR
- [ ] Added appropriate labels (`QA/Yes` or `QA/No`; `release-notes/include` or `release-notes/exclude`; `OS/...`) to the associated issue
- [ ] Checked the PR locally:
* `npm run test -- brave_browser_tests`, `npm run test -- brave_unit_tests` [wiki](https://github.com/brave/brave-browser/wiki/Tests)
* `npm run lint`, `npm run presubmit` [wiki](https://github.com/brave/brave-browser/wiki/Presubmit-checks), `npm run gn_check`, `npm run tslint`
- [ ] Ran `git rebase master` (if needed)
## Reviewer Checklist:
- [ ] A security review [is not needed](https://github.com/brave/brave-browser/wiki/Security-reviews), or a link to one is included in the PR description
- [ ] New files have MPL-2.0 license header
- [ ] Adequate test coverage exists to prevent regressions
- [ ] Major classes, functions and non-trivial code blocks are well-commented
- [ ] Changes in component dependencies are properly reflected in `gn`
- [ ] Code follows the [style guide](https://chromium.googlesource.com/chromium/src/+/HEAD/styleguide/c++/c++.md)
- [ ] Test plan is specified in PR before merging
## After-merge Checklist:
- [ ] The associated issue milestone is set to the smallest version that the
changes has landed on
- [ ] All relevant documentation has been updated, for instance:
- [ ] https://github.com/brave/brave-browser/wiki/Deviations-from-Chromium-(features-we-disable-or-remove)
- [ ] https://github.com/brave/brave-browser/wiki/Proxy-redirected-URLs
- [ ] https://github.com/brave/brave-browser/wiki/Fingerprinting-Protections
- [ ] https://github.com/brave/brave-browser/wiki/Brave%E2%80%99s-Use-of-Referral-Codes
- [ ] https://github.com/brave/brave-browser/wiki/Custom-Headers
- [ ] https://github.com/brave/brave-browser/wiki/Web-Compatibility-Exceptions-in-Brave
- [ ] https://github.com/brave/brave-browser/wiki/QA-Guide
- [ ] https://github.com/brave/brave-browser/wiki/P3A
## Test Plan:
Please refer to the issue for various experiences from many linux users.
STR 1.
1. Set os theme as light
2. Set dark mode to brave theme and relaunch
3. Check dark mode is still applied
NOTE: It seems it's not 100% reproducible. Maybe it depends on distributions/window manager and etc...
STR 2.
1. Launch brave
2. Change os theme and check brave's theme is not changed
I suggested enable-force-dark since the first report of this issue and people didn’t even care to enable, I don’t get why people want to see white pages instead of using the flag and control it with the adblocker in case some websites don’t play well enough with the automatic dark mode.
Most websites work okay, and since it is a native solution, it respects websites color-scheme, that means, websites that already offer dark mode will not be touched unlike Extensions which override everything, also this is faster than an extension but that’s just another topic, the point is, this shouldn’t be seen as workaround, but most people should be using it already, just like Mobile has it.
1 Like