Comment activer le « schéma de couleurs du mode sombre automatique » pour tous les utilisateurs, en remplaçant leurs paramètres de compte ?
Je suppose que vous devez forcer les utilisateurs en désactivant la possibilité de choisir le schéma de couleurs
allez dans paramètres –> personnalisation –> couleurs –> Le schéma de couleurs peut être sélectionné par les utilisateurs ((désactivez-le))
puis revenez au style et définissez un schéma de couleurs qui apparaîtra aux utilisateurs de force
Merci d’avoir essayé d’aider ![]()
C’est déjà désactivé.
Je demande ceci comme mentionné ici : Automatic Dark Mode color scheme switching
Je veux que ce paramètre soit forcé pour tous les utilisateurs, mais je ne trouve pas le moyen de le faire.
Peut-être souhaitez-vous l’id du schéma de couleurs du mode sombre par défaut dans les paramètres administrateur ?
Le bot de configuration Discourse dit :
Il est configuré sur le schéma de couleurs sombre
Quelques utilisateurs ont signalé que ce paramètre n’était pas activé pour eux et qu’ils avaient des problèmes pour voir le logo en mode sombre. Après avoir activé le paramètre, le problème est résolu.
Je me demandais pourquoi ce paramètre n’était pas activé pour tous les utilisateurs. C’est pourquoi je cherchais un moyen de forcer son activation pour tous les utilisateurs.
Vous ne pouvez pas le faire depuis l’interface.
Vous pouvez mettre à jour en masse les options des utilisateurs à l’aide d’une commande Rails, bien qu’il faille le faire avec prudence.
Je vous suggère de vérifier d’abord combien d’utilisateurs ont ce paramètre désactivé à l’aide de l’explorateur de données, par exemple. Si le nombre n’est pas élevé, vous pouvez le définir manuellement ou demander aux utilisateurs de le faire eux-mêmes.
Je pense que vous devriez également vérifier quelle est la valeur par défaut lors de la création d’un compte.
Merci, pouvez-vous me donner les commandes Rails ?
J’ai installé Data Explorer, pouvez-vous me donner le script pour voir combien d’utilisateurs l’ont activé ?
Merci pour votre aide, j’apprécie vraiment. ![]()
Par défaut, le paramètre utilisateur du mode sombre est « Identique au mode normal ».
Dans la base de données, il est défini par la valeur user_options.dark_scheme étant NULL.
« Sombre » est -1. Les autres valeurs sont des entiers positifs.
La requête pour retourner les utilisateurs qui n’ont pas la valeur par défaut serait :
SELECT
u.username,
up.dark_scheme_id
FROM
users AS u
JOIN
user_options AS up
ON
u.id = up.user_id
WHERE up.dark_scheme_id IS NOT NULL
Il y a 59 résultats.
Comment puis-je maintenant modifier leurs paramètres en masse avec des commandes Rails ?
Je suis un peu confus maintenant. Pourquoi voudriez-vous casser le choix de couleurs de l’utilisateur ? Si vous ne vouliez pas donner de choix, alors désinstallez tous les thèmes de couleurs autres que les thèmes clairs et sombres par défaut. C’est tout.
Vous pouvez réinitialiser cette préférence pour les utilisateurs qui l’ont modifiée avec ce script Rails :
UserOption.where.not(dark_scheme_id: nil).find_each do |uo|
uo.update(dark_scheme_id: nil)
end
Je l’ai utilisé avec succès sur mon instance de test, mais gardez à l’esprit que je ne suis pas un expert Rails et, bien sûr, faites toujours une sauvegarde d’abord. ![]()
Il n’y a pas de choix. Ce paramètre n’est tout simplement pas activé par défaut pour beaucoup après que j’ai sélectionné un schéma de couleurs sombres pour le mode sombre automatique dans les paramètres du site.
Je veux que cela soit activé pour tous. Mais il y a 59 utilisateurs qui ne l’ont pas activé par défaut et qui ne savent pas pourquoi.
Pour être clair, le paramètre de votre capture d’écran provient du panneau d’administration (pour l’ensemble du serveur), et non d’une préférence personnelle.
Ce dernier étant :

Non, ceci provient des préférences de l’utilisateur, il s’affiche pour les utilisateurs lorsque vous activez le mode sombre automatique dans les paramètres du site.
Je dois donc faire ceci pour être clair :
cd /var/discourse
./launcher enter app
Ensuite
UserOption.where.not(dark_scheme_id: nil).find_each do |uo|
uo.update(dark_scheme_id: nil)
end
C’est ça ?
Non, attendez. Je ne suis pas sûr de bien comprendre la demande et il me manque peut-être des informations sur ce paramètre de mode sombre ![]()
L’administrateur du site que j’ai trouvé est :
Où se trouve le paramètre dont vous parlez :
?
Veuillez consulter ceci :
Il s’agit de cela.
D’accord. J’ai dû désactiver les thèmes de couleurs pour que cette option apparaisse. Je vais relire ce sujet pour mieux comprendre.
Oui ! c’est « default dark mode color scheme id »
D’accord, donc décocher « Activer le schéma de couleurs du mode sombre automatique » définit user_options.dark_scheme sur -1, et le cocher le définit sur NULL.
Donc, si vous voulez que tous les utilisateurs aient ce paramètre coché, vous pouvez utiliser mon script.
Le paramètre par défaut lorsqu’un nouvel utilisateur est créé est également coché.
Faites rails c ensuite pour entrer dans la console rails.
Si le script affiche un journal, vous pouvez appuyer sur q pour le quitter.

