Ошибка: функция regenerateUserCss() в файле Repository/Persona.php требовала два аргумента ($userId и массив $style), но Setup.php вызывал её только с $userId на этапе пересборки после обновления. Это вызывало ошибку ArgumentCountError при каждом обновлении с более старой версии (например, с 1.0.1 до 1.1.3 или 1.1.4).
Исправление: $style стал необязательным параметром (массив $style = null). Если он не передан, метод теперь автоматически получает данные стиля пользователя из сущности UserStyle. Работают оба варианта вызова — путь обновления через Setup (один аргумент) и обычный путь сохранения (два аргумента).
Устранен конфликт при отображении иконок и значков настроения. Когда пользователь настраивал одновременно иконку имени пользователя (огонь, корона и т. д.) и значок настроения («Яростный», «Расслабленный» и т. д.), отображался только один из них. Основная причина заключалась в том, что обе функции записывали CSS в один и тот же псевдоэлемент ::after, поэтому правило, которое выполнялось последним, переопределяло другое.
Генератор CSS теперь отслеживает, какой псевдоэлемент занимает иконка, и автоматически назначает значок настроения противоположному. Например, если пользователь выбирает иконку огня (которая отображается через ::after), значок настроения будет отображаться через ::before. Это работает для любой комбинации иконок и значков без необходимости настройки.
Правила отображения, учитывающие контекст (боковая панель, строки контента, меню, всплывающие подсказки, заголовки профиля), были обновлены для корректной обработки обоих псевдоэлементов.
Что нового:
Автоматическая перестройка CSS при обновлении. При обновлении до версии 1.1.3 все существующие файлы CSS для пользовательских профилей автоматически перегенерируются на этапе установки. Это означает, что исправление вступает в силу немедленно для каждого пользователя, у которого уже настроен профиль — ручная перенастройка не требуется.
Примечания по обновлению:
Загрузите и установите как обычно через панель администратора XenForo.
Обновление сгенерирует CSS для всех пользователей с активными профилями. На больших сайтах с большим количеством настроенных профилей это может занять несколько дополнительных секунд во время установки.
Никаких настроек или изменений конфигурации не требуется.