История кнопки «Назад» работает некорректно

Только за последние два дня я заметил такое поведение:

  • перешёл к теме из раздела «Последнее»;
  • немного почитал, затем вернулся в «Последнее»;
  • перешёл к другой теме;
  • нажал кнопку «Назад», и меня перекинуло на первую просмотренную тему, а не в раздел «Последнее».

Я видел такое поведение в Safari для iOS (технически это публичная бета-версия iPadOS 1) и в Firefox для Mac.

Мне кажется, что раньше так не было, но я могу ошибаться.

1 лайк

Я только что попробовал, и у меня это вроде не работает. У вас это работает 100% случаев или только иногда?

1 лайк

Я тоже замечаю это последние пару дней, но не могу точно определить шаги воспроизведения — сначала думал, что мне просто кажется :slight_smile:

1 лайк

Скорее всего, существует какая-то связь, которую наши исправления нового API истории не учли. Если кто-то сможет помочь нам её изолировать, мы будем бесконечно благодарны!

3 лайка

Это происходит только в бета-версии? Поскольку мы не поддерживаем бета-версии ОС.

1 лайк

У меня это происходит на MacOS 10.14.5 и в актуальной версии Chrome

3 лайка

Я немного поиграл с этим — не могу дать точные шаги, но могу воспроизвести это примерно в 1 случае из 5 (или чаще): просто выбираю случайную тему, открываю её, прокручиваю страницу, нажимаю «Назад», затем выбираю другую случайную тему, открываю её, прокручиваю и снова нажимаю «Назад». Довольно часто вместо возврата к списку тем происходит переход обратно к первой теме.

Это не идеальный сценарий воспроизведения, но таким образом проблема возникает довольно часто. При этом в консоли ошибок не наблюдается.

edit: Когда это происходит, можно следить за URL-адресом при нажатии «Назад»: он начинается с meta.discourse.org/, и почти сразу после загрузки списка тем URL перезаписывается на адрес той публикации, на которой вы только что находились.

edit 2: На самом деле я могу воспроизвести это почти постоянно: кликаю по этой теме, прокручиваю вверх, а затем сразу нажимаю «Назад» (у меня кнопка «Назад» привязана к мыши — возможно, именно поэтому мне удаётся легко воспроизвести проблему). Похоже, что это проблема тайминга для какого-то возвращаемого значения.

edit 3: Постоянное воспроизведение: кликаю по любой теме, нажимаю «Назад» до полной загрузки — после загрузки списка тем URL перезаписывается на адрес публикации, из которой вы только что вышли.

3 лайка

Ага, значит, это связано со скоростью загрузки. Спасибо, это помогло.

3 лайка

Этого должно быть достаточно:

Я был удивлен, обнаружив, что это не связано с недавними изменениями в истории, а на самом деле было вызвано новым willTransition, добавленным в недавно слитом коммите.

Кажется, нам всегда стоит помнить о необходимости возвращать true в методах willTransition!

10 лайков

Эта тема была автоматически закрыта через 26 часов. Новые ответы больше не принимаются.