Один из моих пользователей написал мне — его аватар внезапно стал «стандартным» (иконка силуэта) — кнопка для отправки личного сообщения пользователю стала неактивной. Я зашёл в админ-панель, нашёл её и попытался показать email, потому что подумал, что из-за смены аватара email на форуме мог измениться, но при нажатии на «Показать email» ничего не происходит. Вот что в консоли:
При переходе к её профилю с форума или со страницы администратора (Показать публичный профиль) я получаю ошибку 404.
Я беспокоюсь, что это происходит и с другими пользователями, но пока ни от кого другого не поступало жалоб. Нашёл ещё одного, у которого наблюдается та же проблема.
Что могло пойти не так? Программное обеспечение должно быть актуальным.
Она всё ещё может читать и публиковать сообщения. Я не могу изменить её имя пользователя или войти в её аккаунт.
Ну, поскольку я не могу кликнуть по её имени, я могу найти её только в интерфейсе администратора — раздел «Пользователи». Оттуда я вижу, что её аватар действительно неверный (силуэт). Страница администратора, кроме этого, выглядит вполне нормально.
У неё уровень доверия 3 — обычный.
Аккаунту около 4 лет, так что это не новый пользователь — она очень активна и имеет множество постов. Это довольно недавняя проблема, так как она также была довольно активна в личных сообщениях. Конечно, из-за этого вы больше не можете ей ничего отправить.
Она всё ещё может пользоваться сайтом, например, читать и отвечать. Система даже отправляет ей письма.
Retort, возможно, является источником проблемы, я так полагаю? Вы могли бы попробовать быстро пересобрать проект с отключённым Retort и посмотреть, поможет ли это?
Я отключил это, затем выполнил ./launcher rebuild app, но результат тот же.
Достаточно ли отключить через веб-интерфейс или нужно закомментировать строку в app.yml?
РЕДАКТИРОВАНИЕ: Закомментировал retort в app.yml и снова выполнил сборку — всё то же самое
Причина, по которой профили этих двух пользователей возвращают ошибку 404, неочевидна. Можете ли вы проверить логи сайта и посмотреть, нет ли там чего-то связанного с нажатием на их аватары?
Я сталкиваюсь с той же проблемой и на некоторых старых аккаунтах: я могу получить доступ к странице администратора, но поле электронной почты не отображается, а профиль пользователя возвращает ошибку 404. У меня есть неподтвержденное подозрение, что это как-то связано с именами пользователей, которые идентичны, за исключением подчеркивания (в моем случае ‘MissB’ и ‘Miss_B’ — подчеркивание осталось после импорта из vBulletin). Эта проблема была у обоих аккаунтов, но на одном из них она уже исчезла (на аккаунте с подчеркиванием проблема сохраняется).
Я вижу, что есть пользователи smokyblue и smoky_blue — также был пользователь Pro_Vapes, у которого возникла проблема, но его профиль теперь работает?!
Я нашёл ещё одного: MixedUp (теперь, кажется, MixedUp1?). И Vapemixer — это ещё один пользователь.
Я не думаю, что проблема в этом — учётная запись MissB была создана после миграции (извините, я был недостаточно конкретен).
Итак:
MissB — создана после миграции
Miss_B — создана до миграции
Когда я переименовываю MissB в MissBTest, я могу показать электронную почту и профиль пользователя. Когда я возвращаю прежнее имя, проблема возвращается (также MissB не может войти под своим именем пользователя; вход по электронной почте работал или сброс пароля).
Почему? Не совпадают ли адреса электронной почты, указанные в аккаунте? Для старых мигрированных аккаунтов, если у вас есть доступ к электронной почте, связанной с аккаунтом, вы должны иметь возможность восстановить доступ.
MissB — это не перенесённая учётная запись. Похоже, он не мог войти, используя имя пользователя и пароль, но в итоге всё же удалось войти с помощью адреса электронной почты и пароля.
У меня есть подозрение, что при поиске по имени пользователя возвращается более одного результата, когда имена различаются только одним символом подчёркивания, и это приводит к сбоям.
Трудно сказать — я не думаю, что почти идентичные имена пользователей являются причиной в одном из случаев, но, с другой стороны, его профиль внезапно снова начал работать.
Когда Discourse обнаруживает имя пользователя с моего основного сайта, которое конфликтует, он просто называет его “UsernameX”, где X — следующее доступное число, которое делает имя пользователя уникальным (на моем основном сайте нет имен пользователей, а есть отображаемые имена, которые не должны быть уникальными).
Мне кажется, что происходит что-то еще, но я не могу понять, что именно. Аккаунты, которые я заметил, были созданы более года назад.
Проблема на моем сайте не носит массового характера, но она крайне раздражает активных пользователей (хотя прямо сейчас на ум приходит только SmokyBlue).