Report Improvements by Xon

Report Improvements by Xon 2.8.1

No permission to download
  • On making non-closing report comments; do not record a comment as sent if the 'send alert' checkbox is set, despite not actually sending the alert
  • Force global namespace for functions which are known to be optimizable to bytecode in php
  • Implement php 7 type hinting
  • Add option "Resolve report - Alerts" configure alerting default when rejecting/resolving reports
  • Add "Send resolution alert" checkbox when issuing/deleting/expiring warnings and issuing thread reply bans
  • In search, allow grouping report comments by report. Only really useful for upcoming ElasticSearch Essentials update.
  • Ensure report comment alerts respect the "view reporter username" permission
  • Fix double-encoding of cache values, which is surprisingly expensive
  • Fix N+1 queries when loading post reports.
    Do a direct node permission check rather than per-forum canView php call if the option "Reports respect view-node permission" is set
  • Fix N+1 query behaviour from loading report titles
  • Fix error when trying to issue a reply-ban with a warning without an expiry
  • Improvements for 'non-moderators who can have reports assigned' feature
    • Run basic permission cleanup after upgrades/installs
    • Another attempt at reducing performance impact, focusing on older MySQL versions
  • Improve queue when discovering non-moderators who can be assigned reports, and implement caching around this list.
    • Adds an index to xf_permission_entry table
    • Caching requires an XenForo caching provider to be setup.
    • Still appears to produce a sub-standard query plan for older versions of MySQL, but is "better" than 2.7.1
  • Update a number of methods to use php 7.0 type hinting, potentially a breaking change for 3rd party add-ons extending Report Improvements
  • Rename options to have more consistant naming
  • Limit assigning reports to only to users who can view & update a report (rather than just view it)
  • Fixes Non-moderators who can update reports;
    • Fix N+1 query behaviour
    • Improve query fetching non-moderators so it now checks that users have the view reports permission before loading the user records, and to respect the "never" permissions.
      • XenForo permission checks where still done on the list of users
    • Add "Maximum non-moderator users who can handle reports" option
      • This help prevents out-of-memory errors on viewing reports when unexpectedly loading thousands or tens of thousands of user records