Временная шкала темы не открывается при определённой ширине браузера, если у вас меньше 3 сообщений

Как воспроизвести:

  1. Перейдите на эту страницу.
  2. Уменьшите ширину окна браузера, пока не появится индикатор прогресса темы:
  3. Щелкните по индикатору прогресса темы => временная шкала темы не открывается

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

7 лайков

Вы можете воспроизвести это здесь, на meta или на try.discourse.org?

Я могу воспроизвести это на Feverbee, но не здесь. Если здесь воспроизвести не удаётся, это может быть связано с их кастомизациями.

6 лайков

Вы можете воспроизвести это здесь:

(уменьшите ширину, но не слишком сильно)

5 лайков

Действительно, это ошибка… если в теме всего два сообщения и вы уменьшите экран, это происходит.

Я согласен, что, скорее всего, проблема в связанном коде.

Ссылка должна оставаться стабильной, так как это часть начальных данных.

4 лайка

Можешь посмотреть это, @j.jaffeux?

1 лайк

Да, именно этот код отвечает за это, и проблема возникает при определённом соотношении высоты окна к высоте темы.

Но я не понимаю: какое поведение ожидается? Я могу просто убрать эту проверку, и всё заработает, но, вероятно, мы добавили её не просто так?

@eviltrout, вы реализовали эту начальную функцию FIX: If a topic is really long, show the timeline · discourse/discourse@79763a6 · GitHub

Разве это больше не актуально? Может, формула неверна? Мне кажется, она срабатывает здесь, даже когда тема не настолько огромна, так что, возможно, нам стоит это исправить?

Также я обнаружил, что все рекомендуемые темы учитывались при вычислении высоты темы: ${"#topic").css("background", "red")}:

Возможно, именно это изменилось с момента вашего внедрения.

6 лайков

Возможно, стоит исправить это раньше? Зачем в таком случае показывать прогресс темы?

Если количество сообщений ≤ 3, скрываем прогресс темы, если posts.height < window.height * 1.5?

4 лайка

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

Однако у меня сложилось впечатление, что баг заключается в том, что виджет отображается, но при нажатии на него ничего не происходит. Подходящим исправлением будет сделать так, чтобы нажатие работало всегда, когда виджет отображается. Я не против оставлять его скрытым в остальных случаях (для коротких тем).

5 лайков

Интересно, стоит ли просто изменить порог скрытия на 1, по крайней мере на мобильных устройствах / в свернутом виде (или даже убрать эту логику для мобильных / свернутого состояния).

На мобильных устройствах, даже если у вас всего два поста, это очень помогает понять, находитесь ли вы на первом или втором.

5 лайков

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

1 лайк

Это должно исправить проблему:

Подробности в коммите.

7 лайков

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