No description
Find a file
Alys f302d15bc4 add length and character limitations for login name (username) (#9895)
* update API comments to for `username` restrictions and to use Login Name terminology

We use "login name" rather than "username" in user-visible text
on the website and (usually) when communicating with users because
"username" could be confused with "profile name".
Using it in the docs allows you to search for that term.

* add alphanumeric and length validation for creating new login name (username)

The 'en-US' locale is specified explicitly to ensure we never use
another locale. The point of this change is to limit the character
set to prevent login names being used to send spam in the Welcome
emails, such as Chinese language spam we've had trouble with.

* add error messages for bad login names

* allow login name to also contain hyphens

This is because our automated tests generate user accounts using:
  let username = generateUUID();

* allow login names to be up to 36 characters long because we use UUIDs as login names in our tests

* revert back to using max 20 characters and only a-z, 0-9 for login name.

It's been decided to change the username generation in the tests instead.

* disable test that is failing because it's redundant

Spaces are now prohibited by other code.

We can probably delete this test later. I don't want to delete it
now, but instead give us time to think about that.

* fix typos

* revert to login name restrictions that allow us to keep using our existing test code

I'm really not comfortable changing our test suite in ways that
aren't essential, especially since we're working in a hurry with
a larger chance than normal of breaking things.
The 36 character length is larger than we initially decided but
not so much larger that it's a huge problem.
We can reduce it to 20 when we have more time.

* limit username length to 20 chars

* fix tests
2018-01-27 09:33:56 -07:00
.ebextensions Old Client Cleanup (#9141) 2017-10-12 16:44:28 +02:00
.github update github templates for new website and wiki page locations 2017-10-31 21:25:01 +10:00
database_reports Clean up references to repo as HabitRPG/habitrpg (#8742) 2017-06-06 18:51:54 -07:00
gulp fix: correctly handle bootstrap variables 2017-11-16 21:59:55 +01:00
keys/google change Google iap-live for Android mobile app gem purchases, at negue's request 2015-12-03 06:22:59 +10:00
kubernetes Kubernetes support for dev environments (#8753) 2017-07-01 09:30:08 -07:00
migrations feat(content): Mystery Items 2018/01 2018-01-23 22:38:23 +00:00
scripts Added new web profile for checkout (#8699) 2017-07-06 15:16:54 -07:00
test add length and character limitations for login name (username) (#9895) 2018-01-27 09:33:56 -07:00
vagrant_scripts Fix install node permissions (#9621) 2017-12-01 16:05:17 +00:00
webpack Many ie style fixes (#9728) 2017-12-20 10:33:21 -06:00
website add length and character limitations for login name (username) (#9895) 2018-01-27 09:33:56 -07:00
.babelrc Client Tasks v3 (#8926) 2017-08-09 17:13:40 +02:00
.buildpacks refactor(tasks) improve UI consistency 2014-11-27 10:32:57 +00:00
.codeclimate.yml Only list javascript in .codeclimate.yml 2015-08-02 17:54:05 +02:00
.dockerignore Docker improvements (#8297) 2016-12-28 09:33:24 +01:00
.editorconfig Create .editorconfig 2016-09-07 08:44:57 -05:00
.eslintignore [WIP] Add initial fixes for concurrency (#9321) 2017-11-07 13:19:39 -07:00
.eslintrc fix: eslint: re-order packages 2016-12-26 16:04:36 +01:00
.gitignore Old Client Cleanup (#9141) 2017-10-12 16:44:28 +02:00
.nodemonignore Vue Project Setup (#8018) 2016-09-18 21:51:20 +02:00
.nvmrc Node 6 and NPM 4 (#8081) 2016-12-12 21:51:53 +01:00
.travis.yml Upgrade travis (#9850) 2018-01-21 22:47:58 +01:00
apidoc.json chore: Remove versioning from apidoc 2016-05-25 11:11:39 -05:00
config.json.example Updated encryption 2018-01-25 17:33:50 -06:00
docker-compose.dev.yml fix dockerfiles to not require entering container to run app (#8911) 2017-08-02 12:11:25 -07:00
docker-compose.yml Docker improvements (#8297) 2016-12-28 09:33:24 +01:00
Dockerfile Old Client Cleanup (#9141) 2017-10-12 16:44:28 +02:00
Dockerfile-Production chore(i18n): update locales 2018-01-23 23:07:05 +00:00
gulpfile.js fix: correctly handle bootstrap variables 2017-11-16 21:59:55 +01:00
LICENSE Fix grammar mistakes in license file 2016-06-21 06:42:20 -05:00
package-lock.json 4.22.0 2018-01-25 17:35:45 -06:00
package.json 4.22.0 2018-01-25 17:35:45 -06:00
Procfile API v3 [WIP] (#6144) 2016-05-23 13:58:31 +02:00
README.md update / delete outdated README.md files (#8719) 2017-05-14 14:40:13 +10:00
VAGRANT.md HabitRPG -> Habitica text changes 2015-07-31 18:05:10 +10:00
Vagrantfile.example Update Vagrantfile.example to forward port 8080 (#9732) 2018-01-12 16:32:09 -06:00

Habitica Build Status Code Climate Coverage Status Bountysource

Habitica is an open source habit building program which treats your life like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor.

We need more programmers! Your assistance will be greatly appreciated.

For an introduction to the technologies used and how the software is organized, refer to Guidance for Blacksmiths.

To set up a local install of Habitica for development and testing on various platforms, see Setting up Habitica Locally.