Am working on a small project where we are customising discourse to land the user directly to “a topic” with lot of client side customisation. User directly land on topic and can just post/reply to the topic thread. Discourse is loaded in to a webview in mobile app. I also removed the original composer and have custom composer with some options removed. Custom composer always sticks to bottom of the page opened for quick reply to user posts. We use minimum spec of 2GB(without docker). When user signs up for the forum we are redirecting(client side) to a topic, sometime the redirection takes between 10-25 seconds. I tried some other websites like swift.org and there discourse is really fast enough to load pages. It took between 3-6 seconds. I inspected network tabs, its just the same JS and CSS being loaded from network, only thing is mobile loads “mobile.css” version.
What could be the problem with our custom discourse? any direction to optimise it? do you think that server spec need to be increased? Customer base is just few hundreds, currently it has just couple of users(devs) and we are facing this problem.
Did you not do a Discourse official Standard Installation but instead did a development installation? What you describe sounds like expected performance for a development installation.
Did you make your changes in a plugin, or did you fork?
Yeah, I forked. I did not use docker, Customised little bit from server side and mostly client side changes like JS and CSS. The official installation doc was not clear about custom code set up. Could you tell me where can I find the docker setup with custom code, basically I just want to pull the code from my repo.[I am new to dockers]
Your custom code should always be built as a plugin, not as a fork of core.
I agree, you don’t have a production install. Get a proper development install, make your plugin, and put it on a proper production install.
By saying “Custom code” I mean not touching the core of discourse. Just some CSS tweaks and Js changes to fit our requirement. We just wanted to redirect users (based on some sort of settings) directly to topic discussion screen(like this).
Plugins are for adding new features correct?
It’s at least sort-of the case that if you’re changing just js and CSS, you can probably make all of your changes with Theme Components. If you need to make changes to backend stuff in rails, you’ll need a plugin.
I recommend that you start with the Theme Developer link above and see if you can make your changes in theme components.