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

Помещаю это в Contribute > Bug, так как считаю, что это мешает нормальному использованию Discourse, хотя, возможно, лучше подойдёт Contribute > UX.

Я начал замечать на одном из своих сайтов (внутренний, поэтому не могу поделиться ссылкой), что временная шкала темы работала с ошибками, и начал экспериментировать, чтобы понять, что происходит. Суть в том, что при использовании временной шкалы темы для перехода к недавнему посту (например, к 5-му или 6-му из 6) посты прокручивались не так, как ожидалось, и пост, к которому я прокрутил, на самом деле не становился видимым. Мне не удалось воспроизвести это на Meta или Stonehearth, а также в моей среде разработки, поэтому я начал изучать, чем отличаются эти сайты. В конце концов я понял, что на моём сайте функция «Предлагаемые темы» отключена (suggested topics = 0), тогда как на Meta, Stonehearth и в среде разработки она включена. После отключения «Предлагаемых тем» в среде разработки мне удалось воспроизвести проблему.

@eviltrout, предполагает ли прокрутка временной шкалы темы наличие предлагаемых тем?

Видео с демонстрацией проблемы:

По умолчанию — 5 предлагаемых тем:

0 предлагаемых тем:

20 предлагаемых тем:

3 лайка

It very well could be a bug! I’ll look into it.

6 лайков

This should fix it:

https://github.com/discourse/discourse/commit/4e1f8ec72b791006fca7c6c3347c8347d27e4dc6

5 лайков

I’m re-opening this for now. Unfortunately my fix broke scrolling on meta a bit so I reverted it. I’ll have to come up with a more robust solution.

1 лайк

Okay, I think this fixes it for good. This is surprisingly complicated stuff to get right.

@jomaxro could you confirm it’s working for you?

https://github.com/discourse/discourse/commit/cb8f91ca215a5dc85a771b3691b334a89c54664a

4 лайка

Happy to test once this reaches tests_passed!

1 лайк

I hate to say this, but it’s “mostly” working. Just tested in the two topics I shared with you via PM. They both load correctly now (showing the last post) and using the timeline to go from a post to the last one work, but the timeline itself is very finicky.

Entering a fully read topic results in the browser being scrolled fully, but the timeline is not.

Also, moving via the timeline is incredibly jumpy. In topic 8022, moving the timeline to post 4 results in the timeline jumping to post 2 upon release. Post 3 also jumps to post 2. Post 5 jumps to post 6…etc.

Happy to change the password back if you’d like…

I would rather force everyone to use suggested topics rather than spend days of engineering effort on this unusual non-default settings scenario.

That said there are other places where suggested may not be there, such as PMs.