RGJ
(Richard - Communiteq)
October 22, 2025, 10:00am
1
Since a lot of plugins have been bundled with core, we’ve been seeing some performance impact.
When investigating, it turned out that some plugins are still injecting certain queries, even when disabled .
An example is the topic voting plugin.
The topic filter and the search filter and search order are always injected and active.
The code should be fenced with SiteSetting.topic_voting_enabled. Or maybe calls like register_search_advanced_filter should behave more like add_to_serializer and check if the plugin is enabled.
14 Likes
tgxworld
(Alan Tan)
October 23, 2025, 1:44am
2
Thank you for the report. I’ve tagged this pri-medium for now and someone from the team will look at it soon.
Also putting a pr-welcome on this
3 Likes
loic
(Loïc Guitaut)
October 29, 2025, 11:55am
4
I just finished a PR making most of the `register_*` calls behave like add_to_serializer:
main ← loic/disabled-plugins-perf-impact
opened 04:28PM - 27 Oct 25 UTC
Currently, when a plugin is disabled, its various callbacks are still taken into… account. This can lead to performance issues.
This PR adds a check to most of the `register_*` methods a plugin can use, so if the plugin is disabled, those callbacks won’t be applied.
3 Likes
loic
(Loïc Guitaut)
October 30, 2025, 9:07am
5
The PR has just been merged, it should be available in latest shortly
3 Likes
RGJ
(Richard - Communiteq)
October 30, 2025, 9:27am
7
Thanks, that is fantastic
Would a backport to stable be a possibility for this fix ?
3 Likes
loic
(Loïc Guitaut)
October 30, 2025, 10:04am
8
Sure, I just created a PR:
stable ← loic/backport-disabled-plugins-fix-to-stable
opened 10:02AM - 30 Oct 25 UTC
Currently, when a plugin is disabled, its various callbacks are still taken into… account. This can lead to performance issues.
This patch adds a check to most of the `register_*` methods a plugin can use, so if the plugin is disabled, those callbacks won’t be applied.
3 Likes