* authErrors.toMessage can now take an error from the backend as well as other types.
* Add authErrors.toContext which fetches context for string interpolation from data returned from the backend.
fixes#412
* Allow users who sign up with an existing account to sign in. If they type an incorrect password, show them a link to the /signin page.
* Show users who sign in with a non-existent account a link to the /signup page.
* Clarify & simplify error processing of errors returned by the auth server
* Add a table of human understandable string types->numeric codes returned by the auth server to auth-errors.js
* All access to auth-errors goes through three functions, toMessage, toCode, and is;
* Add displayErrorUnsafe - no conversion on HTML before being displayed.
* Add functional tests for /signin and /signup error cases.
* Prepare for IE8 which has no `content: attr(title)` CSS support.
* Position the tooltip programatically to avoid problems with password help text.
* Eliminates the extra HTML needed to position tooltips.
* Fixes the "password help text" now displaying when focusing the password field on /signup
fixes#492fixes#498fixes#525
Changing Firefox Online Services to Firefox Cloud Services
`rgrep -i "Firefox online" .` from both the `app` and `server` directories reveals no missed strings. We'll have to re-run `grunt l10n-extract` to update the .pot files for translation.
r+ thanks @pdehaan!
* Move translation.js->interpolate into strings.js so it can be reused.
* Update the templates to match the mocks.
* Linkify the service name if redirectTo is available.
fixes#455fixes#502
Move email templates into content server and create a route to serve them
When rebased and merged with #517, all tests pass everywhere, all the time. Code looks good to me, reads well, all my requests have either been made or answered appropriately.
Nice work @zaach!
r+
The session tests attach a test "channel". "channel" cannot be cleared, and since Session is a singleton, the test channel never goes away. in fxa-clien.js->signIn, we attempt to send a message to a channel without a send function.
fixes#516