I have enabled the dark mode switcher and set the "Auto Dark Mode" option to "By Operating System". But when I access the site it just ignores my operating system's mode and requires me to switch between light and dark modes manually. Is this a bug or am I doing something incorrectly? I am trying it with Safari and Chrome on macOS 12.6.1.
I am trying to debug the javascript and here's what I have found out so far:
On the first line there was a hard-coded setting of the cookie to dark. I assume it might be your temporary change in an attempt to debug the script. So I commented it out.
Then I saw the script relies on the penci_dark variable, so I tried to check its contents using the JavaScript console and it always seems to return {auto_by: "1", darktheme: ""} regardless of how I configure it in the Customizer. I tried switching the auto dark mode there between Disabled, Operating System and User Time, no impact. Even if I deleted caches.
So I have modified the darkmode-loading.js file a bit and came up with a version that behaves almost as desired.
I disabled storing the mode to cookie in this file because user only expects the mode to be fixed when they switch it manually. So if the mode is switched automatically based on the OS settings, it should not be saved to cookie.
I also hard-coded the autoby to 'os' because penci_dark.auto_by does not seem to reflect the settings. I consider this as a temporary workaround and will appreciate you finding out why the penci_dark.auto_by does not contain 'os' event though I have set it so in the Customizer.
What does not work but I would consider it a current limitation of your implementation rather than a bug, is that when my OS switches from light to dark mode and vice versa, the website does not switch automatically until I reload it or go to another page/article. I am not sure if there is a trigger for it (which I would prefer) or if that would require some kind of timer polling for the OS mode every second or so (which I would like to avoid as I hate polling as a bad practice in general).
I have enabled the dark mode switcher and set the "Auto Dark Mode" option to "By Operating System". But when I access the site it just ignores my operating system's mode and requires me to switch between light and dark modes manually. Is this a bug or am I doing something incorrectly? I am trying it with Safari and Chrome on macOS 12.6.1.
Hi,
This is a small issue with the JS code, I'll check and fix it in the future theme update.
Regards,
PenciDesign.
OK, thanks. Any clue when that might be? I.e. January? Or later?
Hi,
The update will be available in January.
Regards,
PenciDesign.
Hello, any update on this? I have updated to the latest version but the dark mode still does not seem to be in sync with the client OS settings...
Hi,
I've updated your site, please clear all the browser cache then check again.
Regards,
PenciDesign.
Hi,
I've re-updated this file on your site:
Please check.
Regards,
PenciDesign.
I am trying to debug the javascript and here's what I have found out so far:
On the first line there was a hard-coded setting of the cookie to dark. I assume it might be your temporary change in an attempt to debug the script. So I commented it out.
Then I saw the script relies on the penci_dark variable, so I tried to check its contents using the JavaScript console and it always seems to return {auto_by: "1", darktheme: ""} regardless of how I configure it in the Customizer. I tried switching the auto dark mode there between Disabled, Operating System and User Time, no impact. Even if I deleted caches.
So I have modified the darkmode-loading.js file a bit and came up with a version that behaves almost as desired.
I disabled storing the mode to cookie in this file because user only expects the mode to be fixed when they switch it manually. So if the mode is switched automatically based on the OS settings, it should not be saved to cookie.
I also hard-coded the autoby to 'os' because penci_dark.auto_by does not seem to reflect the settings. I consider this as a temporary workaround and will appreciate you finding out why the penci_dark.auto_by does not contain 'os' event though I have set it so in the Customizer.
What does not work but I would consider it a current limitation of your implementation rather than a bug, is that when my OS switches from light to dark mode and vice versa, the website does not switch automatically until I reload it or go to another page/article. I am not sure if there is a trigger for it (which I would prefer) or if that would require some kind of timer polling for the OS mode every second or so (which I would like to avoid as I hate polling as a bad practice in general).
OK, one last update from my side - I have added an event listener to mode switch.
Now the website behaves the way I want, although I know it's a workaround and needs to be further cleaned up... I leave that to you now...
Hi,
Thank you for your information.
I'll research and update this feature soon.
Regards,
PenciDesign.