Page MenuHomePhabricator

Display invisible characters on erroneous user input
Open, LowPublic

Description

Sometimes a user will input a form value with invisible characters like spaces, tabs, or newlines (T11586). When we return an error message to the user, it isn't always obvious that the cause of the error is an invisible character. We should wrap the erroneous values in a PHUIInvisibleCharacterView before returning them to the user so they can see if an invisible character is the source of their life's problems.

Here's an incomplete list of places that could probably benefit from this extra visibility:

  • Phurl aliases.
  • Project hashtags.
  • AlmanacNames has some of these.
  • Repository callsigns.
  • Repository short names.
  • (Phame and Phriction have slug-like names but I don't think there are any possible user-facing errors.)
  • Phame blog "Parent Site URI".
  • OAuth server "Redirect URI".

Event Timeline

eadler added a project: Restricted Project.Sep 15 2016, 6:06 PM
  • T11586 has context.
  • D16541 added PHUIInvisibleCharacterView and has usage examples.
  • Go hunt down as many error messages which include user input in a validation error as you can find/test and wrap them in PHUIInvisibleCharacterView. The task description lists some. I don't think there's any systematic way to find these, and we shouldn't expect to be exhaustive.
  • Close this when satisfied / bored / everything else is too much of a pain to test.
  • Primary goal here is just an onboarding goal of poking around some different applications, we haven't really seen users hit this stuff.