Category Moderators Enhancer

Added feature request and link to it in the first post

The recent update that includes new actions for moderators have completely broken our plugin unfortunately.

Even disabling it, it will cause some issues with timer-based moderation actions so the suggested action is to comment out the line in your app.yml file and rebuild until we manage to fix it.

Really sorry for the inconvenience.

2 Likes

Hello :wave:
I wonder if there is any progress on this plugin, I would like to install it on my forum instance?

Unfortunately, with the holidays and previously work related commitments, me and the other guy that are working on this, didnā€™t have the time to check.

I am going to add that the fact that an update completely changed something under the hood kinda bummed us out, as we had just finished bashing our heads against the code to understand how to implement what we wanted.

There is a feature request open for implementing what we did in the core, maybe give your vote to that as well and write something there.

The best option would be always that these features are implemented into discourse itself rather than a plugin.

The source is open anyway, so if you or someone you know want to help and fix what is not working, PRs are welcome.

3 Likes

Upping this just to say that we are looking into it again.

We are testing on a staging environment with a fresh installation.

A first version will have everything enabled for category moderators as if they are moderators except:

  • Topic & Replies -Moderation History (for some issues with permissions)
  • Topic - Make Personal Message (purely opinionated choice)
  • Reply - Grant Badges (for some issues with permissions)

When we manage to up the new version, weā€™ll work on a proper settings that allow to choose what to enable and what not.

Hopefully it wonā€™t take long.

@JammyDodger do you know if there is a timeline for some works that we see are being done currently involving parts that are relevant for us?

Even if we fix this, when these kind of changes go live, everything will break again.

I believe that change is already live if youā€™re on tests-passed and have updated to pull it in.

Yes, we noticed and why I was asking. We will be moving onto a specific tag (the 3.2.1) and work on that because if changes like that are pushed without even a minor version update itā€™s impossible to maintain a plugin.

When we finish Iā€™ll specify the version you need to be on discourse to use the plugin. Weā€™ll see to keep it updated to work on the latest non-dev version from then.

New version is updated and deployed on our forum for internal testing. We already tested with a restricted number of users and we havenā€™t identified any issue.

Update 14/05/2024: No issues detected. Safe to use for the version listed in the first message.

4 Likes

Are you able to clarify exactly what additional permissions this gives to moderators?

I had a question about what all moderators can do and was given this list:

This post answered that original question, but there are some items listed that we would want to disable. Such as:

  • Make posts/topics Wikis
  • Add staff notices
  • Close, archive, pin, delete, merge, and unlist topics
  • Review flags
  • Edit category descriptions

Does this plugin give us the ability to remove some permissions?

A category moderator with this plugin can do every action a regular moderator can do, with the exception described in the opening message:

Basically it retain the ā€œonly act on content, not userā€ philosophy but also cannot perform some actions on content that are allowed to moderators, because they require parts of discourse that are ā€œadmin interfaceā€.

A way to enable/disable what a category moderator can do is planned but we have no ETA.

3 Likes

This plugin has a conflict with the activitypub plugin.

It overrides can_change_post_owner? in the Post Guardian and adds a topic parameter.

and then calls it with that parameter

guardian.can_change_post_owner?(topic)

That works because it never calls super.

However, when another plugin also overrides that guardian method and does call super as it should (and thatā€™s what ActivityPub does), it does not know about the extra parameter and it crashes.

Failed to handle exception in exception app middleware : ArgumentError : wrong number of arguments (given 1, expected 0) 

/var/www/discourse/plugins/discourse-activity-pub/extensions/discourse_activity_pub_guardian_extension.rb:12:in `can_change_post_owner?'

/var/www/discourse/plugins/discourse-category-mod-enhancer/plugin.rb:95:in `change_post_owners'