I second the other comments, XenForo is the best currently.
Just can't guarantee it will be useful
I don't mind them having a server-side search function that actually searches the entire thread. I do mind having a heavily-used shortcut hijacked to behave in a non-standard way.
I don't see the problem with this tbh. When you create a JS app, you lose a lot of the native features of the browser and it becomes your own responsibility to reimplement them in a correct way. As long as the site pulls it off flawlessly, this is ok to me.
And from what I have seen, discourse does do this well.
This is done to remain performant specifically when the website thinks infinite scrolling is a good idea. In my experience it very rarely is, with the Ctrl+F thing being just one of the reasons why.
Maybe it's that Discourse's search functionality didn't really work well, or suddenly started searching across threads rather than only the current one (IIRC); maybe it's that it's the only system I can think of (other than google docs) that hijacks the shortcut, but it gave me a very negative first impression of the tool.
I only see this as an issue if the site does not reimplement find so that it is able to deal with this.
In other words Discourse only has metrics on people who use Discourse.
I think this is probably why sign-up metrics are so common but those are perverse as well. How much do you set yourself back if you only work for people willing to sign up?
I really like their timeline scrollbar as well which lets you easily move through hundreds of posts very quickly and has become a pattern in many apps like Google Photos and Telegram.
Let's look at Ctrl+F again. The standard Chrome search toolbar is search-as-you-type, highlighting occurrences immediately. It also shows the total number of occurences found on the page, and has arrows to navigate to next/previous. It also doesn't auto-hide (and thus lose focus) if you scroll the page.
What does Discourse replace it with? A search toolbar that requires an explicit submission to even start searching - and then, instead of actually scrolling to the occurrence of the search term, it shows a dropdown with snippets of posts in current scope that matched the term, highlighting it much like a search engine would.
So it basically has nothing to do with the native function that it hijacks, other than the broad concept of textual search.
Example of a long thread, just so we're all on the same page: https://meta.discourse.org/t/trading-buttons-buy-sell-exchan...
I can understand some hesitance from people who are naturally wary of infinite scrolling, as the vast majority of implementations are terrible. Where Discourse succeeds, though, is in managing state such that it doesn't feel brittle when you're deep into a thread's history. The developers built an infinite scroll that has feature parity with classic pagination, plus the far better UI of a "timeline" scrollbar.
Maybe feature parity with classic pagination from 20 years ago. Discord takes forever to load content when scrolling.
But yeah mostly, user-facing-wise, I agree.
Discourse is comparatively very pleasant I thought.
e.g. for a refresher some random vbulletin site: https://forums.devx.com/forumdisplay.php?105-VB-Classic
Because each of those entries on that page are a thread to me, but if discussions within a thread go off on a tangent there's not really a way to group/organize those sub-threads.
answers to questions in slack will never be indexed (let alone archived) by search engines