Mass message extension allows a user to send a message to a list of pages or multiple users at the same time via special page Special:MassMessage. Over the years (4+), technical debt or code debt has accumulated which needs reworking / refactoring as most large wikis are using this extension already like; Commons, MediaWiki, Meta-Wiki, Wikipedia, Wikidata etc. The various areas that needs rework to make the extension match recent MediaWiki standards are;
- Putting the extension into the MediaWiki PHP name space (MediaWiki\MassMessage).
- Break down the giant MassMessage class into smaller ones that have less responsibility.
- Should have "targets" use value Objects instead of using arrays.
- Convert MassMessageTargets::getTargets() into an abstract (for example; SpamlistLookup or something), and enable other classes to extend it.
- Add phan tests for MassMessage T186314
- Allow the use of Wikidata item as spam lists, (see here: T171617).
- Should be able to warn when <ref> tag is present but no <references> tag is present, (see here: T156167).
There are probably more bugs to be address but the above is good enough for the scope of Outreachy.