For the supporting an in-lined label for the check-boxes (boolean control) we introduced a specific message key: control-label. This label is only useful for checkboxes, however, i18n.getControlsTextKeys() generates one of this keys for every schema property. This is incorrect and results on overhead on the message API requests.
Steps to replicate the issue (include links if applicable):
This happens for any schema but a good example for debugging is the HelpPanel
- Navigate to Special:CommunityConfiguration/HelpPanel
- In the network tab, inspect the result of the API request made by new mw.Api().getMessages, eg: /w/api.php?action=query&format=json&meta=allmessages&ammessages=communityconfiguration-helppanel-title%7Ccommunityconfiguration-helppanel-description...
What happens?:
*-control-label is fetched for several properties
What should have happened instead?:
No *-control-label is fetched
Software version (on Special:Version page; skip for WMF-hosted wikis like Wikipedia):
Other information (browser name/version, screenshots, etc.):
This may not only happen for control-labels but for other "non-sense" situations. It would be nice to review or even find a programmatic way to identify which message keys we aren't using, and if it makes sense to keep them for other uses cases or not.