Page MenuHomePhabricator

Some of AntiSpoof's error messages need love
Open, Stalled, NormalPublic5 Story Points


As promised in T94958, I'm filing a ticket about some of the MediaWiki extension AntiSpoof's error messages. "antispoof-tooshort" is currently: "Canonicalized name too short". This is really opaque and unhelpful. Some of the other messages aren't really much better (e.g., "Contains unassigned character $1" and "Contains incompatible mixed scripts").

We should audit these error message and either remove them from user interface exposure or make them clearer. Basically these error messages currently read like debug messages, which is fine, as long as we're not exposing those messages to users directly. We need to either only expose these messages internally or we need to rewrite them in plainer language. "Mixed scripts", "canonicalized", and "unassigned character" are difficult for me to understand and I'm a native English speaker who's very moderately intelligent!

To do

  • Propose new language on the error messages
  • Get input/approval from others about the proposed new language
  • Make changes, merge, & release



The username "FooBar" is not allowed to prevent confusing or spoofed usernames: ERROR MESSAGE HERE Please choose another username.

Error Messages


  • Current: Bad data type
  • Update to: Usernames can only contain unicode characters.


  • Current: Empty string
  • Update to: No username was provided.


  • Current: Contains blacklisted character $1
  • Update to: Usernames cannot contain the character "$1".


  • Current: Begins with combining mark $1
  • Update to: Usernames cannot begin with "$1".


  • Current: Contains unassigned character $1
  • Update to: Usernames cannot contain the character "$1".


  • Current: Contains deprecated character $1
  • Update to: Usernames cannot contain the character "$1".


  • Current: Does not contain any letters
  • Update to: Usernames must contain one or more letters.


  • Current: Contains incompatible mixed scripts
  • Update to:


  • Current: Normalized name too short
  • Update to: Your provided username is too short.

Related Objects

View Standalone Graph
This task is connected to more than 200 other tasks. Only direct parents and subtasks are shown here. Use View Standalone Graph to show more of the graph.

Event Timeline

MZMcBride created this task.Apr 3 2015, 2:06 AM
MZMcBride raised the priority of this task from to Needs Triage.
MZMcBride updated the task description. (Show Details)
MZMcBride added subscribers: MZMcBride, Nemo_bis.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptApr 3 2015, 2:06 AM
TTO added a subscriber: TTO.Apr 3 2015, 2:08 AM
jrbs added a subscriber: jrbs.

Does AntiSpoof internally have knowledge of what subcase caused a failure? If not, this will need to be fixed together with the feature request where I asked to use Unicode tools for the purpose.

Restricted Application added a subscriber: StudiesWorld. · View Herald TranscriptDec 8 2015, 8:10 PM
TerraCodes added a subscriber: TerraCodes.EditedOct 11 2016, 5:07 AM

Has this been fixed?

Change 329197 had a related patch set uploaded (by DatGuy):
AntiSpoof: Simplify word in en and en-gb.

DatGuy added a subscriber: DatGuy.Dec 25 2016, 9:40 PM

Change 329197 merged by jenkins-bot:
Multiple i18n changes

Jdforrester-WMF triaged this task as Normal priority.Jan 9 2017, 7:40 PM
Jdforrester-WMF removed a project: Patch-For-Review.
TBolliger updated the task description. (Show Details)Sep 26 2017, 6:21 PM
TBolliger updated the task description. (Show Details)
TBolliger set the point value for this task to 5.Sep 26 2017, 6:28 PM
TBolliger changed the task status from Open to Stalled.Sep 27 2017, 6:50 PM
TBolliger added a subscriber: TBolliger.
TBolliger updated the task description. (Show Details)Sep 28 2017, 12:13 AM

Let's collaborate at on what the copy should be.

TBolliger updated the task description. (Show Details)Nov 2 2017, 11:28 PM

After a month, no edits but my own. Etherpad ain't working, let's use this ticket directly.

There are two that I don't know how to word properly without being too technical, which makes me question the purpose of these error messages. Should we construct their language for new users or for troubleshooting? If the answer is both then I would suggest we reconstruct all these messages like such:

The username "FooBar" is not allowed to prevent confusing or spoofed usernames because REASON. Please choose another username. (Error code 1)

TTO added a comment.EditedNov 5 2017, 11:21 AM

Let's not use error codes - there are so many things wrong with them I don't know where to start. However, it would be beneficial for troubleshooting purposes if all the messages were different in some way.

Some suggestions:

  • I'd love to see antispoof-name-illegal altered to To prevent confusion, the username \"$1\" cannot be used. $2 Please choose another username.
  • I'm not sure what would trigger antispoof-badtype, but in any case, Unicode needs a capital U.
  • To distinguish blacklisted/unassigned/deprecated, could we do something like Usernames cannot contain the character "$1", because it is blacklisted/not assigned/deprecated. or Usernames cannot contain blacklisted/unassigned/deprecated characters such as "$1".? So long as the user understands that the actual character in question cannot be contained in a username, one word of technical jargon shouldn't be a problem. As I said, the messages need to be distinguished for troubleshooting purposes.
  • For mixedscripts we could have Usernames cannot contain characters from different scripts or Usernames cannot contain a mix of different scripts, possibly using the word "writing systems" instead of "scripts" to avoid jargon.
  • Because of the special nature of the antispoof-combining message I think it should finish with <code>$1</code>, or maybe even <code> $1 </code>, and no dot. Combining characters are very tricky to display correctly on their own.