* 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
* Bugfix: declare variable locally
* Bugfix: fix syntax error
* Bugfix: regex char-class with alternatives
The old implementation used character classes instead of
alternatives. As a consequence, the regex would match:
- a_warrior_0
- r_warrior_0
- m_warrior_0
- o_warrior_0
- r_warrior_0
- |_warrior_0
- h_warrior_0
- ...
The regex will now match:
- armor_warrior_0
- head_warrior_0
- shield_warrior_0
* Implemented repeat after completion
* Added tests for repeat after completion in shouldDo.test.js
* Remove lastTicked
* Undoes removal of website/client/README.md
* fix(sprites): serve animated GIFs
Also add new GIF for upcoming quest line
* feat(content): Masterclasser capstone quest
Also fixes Quests page for clearer lock/unlock display
* chore(sprites): compile
* feat(achievements): award quest completionist cheevo
* feat(quests): Siphoning Void
fix Achievements page styling and text spacing
fix display of Rage bar on party page
* test(quests): Lost Masterclasser
* chore(news): Bailey
* fix(test): only use Masterclasser in relevant scenario
* 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
* Separated private message model
* Added markdown to profile
* Add color backgrounds
* Added broken challenge flow
* Added summary field to getgroups
* Fixed group form information loading
* Updated autocomplete to use chat
* Fixed npc styles
* Fixed onload mentions
* 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
* Footer style fixes
* Limited string display
* Fixed background reload
* Began adding more avatar items
* Fixed challenge updated cats and official to be seen by admins
* Fixed min prize
* Fixed required fields
* Added my challenges and find challenges to menu
* Removed nav to party page when have no party
* Updated user and notifications icon
* Added accept, reject and messages
* Added selfcare
* Underline links
* Added forgot password
* Fixed task adding
* Disabled habit options that should be
* Added markdown to tags
* Added confirm to delete
* Fixed cancel/delete style
* Fixed rounding
* Added gold icon
* Fixed task icon styles
* Fixed margin botton
* Fixed some repeat styles
* Fixed custom reward style
* Hide like count 0
* Added new tavern images
* Redirect to party page after create
* Hid leader options from non leaders
* Removed manager options from non group plan
* Fixed some nav styles
* Fixed overlay color
* Prevented edit data from being transfered to create
* Added hover state for spells
* Add performance fixes for chat avatars
* Fixed merge conflicts
* Updated fron navigation
* Fixed reg gryphon logo
* Began adding gem modal functionality
* Added purchase gems with gold
* Fixed restore
* Replaced description with summary
* Spells that target tasks fix
* Added initial challenge task load
* Fixed lint issue
* 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
* toggle pinned state of items server + client
* pin quests / add pin src
* add officially pinned items and api to get in app rewards
* update schema and get items deatils
* update pin actions to the new logic
* show countBadge only with a number
* extract getPinKey - pin seasonal items
* togglePinned in buy-dialogs
* add pinKey to shop items
* wip
* wip
* fix path
* togglePinnedItem as common.op / use in client
* fix linting
* pinning: getItemInfo and save in db path and type
* make api more consistent, fix bugs
* updates
* fix bugs
* update actions to current api
* marketGear
* change to pinType
* add mystery_set to getItemInfo
* fix isPinned
* ignore animals
* list shopItems (initial)
* shopItem now has default popoverconent, itemclass and price / currency - list pinned items as rewards - attributes to gear
* show buyModal for the rewards
* show mystery_set icon
* add info whether item is suggested
* write migration, fix style issues
* pin potion and armoire
* make potion, armoire not unpinnable
* show notes for armoire and potion, add default items for new users
* show unpin notification
* add/remove pinned gear on class-change
* remove pinned & add new gear on purchase - refactoring pinning methods - fixes
* always allow to purchase armoire
* highlight item if suggested
* tasks hover state
* hide column background if task too close
* wip edit tasks
* wip: replace tags
* upgrade bootstrap-vue and fix creare btn for tasks
* difficulty options colors and active label fixes
* fix tags
* 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
* Initial psuedo-code for checking for slurs in messages
* Initial working prototype for blocking posting of slurs. Moved check from group.js to the chat api. Still needs: to permanently revoke chat privileges, to notify the moderators, a better method for checking for the blacklisted words, and a way to get the real list of words to check.
* Permanently revoke chat privileges when attempting to post a slur.
* Removed console logs
* Fixing rebase
* Do not moderate private groups
* Moved slur check to a generic check for banned words function
* Moved list of slurs to a separate file, fixed misplacement of return in ContainsBannedWords() function
* Slurs are blocked in both public and private groups
* Added code to send a slack message for slurs
* Fixed formatting issues
* Incorporated tectContainsBannedWords() function from PR 8197, added an argument to specify the list of banned words to check
* Added initial tests for blocking slurs and revoking chat priviliges
* Uncommented line to save revoked privileges
* Check that privileges are revoked in private groups
* Moved code to email/slack mods to chat api file
* Switched to BadRequest instead of NotFound error
* Restore chat privileges after test
* Using official placeholder slur
* Fixed line to export sendSubscriptionNotification function for slack
* Replaced muteUser function in user methods with a single line in the chat controller file
* Reset chatRevoked flag to false in a single line
* Switched method of setting chatRevoked flag so that it is updated locally and in the database
* First attempt at the muteUser function: revokes user's chat privileges and notifies moderators
* Manual merge for cherry-pick
* Initial working prototype for blocking posting of slurs. Moved check from group.js to the chat api. Still needs: to permanently revoke chat privileges, to notify the moderators, a better method for checking for the blacklisted words, and a way to get the real list of words to check.
* Permanently revoke chat privileges when attempting to post a slur.
* Removed console logs
* Created report to be sent to moderators via email
* Do not moderate private groups
* Moved slur check to a generic check for banned words function
* Moved list of slurs to a separate file, fixed misplacement of return in ContainsBannedWords() function
* Slurs are blocked in both public and private groups
* Added code to send a slack message for slurs
* Fixed formatting issues
* Incorporated tectContainsBannedWords() function from PR 8197, added an argument to specify the list of banned words to check
* Added initial tests for blocking slurs and revoking chat priviliges
* Uncommented line to save revoked privileges
* Check that privileges are revoked in private groups
* Moved code to email/slack mods to chat api file
* Switched to BadRequest instead of NotFound error
* Restore chat privileges after test
* Using official placeholder slur
* Fixed line to export sendSubscriptionNotification function for slack
* Replaced muteUser function in user methods with a single line in the chat controller file
* Reset chatRevoked flag to false in a single line
* Switched method of setting chatRevoked flag so that it is updated locally and in the database
* Removed some code that got re-added after rebase
* Tests for automatic slur muting pass but are incomplete (do not check that chatRevoked flag is true)
* Moved list of banned slurs to server side
* Added warning to bannedSlurs file
* Test chat privileges revoked when posting slur in public chat
* Fix issues left over after rebase (I hope)
* Added code to test for revoked chat privileges after posting a slur in a private group
* Moved banned slur message into locales message
* Added new code to check for banned slurs (parallels banned words code)
* Fixed AUTHOR_MOTAL_URL in sendTxn for slur blocking
* Added tests that email sent on attempted slur in chat post
* Created context for slur-related-tests, fixed sandboxing of email. Successfully tests that email.sendTxn is called, but the email content test fails
* commented out slack (for now) and cleaned up tests of sending email
* Successfully tests that slur-report-to-mods email is sent
* Slack message is sent, and testing works, but some user variables seem to only work when found in chat.js and passed to slack
* Made some fixes for lint, but not sure what to do about the camel case requirement fail, since that's how they're defined in other slack calls
* Slack tests pass, skipped camelcase check around those code blocks
* Fixed InternalServerError caused by slack messaging
* Updated chat privileges revoked error
* fix(locale): typo correction
* add possibility for group to block members from getting gems
* fixes
* fix tests
* adds some tests
* unit tests
* finish unit tests
* remove old code
* use new email template when subscription is cancelled from joining a group plan
* use new email template when subscription is cancelled from joining a group plan - needs more code, tests
* change from sending new email as a cancel-subscription option to sending as a group plan join email
Uses a new group-member-join email template instead of old group-member-joining because new template includes mandril conditional merge tags.
Also adds tests and comments. Edits some comments for accuracy and typo fixes.
* adapt group-member-join email template for manual cancel message for iOS and Android subscriptions
* save test user so its profile name can be read by calls to sendTxn
* add documentation for the user model cancelSubscription function
* add constants for strings passed to mandrill email templates