Good catch!
You are not supposed to see the webhook of plugin that is not installed on your Discourse.
This is a regression from here:
Specifically here.
The symbols provided in TYPES don’t match the list values:
To the team, here is a possible solution:
def self.types_with_prefix(prefix)
TYPES.select { |key, _value| key.to_s.start_with?(prefix.to_s) }.values
end
def self.active
ids_to_exclude = []
unless defined?(SiteSetting.solved_enabled) && SiteSetting.solved_enabled
ids_to_exclude.concat(types_with_prefix(:solved))
end
unless defined?(SiteSetting.assign_enabled) && SiteSetting.assign_enabled
ids_to_exclude.concat(types_with_prefix(:assign))
end
unless defined?(SiteSetting.voting_enabled) && SiteSetting.voting_enabled
ids_to_exclude.concat(types_with_prefix(:voting_topic))
end
unless defined?(SiteSetting.chat_enabled) && SiteSetting.chat_enabled
ids_to_exclude.concat(types_with_prefix(:chat_message))
end
self.where.not(id: ids_to_exclude.flatten)
end