as of Tuesday Feb 23, this code is now merged into Discourse master.
How was your January? I spent mine building a new branch of Discourse which replaces our post rendering with a hand-tuned virtual-dom implementation, to get around some pathological performance issues in Ember.
What does that mean? Well it means that viewing a topic should be faster here on meta. note: this branch is only on meta, not master! you will not deploy it to your installs unless you go out of your way to do so!
How much faster? Our latest benchmarks show:
5x faster on Desktop
5x faster on high end Android devices such as Nexus 6P
7-8x faster on older Android devices such as the Nexus 7 mini tablet.
Of course, we don’t get all this performance for nothing. The code had to be re-written mostly from scratch (hence it taking over a month) and right now plugins affecting posts don’t work.
When you re-write so much code from scratch you are bound to introduce many regressions, so I apologize in advance for the bugs we need to hunt down. The good news is I also added over a hundred new tests in the process, so we are much better covered than we were before against regressions in this code.
How can you help:
Please report bugs ASAP that you see on Meta, including steps to reproduce them. I will be fixing them as fast as I can.
Don’t report plugins such as polls not working. We know and will be fixing them shortly before introducing a plugin upgrade path.
Offer feedback: is it faster / slower on your device than before? Does it feel good or glitchy in any way?
Thanks in advance! You guys are always awesome at helping with this kind of thing!
Fixed
Keyboard linking and bookmarking was broken
Read icon was not fading
Posts were not marking as read when there were small post actions
Quickly hitting the back button would break
Repeatedly entering and leaving topic would show a JS error:
Loading spinner + post placeholders not showing up when scrolling down
Closed message not showing who closed it
Like button is displaying on your own posts
Reply as Linked topic not fading nor quoting selected text
Deleted posts at the end of a topic are not showing up.
Clicking like is a little janky
Badge page was broken due to missing component
Scrolling up is not working
Can’t click the avatar of who closed a post
Mobile formatting was messed up
Reply indicator supression broken
j/k then tab not focusing properly
Image lightboxes are screwy
Syntax highlighting not working
Weird scrolling position with back button in Chrome
Deleted small actions didn’t have the proper class
Improved like animation
Double hairline during time gaps
Dates were not updating automatically
Clear Bookmarks wasn’t update the UI
Deleting posts were causing placeholders to appear via message bus
Jumping to new posts was broken, as was highlighting the new post.
Couldn’t jump to small post actions (like closed)
Emoji were being rendered incorrectly in the post gutter
On mobile, some elements were overlapping each other
Likes will update count before the promise resolves
Whisper icon needed some padding
Anonymous users could see the flag button
Regression with the UX not showing up when selecting posts
Deleting posts now marks them as deleted rather than removing from the stream
Notifying a user wasn’t refreshing the UX
Jumping to far away posts via embedding was broken
Inbound / outbound css classes were missing on right gutter links
Who liked was not updating
Posts were not cloaked as you scrolled through a long topic, resulting in crashes
YouTube videos would stop (or start) playing on cloak
cloaking was too aggressive
cloaked miscalculated the height of posts slightly causing bouncing
This branch is feeling stable enough to leave on meta permanently. So tonight will be the first night where I don’t roll it back overnight
I’ve been updating the OP with the fixed bugs and those on my list. I’m also going to go through this topic now and delete the posts that have been solved just to keep it clean. Thanks for all the bug reports so far!
Both tests, topic of 22 posts, mostly text. On my home broadband. Times were just a mental count, but done several times. This is now making the topic page feel slow by comparison on that device…
I think we are focusing on “known” operating systems in order of market share, that is – Android, iOS, Windows Phone, perhaps Blackberry. It’s a steep dropoff after Android and iOS…
Given the market share numbers, you can perhaps see why we felt compelled to spend almost two months of dev time rewriting everything in the topic page to make sure performance was there for low-end and medium-end Android…
Update: I’m planning to merge this into master today.
After that I’ll be writing up a guide on the new plugin API I’ve developed as well as a blog post about how we achieved the speed increase and why we did it
On previous version, I could see a picture with 1200px width (as an example) without any issue.
But after I upgraded to “v1.5.0.beta12 +5”, the picture has been truncated on Desktop browsers (Chrome, Safari, Firefox on desktop). Is this an expected behavior from the bug fix? Fyi I want to see the picture as it was displayed on previous versions.
Thanks for seeing my post; and big thanks for making the Discourse I truly enjoy you and your team’s awesome product!
I am running a K-pop fan forum and the users upload high resolution pics. Here is the one of the sample post the the photo been “truncated”. Please see the second picture of this post: http://mywoohyun.com/t/topic/601