* 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
* Added notification for when leader is updated
* Abstracted challenge member search component
* Added challenge member search modal to challenge detail
* Added group search
* add another check if previous gear is owned
* respect gear purchase order
* catch error with miscalculation of equipment number floor
* add integration test for proper equipment purchasing order
* fix syntax
* add 'previousGearNotOwned' string
* rewrite logic for different starting levels for wep vs others
* separate and add tests for armor and weapon
* rename variable for clarification
* skip check if itemIndex is NaN
* change obscure NaN check for readability
* change conditional from checking NaN to Int
* Validate that everyX values are integers bounded by 0 and 9999
* Added client side check
* Updated tests
* Added migration for bad dailies
Near idential to the other task migration.
* fix(typo): camelCase function call
* Fixed bug that allows users to complete todo and daily multiple times
* Added tests
* Fix syntax
* Fix existing tests that rely on multiple complete or uncomplete
* Undoes removal of website/client/README.md
* Change sessionOutdated string to reflect separate client needs
* Fix should update history test by changing lastCron
* Updated userItemsNotEnough string
* Added a variable to be passed to the deleteSocialAccountText string. This variable name is `magic_word` and is set as DELETE where used
* modified incorrectDeletePhrase to use a variable rather than translatable string for the word DELETE. Updated the DELETE-user test and the user api
* Changed noSudoAccess from translatable string to static
* Changed enterprisePlansEmailSubject from a translatable string to a static string within groupPlans.vue
* Fixed test problems with translation fixes
* Added no sudo access string to api messages
* changed plain string to apiMessage for no sudo access messages
* Remove flag from system messages, throw an error if system messages are flagged
* Modify unflag system message test to check if flagging a system message throws an error
* Move email from nconf to top
* allow banned word / swearword blocker to apply to all public guilds, with specified exceptions
* add another guild
* add more guilds to those that do not have the bannedWords blocker applied
* fix lint errors
* start to fix modals
* fixed cards paddings
* fix notifications not being marked as read
* add tests for reading a notification
* fixed indentation and added tests for reading multiple notifications
* register from home page using enter key
* test get party challenges by party ID
* tavern challenge tests; failing tests with ID 'party' or 'habitrpg'
* allow finding challenges by groupid 'party' or 'habitrpg'
* use single quotes in strings
* move emails images to website/static/emails and remove old files
* remove old client tests
* remove more files
* add sprites back
* cleanup gulp
* cleanup gulp
* remove old files
* more fixes
* pin bootstrap-vue
* disable old test
* remove old tasks
* fix apidoc
* Added removing invites
* Addeed messages for empty gems to icon
* Added member for challenge members
* Fixed task cloning ending
* Fixed group task assignment
* Added small hack to prevent scrolling issues
* Fixed lint
* start work on porting the reset password page
* add new api route for setting a new password after a reset
* wip client page
* port tests
* wip
* fix linting
* skip tests
* remove excess brace on settings > subscription screen
* prevent User icon > Settings > Subscription page from crashing when subscription has termination date
* stop subscription modal from pitching subscription to a subscriber
* change placeholder text from Username to Login Name for consistency with other login/register forms
* fix test for POST-tasks_user -- streak and dateCompleted weren't being tested correctly
* prevent tag selector from appearing in edit screen for a challenge's own tasks
* restore Restore Streak when editing a user's Dailies (including their own copies of Challenge and Group Plan Dailies)
* remove failing streak test
* Added flagging to show to admins
* Fixed filters in my guilds
* Fixed login incentives style
* Added inital rage bar
* Added categoires to get group
* Updated profile stats page
* Added stat allocation
* Updated tests to include categoires
* Fixed lint issue
* Added another lint fix
* Links stay white on hover
* Fixed task icon color
* Disabled plus button when needed
* Fixed difficulty color
* Fixed task reward color
* Updated create styles
* Fixed group plan link
* Fixed second group test modal
* Added login incentives
* Fixed group notification clear
* Show baily correctly
* Styled armoire notification
* Fixed contributor achievement styles
* Fixed death
* Fixed drop styles
* Fixed invited friend modal
* Fixed joined challenge achievement style
* Fixed joined guild style
* Fixed level up styles
* Updated low health styles
* Fixed bailey styles
* Updated quest completed
* Added soem conditionals to hide modals
* Added rebirth styles
* Fixed rebirth enable styles
* Fixed streak styles
* Fixed testing modals
* Fixed ultimate gear achievement
* Fixed won challenge
* Set user to welcomed if created on mobile
* Removed old default tasks
* Began adding more options to avatar
* Added change class
* Inbox to messages
* Moved profile to menu
* Added user modal for viewing a user and send message
* Fixed conversations
* Fixed lint
* Fixed challenges sending to server
* Added challenge progress view
* Fixed group sync after pay
* Fixed some group accepting features
* Fixed initial chat loading
* Fixed some exitence errors
* Added user names to assigned
* Added upgrade link
* Began adding new payment flow
* Added default tasks
* Updated avatar styles
* Updated tutorial styles
* Rebuilt notifications and styles
* Updated upload script
* Fixed lint
* Added default tasks back to mobile and added updated tests
* More test fixes
* create new summary field for challenges
* finish implementating summary for challenges, add some support for guilds
* make small improvements to challenges code
* fix lint errors
* add more code to support summaries for guilds (still more needed)
* fix existing tests by adding summary field
* make existing tests pass
* WIP make "Public Challenges" text translatable
* change "leader" locale key to "guildOrPartyLeader" to make searches for it easier
* remove v-once from h2 headings
* remove failed attempt to localise text in <script>
* add quick-and-dirty error checking for guild not having categories
* make "Public Challenges" text translatable
* rename final ...PlaceHolder strings to ...Placeholder (lower-case "h") for consistency with existing Placeholder strings
* Forced full refresh after deletE
* Fixed styles on firefox
* Removed instagram link
* Added information to modal
* Fixed deleteing and task keeping
* Added redirect to challenge detail after created
* Updated challenge item styles
* Added new limit option to challenges
* Fixed some purchasing issues with backgrounds
* Added more background styles
* Fixed some menu styles
* Initial old client removal
* Added cross-env
* removed bower and fixed lint
* Made interceptor errors use notify
* Removed old client tests and fixed lint
* Added stripe payment for group plan
* Began adding amazon
* Added amazon payments for group
* Added get group plans route
* Added group plan nav
* Added initial task page
* Added create and edit group plans
* Added initial approval header and footer
* Added assignment and approved requirement
* Added minor text fixes
* Added inital approval flow
* Added approval modal
* Removed always true
* Added more styles for filters
* Added search
* Added env vars
* Fixed router issues
* Added env to social login
* Fixed merge conflict
* issue 8812 - added the list of bad words matched to the postChat error message.
* issue 8812 - added the list of bad words matched to the postChat error message.
* issue 8812 - some refactoring, fixed relevant tests, and lint rules refactor
* small fix for unnecessary empty array
* added test and did some small refactoring
* lint error fix
* issue 8812 - added the list of bad words matched to the postChat error message.
* issue 8812 - some refactoring, fixed relevant tests, and lint rules refactor
* small fix for unnecessary empty array
* added test and did some small refactoring
* lint error fix
* add test to check the error message contains the banned words used
* improve banned words test
* issue 8812 - added the list of bad words matched to the postChat error message.
* issue 8812 - some refactoring, fixed relevant tests, and lint rules refactor
* small fix for unnecessary empty array
* added test and did some small refactoring
* lint error fix
* issue 8812 - added the list of bad words matched to the postChat error message.
* issue 8812 - some refactoring, fixed relevant tests, and lint rules refactor
* add test to check the error message contains the banned words used
* improve banned words test
* merge with develop - aligned banned slurs check with banned words check
* Added challenges section
* Added public fields to guilds
* Added suggestion for habitica help guild
* Added categoires to group
* Added guild category filters
* Added guild filter by member count
* Removed console.log
* Updated group count in tests to account for newly created groups
* (server) Add parties array to store invites
* (server) Lint files
* Update joinGroup, rejectGroupInvite, _inviteByUUID, and remove clearPartyInvitation.js
* Update user schema: detailed 'invitations.parties' attributes
* Code improvement and do not let invite twice
* Check if the user is already invited earlier in the code
* Added message to invitation page, and show all invitations
* Added join party confirmation alert
* Small fixes
* Created test: allow inviting a user to 2 different parties
* Updated tests
* Update invitations.parties on more places
* Small adjustments
* Updates on invitations.party references
* Show all invitations when user is already in a party
* Fixed notifications counter
* Update both 'party' and 'parties' at _handleGroupInvitation
* Updated a test
* Fixed small mistake at _handleGroupInvitation
* More test update
* Update invitation.party when removing single invite and small adjust at view
* Added text to locale
* Added achievement to content and libs
* Added achievement modal
* Added achievement to notification model and controller
* Added achievement to user schema
* Grant achievement to inviter when user registers using emailed link
* Fix icon name
* Added integration test
* Fix linting
* Added sprite