Баг(и) с цветовыми палитрами и переключателем светлой/тёмной темы

Извините, я публикую это снова, так как пытался добавить закладку на свой оригинальный отчёт об ошибке, но случайно нажал на значок корзины. Я не могу восстановить ту тему, поэтому вставляю её содержимое сюда.


Думаю, это ошибка(и).

Краткое описание:

  • Нежелательные цветовые палитры спонтанно активируются заново при перестроении форума.
  • Мне не удаётся заставить стандартные цветовые палитры работать для существующих пользователей. Должны быть просто «Светлый режим» и «Тёмный режим», и пользователи должны получать их автоматически.
  • Опция «Установить цветовую палитру на всех моих устройствах» отображается только у некоторых пользователей (см. скриншоты для пункта #8).
  • Некоторые пользователи не видят переключатель светлого/тёмного режима (пункт #9 в списке ниже).

Подробное описание:

  1. До вчерашнего дня на форуме было две темы: одна светлая и одна тёмная.
  2. Я объединил их в одну тему с двумя цветовыми схемами («Светлый режим» и «Тёмный режим»).
  3. Я сделал все старые темы и цветовые схемы недоступными для пользователей, так что теперь доступны только эти две цветовые схемы и одна новая тема.
  4. Я включил кнопку переключения темы в навигационной панели.
  5. При каждом перестроении форума ещё две цветовые схемы активируются: Horizon и Horizon Dark. Я уверен, что отключил их, так как многократно проверял это, отключая их и затем перестраивая форум. Они всегда включаются снова при перестроении. Последняя версия Discourse, с которой я это проверял: 3.5.0.beta9-dev (04dbc622ab). Скриншот ниже.
  6. Примечание: когда я перехожу, чтобы отключить две палитры Horizon, снимаю галочку, сохраняю настройку, а затем возвращаюсь на страницу палитр. Палитра, галочку с которой я снял, не отображается как отключённая в списке, пока я не выполню жёсткую перезагрузку страницы палитр. Не уверен, является ли это отдельной ошибкой.
  7. После того как палитры Horizon активируются сами по себе, страницы настроек пользователей выглядят как на скриншоте ниже: выпадающий список «Тёмный режим» установлен в значение «Как обычно», хотя должен быть установлен в «Тёмный режим» — цветовую палитру. Выпадающий список «Обычный» правильно установлен в «Светлый режим», но также делает доступными две нежелательные палитры Horizon.
  8. После того как я снова отключаю две палитры Horizon, некоторые пользователи видят кнопку переключения светлого/тёмного режима в навигационной панели, а другие — нет.
  9. Кроме того, если переключатель светлого/тёмного режима установлен в «светлый», а я в настройках пользователя (/my/preferences/interface) меняю цветовую палитру на «тёмную», она возвращается к светлой при перезагрузке страницы. Нет никаких указаний на то, что после смены цветовой палитры в настройках страницу нужно сохранить. Когда я сохраняю её и перезагружаю, переключатель светлого/тёмного режима в навигационной панели исчезает.

Если у вас возникнут трудности с воспроизведением, я могу отправить вам ссылку на форум (в частном порядке) и/или провести демонстрацию экрана.

Скриншоты

Пункт #5

Вот две палитры Horizon, которые снова активируются при каждом перестроении форума:

Пункт #7

Это после того, как две палитры Horizon спонтанно активировались сами. Я написал подписи до того, как понял, что цветовые палитры Horizon спонтанно активируются заново.

Пункт #8

Это скриншоты, присланные мне пользователями после удаления палитр Horizon.

Этот пользователь видит кнопку переключения светлого/тёмного режима в верхней навигационной панели:

Этот пользователь не видит переключатель светлого/тёмного режима в верхней навигационной панели, и отсутствует флажок:

Дополнительные настройки для справки:

Спасибо за фиксацию всех этих деталей, @j127.

Мне удалось воспроизвести проблему, при которой палитры Horizon и Horizon Dark автоматически включаются снова после перестройки сайта, поэтому я создал баг-репорт по этому поводу. Мы исправим это в кратчайшие сроки.

Помимо побочных эффектов, вызванных этой ошибкой, остальные замеченные вами проблемы, похоже, связаны с настройкой default dark mode color scheme id. Хорошая новость в том, что мы готовим обновление, которое перенесет эту настройку в вашу тему — это сделает её значительно более удобной, легкой для поиска и менее подверженной таким несоответствиям. Мы планируем включить это обновление в основную ветку в течение следующих 24 часов и опубликуем объявление и документацию с дополнительными деталями. Я вернусь к этому обсуждению, как только обновление будет доступно, и тогда вы сможете протестировать его, чтобы проверить, решит ли оно эти проблемы для вас.

3 лайка

Отлично, спасибо.

1 лайк

Это уже запущено и анонсировано здесь: Improved dark and light mode handling 🎨

Обновитесь, когда будет возможность, и дайте знать, как всё прошло :slight_smile:

1 лайк

Спасибо, я только что протестировал это с версией 3.5.0.beta9-dev (33dfd7dba9).

  • Две темы Horizon по-прежнему автоматически включаются при перестроении форума. (Для уверенности я перестроил форум ещё раз после их отключения.)
  • Переключатель цветов иногда исчезает, если изменить цветовую палитру в настройках моего пользовательского интерфейса. Не уверен, что это задумано.
  • Небольшая ошибка из пункта №6 моего списка всё ещё присутствует. Я тестировал это в Firefox и Chrome. Это происходит при включении или отключении любой цветовой палитры.

Я отправлю вам ссылку на частное видео, демонстрирующее это.

Запрос на изменение этого ещё не принят.

2 лайка

Всем привет,

мы наблюдаем аналогичные проблемы с пользовательскими темами и цветовыми палитрами. Мы также используем две темы (одну светлую и одну тёмную), но в будущем планируем объединить их.

Если выбрана светлая тема, она отображается только в том случае, если в выпадающем списке «Тёмный режим» выбрана цветовая палитра по умолчанию для темы, а в выпадающем списке режимов установлен режим «Светлый». Если пользователь выбирает режим «Авто» или тёмный режим, цветовая палитра темы переключается на тёмный режим.

Некоторые обновления:

Не уверен, что это баг, но я изменил названия палитр цветов в поле "color_schemes" файла about.json. Из-за этого настройки «Цветовая палитра» и «Тёмная цветовая палитра» изменились на целые числа (возможно, это ID отсутствующих палитр?).

Я сделал этот скриншот после выбора новых названий палитр цветов, но он был на этом экране:

Это также привело к тому, что у некоторых пользователей после входа в систему исчез выбор режима светлой/тёмной темы.

Новые палитры цветов не были помечены как доступные для выбора пользователями, поэтому в настройках пользователи видят следующее для выбора цветовой палитры:

После того как обе палитры стали доступны для выбора, кажется, что если пользователь устанавливает цветовую палитру по умолчанию, то выбор режима светлой/тёмной темы отображается. Если же пользователь меняет цветовую палитру на тёмную, то выбор режима светлой/тёмной темы исчезает.

Также наблюдается некоторая запутанная ситуация:

Настройка «ID цветовой схемы тёмного режима по умолчанию» теперь, кажется, отсутствует в настройках моего сайта. Не уверен, была ли она удалена из Discourse. Она была здесь в более старом скриншоте выше:

1 лайк

Мы недавно внесли некоторые изменения в то, как Discourse обрабатывает тёмные и светлые палитры:

Многие из этих обновлений устраняют проблемы, упомянутые здесь, и мы работаем над другими улучшениями, которые ещё больше упростят этот процесс.

Например, этот открытый PR упрощает и улучшает настройки пользовательского интерфейса: FEATURE: remove dark mode checkbox by KrisKotlarek · Pull Request #34165 · discourse/discourse · GitHub

2 лайка

Спасибо! Всё выглядит очень хорошо. Теперь есть даже предварительный просмотр для пользователей.

1 лайк

Со всеми этими обновлениями палитры цветов превью — одна из моих любимых частей :smile:

1 лайк