Экран прыгает на мобильном

Всем привет,

У нас есть экземпляр на стабильной версии, где некоторые пользователи сталкиваются с очень странной поведением на своих телефонах, из-за чего пользоваться нашим сайтом практически невозможно:

https://we.tl/t-Nz3KiDY6sl

Как видите, экран просто хаотично прыгает.

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

Проблема возникает как в приложении, так и в обычном браузере. У одного из наших пользователей с этой проблемой есть iPhone 5S — мы сейчас собираем детали от второго пользователя.

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

От другого пользователя на Android-телефоне (Galaxy S9, Android 10, проблемы в Chrome/Edge/Firefox):

Есть несколько проблем. Между нажатием «Ответить» и появлением редактора возникает задержка; когда редактор всё же появляется, он часто скрывает клавиатуру, поэтому приходится нажимать на редактор, чтобы вернуть клавиатуру, но это на секунду-другую замораживает редактор. Если свернуть редактор, примерно в половине случаев его не удаётся развернуть обратно, и приходится делать жёсткую перезагрузку страницы. Он часто отстаёт от того, что я печатаю. При попытке прокрутки внутри редактора или внесения изменений он часто зависает — не знаю, примерно в половине случаев, и чаще, если текст длиннее нескольких слов. Если свернуть редактор и прокрутить тред, то вернуть редактор обратно не удаётся. Даже просто прокрутка треда без редактора затруднена: много скачков постов, а (отдельно) иногда происходит зависание с последующим скачком вперёд.

Только что ещё один пользователь, владеющий iPhone 5s, подтвердил проблемы, о которых сообщил первый пользователь.

Можете ли вы попросить ваших пользователей попробовать в безопасном режиме? Происходит ли это также там?

А что насчет Meta, воспроизводится ли это здесь?

1 лайк

Проблема сохраняется при отмеченных всех трёх флажках

В Meta воспроизводится, да

Если это что-то значит, то https://www.chiefdelphi.com/, по сообщениям, работает без проблем

Не знаю, есть ли у кого-то в команде iPhone 5s, но на данный момент это единственная модель телефона, которая стабильно сталкивается с этими проблемами, о которых нам известно.

Признаюсь, я не думаю, что мы пробовали 5-ю модель.

У нас есть BrowserStack, так что мы можем проверить, воспроизводится ли проблема там. Интересно, не полагаемся ли мы на JS-API, которое больше недоступно в старых браузерах.

Это может быть связано с Discourse not loading on legacy browsers @david внес это изменение, но @Falco упомянул, что нам, возможно, также понадобится globalThis?

1 лайк

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

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

Пока не устанавливаем дедлайн, пока не поймём масштаб проблемы. Как общее правило, мы не хотим, чтобы где-либо наблюдалось некорректное поведение; однако по мере вывода браузеров из нашего списка поддерживаемых они должны переключаться на HTML-представление в режиме только для чтения.

Какая именно версия браузера используется пользователями? (Точная версия iOS должна предоставить нам эту информацию)

Стабильная версия должна нормально работать на iOS 12 — она была выпущена до того, как мы начали использовать replaceAll в критическом пути, поэтому полифилл не должен требоваться. Проблема в исходном сообщении, похоже, не вызвана отсутствием библиотеки.

Скорее всего, проблему вызывает тема или плагин. @orangeandblack5, не могли бы вы попробовать в безопасном режиме?

Также есть ли возможность поделиться ссылкой на форум?

(Кстати, я повторно загрузил видео из исходного сообщения, так что нет необходимости посещать wetransfer.)

3 лайка

Режим безопасности уже был опробован

3 лайка

Есть ли какая-то конкретная тема, которая вызывает такое поведение на Meta?

2 лайка

Насколько мне известно, это глобальная проблема.

Это происходит с каждым (или, по крайней мере, с большинством) тем.

1 лайк

Я не знаю, как давно это проблема, но я могу уточнить.

Пользователь точно не знает, когда именно возникла проблема, так как он крайне редко использует Discourse на мобильных устройствах, но помнит, что в прошлом она работала. На вопрос «Когда, по-вашему, в последний раз вы были уверены, что всё работало на мобильном?» он ответил: «Около полутора лет назад». Следовательно, любые изменения в стабильной версии за этот период могли стать причиной проблемы — или даже более ранние, если, как в случае с ChiefDelphi, нам просто повезло, что сайт работал.

Я уверен, что, поскольку известно, что Meta не работает, стоит сосредоточить усилия именно здесь. Возможно, стоит связаться с владельцами ChiefDelphi, чтобы выяснить, есть ли какие-то особенности их сайта, которые позволяют ему работать.

Один из пользователей имеет iOS версии 12.5.5.

Я попросил другого пользователя со старым iPhone 5s подтвердить проблему, и он сообщит вам, как только ответит.

1 лайк

Второй пользователь подтвердил практически то же самое — iPhone 5s, 12.5.5, и да, на Meta возникают проблемы.

Так что, очевидно, что бы это ни было, оно не локализовано для нашего сайта и даже не стабильно.

Что означает, что это намного выше моего уровня компетенции, ха-ха.