I have been messing about trying to get a different look to other sites and have built a Facebook style topic modal. It seems to load quicker for me and seems to be more fluent on desktop.
Very cool! have you tested it in topics with 20+ replies? that’s when we load more “pages” of posts on scroll and in my experience is one of the biggest complications with this sort of alternate view
Yeah thats the next thing i need to look into but i have been pondering over this, does it matter? That’s the same as Facebook behaves, the direct link goes to the actual post, if clicked while browsing modal opens.
Yes, because the modal loads the normal Discourse topic application inside an iframe rather than rendering a custom copy of the topic. The iframe establishes its own MessageBus connection and Discourse continues handling the post stream normally, including loading older posts and receiving newly published posts.
The parent page also remains active behind it, so technically there are two Discourse instances and two MessageBus connections while the modal is open. That works, although it is slightly heavier than a fully native implementation. Closing the modal removes the iframe and its connection.
Just finished the mobile version and am happy with the way it all works, next is to find a better way of doing this and get the load speed down. Has anyone got any suggestions?
After more testing, i have used the non js version that google sees and it loads instantly in the modal, if i can somehow use the contents of that it would make this rapid
but the loading speed on mobile is a bit slow. After tapping, you only see an empty page with a close button in the top right corner, seemingly requiring you to wait a long time in front of a blank screen.
This is what i’m working on now At the minute its just a concept I want to make reality. However on my device it does load in 2 seconds on mobile with the discourse spinner loading icon so not sure whats happening. Probably because the server is in london UK with no CDN as of yet
I have now got the topics loading instantly in the modal, now to find a way to use the first discourse loaded instance for the replies etc. (this is on the test server)