* Display message on My Guilds page when filters dont' match anything
* Display message on Discover Guilds page when filters dont' match anything
* Display message on My Challenges page when filters dont' match anything
* Display message on Discover Challenges page when filters dont' match anything
* Don't show Load More button when there is nothing to load
* Fix Guild search
Previously was not possible to clear after searching
* fix(groups): more intelligent member actions
* fix(groups): further member action improvements
* fix(groups): don't show "Remove Manager" if user doesn't have authority
* fix(lint): bad if syntax
* fix(groups): unnecessary if on icon
* WIP(groups): add shared completion prop
Also fix an issue where the Needs Approval toggle would not read/save
correctly.
* fix(groups): save group options on task create
Also, correct count of assigned members when viewing user is among
assignments
* fix(groups): display correct messages in two places
* fix(tasks): eliminate console error related to filtering
Also localize a group plans string
* WIP(groups): implement single completion for approval workflow
* WIP(groups): Add shared completion handling to no-approval-needed flow
* WIP(groups): cover approval flow case for all-assigned
Also save new field on initial task creation
* fix(tasks): use default sharedCompletion value when creating tasks
* WIP(tests): non-working draft test
* Added completed todo to group query
* WIP(group-tasks): fix bugs, add tests
* refactor(group-tasks): deleteMany op, add more tests
* refactor(group-tasks): move shared completion handling to lib
* WIP(group-tasks): broken refactor
* WIP(group-tasks): await all the things
* Turned complete master task to save
* WIP(group-tasks): show completed
* fix(filtering): don't try to filter if no list is passed
* refactor(group-tasks): load completed to-dos on demand, not at start
* fix(group-tasks): don't double up on repeat visits
* fix(group-tasks): include brief explanation in dropdown
* fix(group-tasks): improve wording some more
So far if a task contained Markdown, a system message like this would
have been posted to the group chat:
foo has claimed "Some [link](http://example.org/)"
Also, if the Markdown contained backticked code fragments, the whole
text would be displayed in red except the code part.
The reason for this is because the system message is already in Markdown
and a backticked task text would result in the following Markdown:
`foo has claimed "Foo `bar`"`
Here there are two code blocks, one with `foo has claimed "Foo ` and
another which only has `"`.
This is fixed by simply changing the userIsClamingTask translation
string to not wrap the task text inside a code block, as per @Alys
suggestion.
Signed-off-by: aszlig <aszlig@nix.build>
* remove removePunctuationFromString function from test code
It's not needed now that the test banned words don't contain underscores.
* prevent tests accidentally throwing messageGroupChatSpam
This commit makes the user for most tests have contributor tiers so
that the user can't trigger the messageGroupChatSpam error message
(for posting messages too quickly).
This is useful when some of the tests fail due to broken code
because that makes more messages be posted than expected. If the user
doesn't have tiers, the messageGroupChatSpam error message would be
triggered, which gives misleading information about the test failure.
* add tests for banned swear and slur words posted in mixed case
* allow banned word error message to show bad words in the same case the user typed them
* stop using randomly-chosen real banned words in tests
The test modified in this commit had been using real banned words,
which meant that those words were being displayed to the contributors
when the test failed.
NB the 'check all banned words are matched' test also uses the real
banned words but the test failure messages don't show the words.
* improve translatability of bannedWordUsed error message
* Updated from origin and added invite error fixes
* Update test for capitalization issue
* New error display
Changed app.vue to display error message using error.response.data.message
* Added initial bailey api
* wip
* implement new panel header
* Fixed lint
* add ability to mark notification as seen
* add notification count, remove top badge from user and add ability to mark multiple notifications as seen
* add support dismissall and mark all as read
* do not dismiss actionable notif
* mark as seen when menu is opened instead of closed
* implement ordering, list of actionable notifications
* add groups messages and fix badges count
* add notifications for received cards
* send card received notification to target not sender
* rename notificaion field
* fix integration tests
* mark cards notifications as read and update tests
* add mystery items notifications
* add unallocated stats points notifications
* fix linting
* simplify code
* refactoring and fixes
* fix dropdown opening
* start splitting notifications into their own component
* add notifications for inbox messages
* fix unit tests
* fix default buttons styles
* add initial bailey support
* add title and tests to new stuff notification
* add notification if a group task needs more work
* add tests and fixes for marking a task as needing more work
* make sure user._v is updated
* remove console.log
* notification: hover status and margins
* start styling notifications, add separate files and basic functionalities
* fix tests
* start adding mystery items notification
* wip card notification
* fix cards text
* initial implementation inbox messages
* initial implementation group messages
* disable inbox notifications until mobile is ready
* wip group chat messages
* finish mystery and card notifications
* add bailey notification and fix a lot of stuff
* start adding guilds and parties invitations
* misc invitation fixes
* fix lint issues
* remove old code and add key to notifications
* fix tests
* remove unused code
* add link for public guilds invite
* starts to implement needs work notification design and feature
* fixes to needs work, add group task approved notification
* finish needs work feature
* lots of fixes
* implement quest notification
* bailey fixes and static page
* routing fixes
* fixes # this.$store.dispatch(guilds:join, {groupId: group.id, type: party});
* read notifications on click
* chat notifications
* fix tests for chat notifications
* fix chat notification test
* fix tests
* fix tests (again)
* try awaiting
* remove only
* more sleep
* add bailey tests
* fix icons alignment
* fix issue with multiple points notifications
* remove merge code
* fix rejecting guild invitation
* make remove area bigger
* fix error with notifications and add migration
* fix migration
* fix typos
* add cleanup migration too
* notifications empty state, new counter color, fix marking messages as seen in guilds
* fixes
* add image and install correct packages
* fix mongoose version
* update bailey
* typo
* make sure chat is marked as read after other requests
* change "Keep/Remove It" to "Keep/Remove Them" when asking about all challenge tasks while leaving a challenge
* change "Leave" button on groups to "Leave Guild" or "Leave Party"
This is because the button is underneath the challenges so this
clarifies that it is referring to the group, not a challenge.
* change "Keep/Remove Them" to "Keep/Remove Tasks"
* Added notification for when leader is updated
* Abstracted challenge member search component
* Added challenge member search modal to challenge detail
* Added group search
* 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
* modify sort options for party members
* add unittest for membersModalComponent sort
* updates as requested in PR
* removed duplicates for `class` and `background` from flavour text
* fix linting error thrown by travis ci
* Added unqequip for hair styles
* Added quest rewards to quest completed modal
* Fixed display of task approvals
* Ensured the user is welcomed before showing login notification
* Added new message modal
* fixed manager functions
* Fixed group edit on group plan
* client/tasks/user: (create dropdown) change icon color on menuitem hover
Previously the color was only changing when you hovered over the
text or icon.
This change changes the icon color when you hover anywhere over
the `menuitem`
* client/shops/market: fix search field in market
* Hide drawer sliders if number of items for type is empty
* Move drawer-help-text icon down to line up vertically with text
* Add TODO for error thrown when trying to sell special item types
* client/tasks/taskModal: display all selected tags for task
* i18n/groups: religous to religious
* client/shops/market: Add error message to empty drawer slider
* Create new locale file to hold inventory locales
* client/tasks/user: Revert change to create dropdown
* Revert tag changes
This will be picked up in a separate PR.
* Fix missing space before function paren
* Prevented purchasing of locked quest
* Fixed category filters for challenges
* Added armoire equipment directly to user
* Halfed the time notifications display
* Added quest accept/reject to party page
* Client: fix Apidoc and move email files (#9139)
* fix apidoc
* move emails files
* quest leader can start/end quest; admins can edit challenges/guilds; reverse chat works; remove static/videos link; etc (#9140)
* enable link to markdown info on group and challenge edit screen
* allow admin (moderators and staff) to edit challenges
* allow admin (moderators and staff) to edit guilds
Also add some unrelated TODO comments.
* allow any party member (not just leader) to start quest from party page
* allow quest owner to cancel, begin, abort quest
Previously only the party leader could see those buttons. The leader still can.
This also hides those buttons from all other party members.
* enable reverse chat in guilds and party
* remove outdated videos from press kit
* adjust various wordings
* Be consistent with capitalization of Check-In. (#9118)
* limit for inlined svg images and make home leaner by not bundling it with the rest of static pages
* sep 27 fixes (#9088)
* fix item paddings / drawer width
* expand the width of item-rows by the margin of an item
* fix hatchedPet-dialog
* fix hatching-modal
* remove min-height
* Oct 3 fixes (#9148)
* Only show level after yesterdailies modal
* Fixed zindex
* Added spcial spells to rewards column
* Added single click buy for health and armoire
* Prevented task scoring when casting a spell
* Renamed generic purchase method
* Updated nav for small screen
* Hide checklist while casting
* fix some text describing menu items (#9145)
* 4.1.3
* use `selectGearToPin` instead of updateStore in migration-script (#9102)
* Tags redesign in edit-task modal (#9122)
* Truncate tags list to maximum number of tasks
This commit truncates the list of tags in the edit task modal and
displays the remaining selected tasks as a number.
* Align tags-select dropdown with "Tags" label
* Add tags popup component
* Use solid purple for tags-select dropdown
* Remove shadow when tags-select is active
* Add border-radius to tags-select
* Re-add previously disabled transitions
* Remove unused template element
* Add Clear Tags button to footer of tags popup
* Decrease column size for tags to better match design
* Truncate tag name to avoid overflows
* Add tag name as title to show full name on hover
* Grow inline tags select from left to right
* Style none button
* Add spacing to streak reset button to line up with tags select
* Add top offset to tags dropdown toggle to line up with label
* Ability to collapse checklists (#9158)
* ability to collapse checklists
* typo
* show warning to use the mobile apps (#9152)
* Oct 4 fixes (#9159)
* Added gem purchase note
* Added notification count
* Added party reload
* Added description when user can no longer purchase gems this month
* Prevent modal from showing when pruchasing recently purchased items
* Added progress bar
* Prevented non leader from loading approvals
* Added group billing
* Release fix (#9161)
* Merge Develop onto Release (#9123)
* Some random quick (#9111)
* Switch group button directions
* Allowed admins to export challenges
* Added scoping to some stable styles
* Fixed challenge cloning
* Tasks tags (#9112)
* Added auto apply and exit
* Add challenge tag editing
* Fixed lint
* Skill fixes (#9113)
* Added local storage setting for spell drawer
* Added new spell styles
* Fixed typo
* Reset local creds if access is denied (#9114)
* various fixes: group leader's name at top of edit drop-down; Members List; etc (#9117)
* fix text describing location of subscription/gem gift box
* disable Copy As To-Do in Tavern, guilds, party because it's not working
* change members label on group pages to Member List
* remove outdated info about seeing number of Gems available to buy
* allow Danger Zone to be seen by players without local authentication
Also add an hr because the Danger Zone heading was crammed up against the button above it.
* put current group leader's name at top of Leader change drop-down
* Client Fixes (#9120)
* unduplicate logout code
* re-enable debug menu
* fix pets badge and equipping mounts
* close gift modal after sending gems
* armoire notifications
* Oct 1 fixes (#9121)
* Added default tags to task
* Added seasonal gear check and show spooky
* Disabled spooky sparkles
* Fixed challenge remove tasks modal
* Hid checklist
* Added group gems modal
* Purchase with amazon
* Added check for user health
* Added missing notification file
* 4.1.1
* 4.1.2
* Merge develop into release (#9154)
* Client: fix Apidoc and move email files (#9139)
* fix apidoc
* move emails files
* quest leader can start/end quest; admins can edit challenges/guilds; reverse chat works; remove static/videos link; etc (#9140)
* enable link to markdown info on group and challenge edit screen
* allow admin (moderators and staff) to edit challenges
* allow admin (moderators and staff) to edit guilds
Also add some unrelated TODO comments.
* allow any party member (not just leader) to start quest from party page
* allow quest owner to cancel, begin, abort quest
Previously only the party leader could see those buttons. The leader still can.
This also hides those buttons from all other party members.
* enable reverse chat in guilds and party
* remove outdated videos from press kit
* adjust various wordings
* Be consistent with capitalization of Check-In. (#9118)
* limit for inlined svg images and make home leaner by not bundling it with the rest of static pages
* sep 27 fixes (#9088)
* fix item paddings / drawer width
* expand the width of item-rows by the margin of an item
* fix hatchedPet-dialog
* fix hatching-modal
* remove min-height
* Oct 3 fixes (#9148)
* Only show level after yesterdailies modal
* Fixed zindex
* Added spcial spells to rewards column
* Added single click buy for health and armoire
* Prevented task scoring when casting a spell
* Renamed generic purchase method
* Updated nav for small screen
* Hide checklist while casting
* fix some text describing menu items (#9145)
* Client: fix Apidoc and move email files (#9139)
* fix apidoc
* move emails files
* quest leader can start/end quest; admins can edit challenges/guilds; reverse chat works; remove static/videos link; etc (#9140)
* enable link to markdown info on group and challenge edit screen
* allow admin (moderators and staff) to edit challenges
* allow admin (moderators and staff) to edit guilds
Also add some unrelated TODO comments.
* allow any party member (not just leader) to start quest from party page
* allow quest owner to cancel, begin, abort quest
Previously only the party leader could see those buttons. The leader still can.
This also hides those buttons from all other party members.
* enable reverse chat in guilds and party
* remove outdated videos from press kit
* adjust various wordings
* Be consistent with capitalization of Check-In. (#9118)
* limit for inlined svg images and make home leaner by not bundling it with the rest of static pages
* sep 27 fixes (#9088)
* fix item paddings / drawer width
* expand the width of item-rows by the margin of an item
* fix hatchedPet-dialog
* fix hatching-modal
* remove min-height
* Oct 3 fixes (#9148)
* Only show level after yesterdailies modal
* Fixed zindex
* Added spcial spells to rewards column
* Added single click buy for health and armoire
* Prevented task scoring when casting a spell
* Renamed generic purchase method
* Updated nav for small screen
* Hide checklist while casting
* fix some text describing menu items (#9145)
* Some random quick (#9111)
* Switch group button directions
* Allowed admins to export challenges
* Added scoping to some stable styles
* Fixed challenge cloning
* Tasks tags (#9112)
* Added auto apply and exit
* Add challenge tag editing
* Fixed lint
* Skill fixes (#9113)
* Added local storage setting for spell drawer
* Added new spell styles
* Fixed typo
* Reset local creds if access is denied (#9114)
* various fixes: group leader's name at top of edit drop-down; Members List; etc (#9117)
* fix text describing location of subscription/gem gift box
* disable Copy As To-Do in Tavern, guilds, party because it's not working
* change members label on group pages to Member List
* remove outdated info about seeing number of Gems available to buy
* allow Danger Zone to be seen by players without local authentication
Also add an hr because the Danger Zone heading was crammed up against the button above it.
* put current group leader's name at top of Leader change drop-down
* Client Fixes (#9120)
* unduplicate logout code
* re-enable debug menu
* fix pets badge and equipping mounts
* close gift modal after sending gems
* armoire notifications
* Oct 1 fixes (#9121)
* Added default tags to task
* Added seasonal gear check and show spooky
* Disabled spooky sparkles
* Fixed challenge remove tasks modal
* Hid checklist
* Added group gems modal
* Purchase with amazon
* Added check for user health
* Added missing notification file
* adjust how User > Profile is referred to
* change "Create" to "Add Task" in a Challenge's page
* remove commented-out code for making a Group Plan cost Gems (there should be no Gem cost)
* split 'create' locales string into multiple strings for different purposes
- Allows text to be changed individually for each purpose.
- Assists translators in determining the best translation.
- Makes it easier to find locations in code for each string.
* remove "public" option for Group Plan creation modal
* allow all users to see challenge participant progress
* Discover challenges
* Fixed hero loading
* Moved add task button
* Fixed bailey showing
* Added logs for bad sub data
* Fixed blurb editing
* Added confirmation for deleteing message
* Reset invite modals on invite
* fixed group member sorting
* Fixed chat time styles
* Fixed hover on liked
* Fixed like count
* Added reverse
* Fixed editing party
* Added leader conditions
* Added search
* Added loading
* Reset members when leaving party
* Rounded pending
* Fixed overflow on collecting quests
* Added to invite friends
* Hid summary from party
* Fixed button styles
* Fixed button class
* Removed okay button
* Fixed renav for profile modal
* Added subscription back to menu
* Fixed static link
* Added daily due setting
* Added local auth adding
* Fixed centering of text
* Removed message locally
* Added count for new message
* Added style fix for profile pet
* Fixed achievement popovers
* Fixed white boxes
* Added plain color backgrounds
* fixed challenge mutability
* Fixed challenge editing
* Added notation for large numbers
* Add color text to guild sizes
* Removed membership filters from discover challenges
* Added invites to group
* Cmd + enter send message
* Made leader clickable
* Updated group validation
* Added cancelling autocomplete
* Added mention icon
* Added removing member
* Removed extra string
* 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
* (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
* Translation string for error notification
* Use function instead of a link for paypal
* Inject notification service, function to check the amount of gems to purchase, function to handle payments with paypal
* Throw error if amount of gems is zero or negative
* Add condition to raise error if amount is negative
* Added gem errors for gifts 0 or less
* Fixed linting and broken test
* Fixed test syntax
* Added back needed strings
* Fixed group locales
* make comment more accurate: members are removed, not banned
They can rejoin with an invitation in a private group or at any time in a public group.
* change windows line breaks to unix line breaks
* change flavour text of Golden Knight collection quest to reduce number of testimonies
* fix grammatical error noticed by mandyzhou
* improve message about not being able to send PMs because we often see people report it as a bug
* update instructions for cancelling Google subscriptions (thanks to Scea for noticing)
* change Delete Completed on-hover message - fixes#8598
* correct the Orb of Rebirth's text about pets and mounts (they are not locked)
* test: test that admin users can update guilds
* test: test admin removeMember privileges
* fix: allow admins to edit guilds
* fix: add edit guild options for admins
* test: test that admin can't remove current leader
* Add error msg for removing current leader
* Taskwoods Quest Line (#8156)
* feat(content): Gold Quest 2016-10
* chore(news): Bailey
* chore(i18n): update locales
* chore(sprites): compile
* 3.49.0
* chore: update express
* Fix for the ReDOS vulnerability
habitica is currently affected by the high-severity [ReDOS vulnerability](https://snyk.io/vuln/npm:tough-cookie:20160722).
Vulnerable module: `tough-cookie`
Introduced through: ` request`
This PR fixes the ReDOS vulnerability by upgrading ` request` to version 2.74.0
Check out the [Snyk test report](https://snyk.io/test/github/HabitRPG/habitica) to review other vulnerabilities that affect this repo.
[Watch the repo](https://snyk.io/add) to
* get alerts if newly disclosed vulnerabilities affect this repo in the future.
* generate pull requests with the fixes you want, or let us do the work: when a newly disclosed vulnerability affects you, we'll submit a fix to you right away.
Stay secure,
The Snyk team
* Documentation - coupon
closes#8109
* fix(client): Allow member hp to be clickable
fixes#8016closes#8155
* chore(npm): shrinkwrap
* test: test isAbleToEditGroup
* Add isAbleToEditGroup to groupsCtrl
* Remove unnecessary ternary
* Fix linting
* Move edit permission logic out to groupsCtrl
* fix: change ternary to boolean
* Fix linting
* Fixed merge issues
* Make flags.chatRevoked prevent sending private messages (issue #7971)
* Disallow sending gems when messages aren't allowed.
* Created function to check for objections to an interaction to user model and wired it into the API (issue #7971)
* Fixes for issues raised by reviewers.
* Added allowed values to apidoc for api.getObjectionsToInteraction.
* Refactoring of getObjectionsToInteraction and minor API changes.
* fix(objections): address PR comments
* fix(strings): use US English for base edits
* refactor(test): typos and phrasing
* WIP(guilds): AB test pester modal
* WIP(AB-test): guild pester cont'd
* fix(style): linting error
* fix(AB-test): markModified and notif enum
* fix(tests): update AB expectations
* fix(modal): remove extra includes
* feat(achievements): add Joined Guild cheevo
Also removes unused achievement sprites, and properly saves counter used in A/B testing
* fix(style): linting error from conflict
* Added abiltiy to add group managers
* Added ability to remove managers
* Added ability for managers to add group tasks
* Allower managers to assign tasks
* Allowed managers to unassign tasks
* Allow managers to delete group tasks
* Allowed managers to approve
* Added initial ui
* Added approval view for managers
* Allowed managers to edit
* Fixed lint issues
* Added spacing to buttons
* Removed leader from selection of group managers
* Code review updates
* Ensured approvals are only done once
* Added ability for parties to add managers
* Add notifications to all managers when approval is requests
* Removed tasks need approval notifications from all managers when task is approve
* Fixed linting issues
* Hid add managers UI from groups that are not subscribed
* Removed let from front end
* Fixed issues with post task url params
* Fixed string locales
* Removed extra limited strings
* Added cannotedit tasks function
* Added limit fields and notification check by taskId
* Localized string and other minor issues
* Added manager and leader indicator
* Added group notifications refresh on sync
* Added close button for group notifications
* Removed group approval notifications when manager is removed
* Moved leader/manager indicators to after hp
* Added manager fields to groups
* Spelling and syntax fixes
* Added block when user types a swear word listed in banned words
* Moved banned words check to server
* Removed unused code
* Moved banned words to separate file and fixed grammar.
* Updated chat test
* Changed error to BadRequest
* Fixed regex matching
* Updated test banned word
* Moved banned words and cached regex
* Updated banned word message
* Add ban filter only for tavern
* Added tavern id constant
* Added more tests for banned words
* Added warning to banned words
* Added alert
* Added new regex to capture markdown
* Fixed lint, spelling and importing
* Added email invite limit
* change error message for sending too many invitations to instruct them to email us
* fix test error message to use variable in locales string
* add comment to warn about keeping INVITES_LIMIT low
If INVITES_LIMIT is allowed to be greater than MAX_EMAIL_INVITES_BY_USER
then the inviter can send more than MAX_EMAIL_INVITES_BY_USER invitations
at once.
Also changes the email addresses in config.json.example to the real addresses so that we can use local install screenshots to tell if the correct address variable has been used.
* Added a field in Party page with members count and maximum members in party
* Added information of invitations counter
* Limited party to 2 members on server (API)
* Fixed english text
* Consider current number of invitations in the party
* Moved PARTY_LIMIT_MEMBERS to common folder
* Access the PARTY_LIMIT_MEMBERS through groupsCtrl
* Some corrections
* Hide invite button when invite limit is reached
* Added missing trailing comma
* Do not test 'returns only first 30 invites' in a party anymore, but in a guild: party is limited to 30 members, so it would always fail
* Test: allow 30 members in a party
* Test: do not allow 30+ members in a party
* Improved 'allow 30 members in a party' test
* Test: 'allow 30+ members in a guild'
* Added missing trailing comma
* Code style corrections
* Fixed new line position
* Party limit check done inside Group.validateInvitations function
* Improved members count query
* Fixed tests
* Rewrite tests
* Removed import of BadRequest: value became unused
* Added 'await' to remaining 'Group.validateInvitations' functions
* Fixed tests that would always success
* Added subscriptions to all members when group subs
* Added unsub when group cancels
* Give user a subscription when they join a subbed group
* Removed subscription when user leaves or is removed from group
* Fixed linting issues:
* Added tests for users with a subscription being upgraded to group plan
* Added tests for checking if existing recurring user sub gets updated during group plan. Added better merging for plans
* Added test for existing gift subscriptions
* Added additional months to user when they have an existing recurring subscription and get upgraded to group sub
* Adds test for user who has cancelled with date termined in the future
* Added test to ensure date termined is reset
* Added tests for extra months carrying over
* Added test for gems bought field
* Add tests to for fields that should remain when upgrading
* Added test for all payment methods
* Added prevention for when a user joins a second group plan
* Fixed subscribing tests
* Separated group plan payment tests
* Added prevention of editing a user with a unlimited sub
* Add tests to ensure group keeps plan if they are in two and leave one
* Ensured users with two group plans do not get cancelled when on group plan is cancelled
* Ensured users without group sub are untouched when group cancels
* Fixed lint issues
* Added new emails
* Added fix for cron tests
* Add restore to stubbed methods
* Ensured cancelled group subscriptions are updated
* Changed group plan exist check to check for date terminated
* Updated you cannont delete active group message
* Removed description requirement
* Added upgrade group plan for Amazon payments
* Fixed lint issues
* Fixed broken tests
* Fixed user delete tests
* Fixed function calls
* Hid cancel button if user has group plan
* Hide difficulty from rewards
* Prevented add user functions to be called when group plan is cancelled
* Fixed merge issue
* Correctly displayed group price
* Added message when you are about to join canclled group plan
* Fixed linting issues
* Updated tests to have no redirect to homes
* Allowed leaving a group with a canceld subscription
* Fixed spelling issues
* Prevented user from changing leader with active sub
* Added payment details title to replace subscription title
* Ensured we do not count leader when displaying upcoming cost
* Prevented party tasks from being displayed twice
* Prevented cancelling and already cancelled sub
* Fixed styles of subscriptions
* Added more specific mystery item tests
* Fixed test to refer to leader
* Extended test range to account for short months
* Fixed merge conflicts
* Updated yarn file
* Added missing locales
* Trigger notification
* Removed yarn
* Fixed locales
* Fixed scope mispelling
* Fixed line endings
* Removed extra advanced options from rewards
* Prevent group leader from leaving an active group plan
* Fixed issue with extra months applied to cancelled group plan
* Ensured member count is calculated when updatedGroupPlan
* Updated amazon payment method constant name
* Added comment to cancel sub user method
* Fixed smantic issues
* Added unite test for user isSubscribed and hasNotCancelled
* Add tests for isSubscribed and hasNotCanceled
* Changed default days remaining to 2 days for group plans
* Fixed logic with adding canceled notice to group invite
* Leaving a group or a guild no longer removes the user from the challenges of that group or guild.
* Updating api docs for leaving group to take into account the default path no longer leaving challenges when leaving a group.
* Updating api docs for leaving group to take into account the default path no longer leaving challenges when leaving a group.
* refactored according to blade's comments to not be a breaking change. The api now accepts a body parameter to specify wether the user
should remain in the groups challenges or leave them. The change also adds more tests around this behavior to confirm that it works
as expected.
* change name of Newbies Guild to Habitica Help: Ask a Question guild
* remove ": Ask a Question" from "Habitica Help: Ask a Question" in locations where we are linking to the guild or its wiki page
* Added notification for approval request in the group leaders language
* Added test for group task meta actions. Added sync when user claims
* Added tests for group task actions. Ensured assigned members are synce when added or removed
* Fixed approval required toggle
* Added support for users with comma in their name
* Fixed sync issue when user is approved and reloads the website
* Added advance options for group rewards
* Added back ticks to group claim message
* Fixed disappearing tasks that need approval
* Up chat limit to 400 for subbed groups
* Fixed line endings
* Updated activie subscription check
* Added group isSubscribed function
* Changed to isAfter
- decapitaliseed "A" in "Create A Group"
- converted non-ascii apostrophes to single-quote for consistency with other strings
- removed a double space within a string
- removed Windows line endings on every line
- converted all leading four spaces to two spaces (normally wouldn't do that but since every line was already touched by the line ending change, why not)
* Added all ui components back
* Added group ui items back and initial group approval directive
* Added approval list view with approving functionality
* Added notification display for group approvals
* Fixed linting issues
* Removed expectation from beforeEach
* Moved string to locale
* Added per use group plan for stripe
* Added tests for stripe group plan upgrade
* Removed paypal option
* Abstract sub blocks. Hit group sub block from user settings page. Added group subscriptin beneifts display
* Fixed lint issue
* Added pricing and adjusted styles
* Moved text to translations
* Added group email types
* Fixed typo
* Fixed group plan abstraction and other style issues
* Fixed email unit test
* Added type to group plan to filter our group plans
* Removed dev protection from routes
* Removed hard coding and fixed upgrade plan
* Added error when group has subscription and tries to remove
* Fixed payment unit tests
* Added custom string and moved subscription check up in the logic
* Added ability for old leader to delete subscription the created
* Allowed old guild leader to edit their group subscription
* Fixed linting and tests
* Added group sub page to user sub settings
* Added approval and group tasks requests back. Hid user group sub on profile
* Added group tasks sync after adding to allow for editing
* Fixed promise chain when resolving group
* Added approvals to group promise chain
* Ensured compelted group todos are not delted at cron
* Updated copy and other minor styles
* Added group field to tags and recolored group tag.
* Added chat message when task is claimed
* Preventing task scoring when approval is needed
* Added approval requested indicator
* Updated column with for tasks on group page
* Added checklist sync on assign
* Added sync for checklist items
* Added checkilist sync when task is updated
* Added checklist sync remove
* Sanatized group tasks when updated
* Fixed lint issues
* Added instant scoring of approved task
* Added task modal
* Fixed editing of challenge and group tasks
* Added cancel button
* Added add new checklist option to update sync
* Added remove for checklist
* Added checklist update
* Added difference check and sync for checklist if there is a diff
* Fixed task syncing
* Fixed linting issues
* Fixed styles and karma tests
* Fixed minor style issues
* Fixed obj transfer on scope
* Fixed broken tests
* Added new benefits page
* Updated group page styles
* Updated benefits page style
* Added translations
* Prevented sync with empty trask list
* Added task title to edit modal
* Added new group plans page and upgrade redirect
* Added group plans redirect to upgrade
* Fixed party home page being hidden and home button click
* Fixed dynamic changing of task status and grey popup
* Fixed tag editing
* Hid benifites information if group has subscription
* Added quotes to task name
* Fixed issue with assigning multiple users
* Added new group plans ctrl
* Hid menu from public guilds
* Fixed task sync issue
* Updated placeholder for assign field
* Added correct cost to subscribe details
* Hid create, edit, delete task options from non group leaders
* Prevented some front end modifications to group tasks
* Hid tags option from group original task
* Added refresh for approvals and group tasks
* Prepend new group tasks
* Fix last checklist item sync
* Fixed casing issue with tags
* Added claimed by message on hover
* Prevent user from deleting assigned task
* Added single route for group plan sign up and payments
* Abstracted stripe payments and added initial tests
* Abstracted amazon and added initial tests
* Fixed create group message
* Update group id check and return group
* Updated to use the new returned group
* Fixed linting and promise issues
* Fixed broken leave test after merge issue
* Fixed undefined approval error and editing/deleting challenge tasks
* Add pricing to group plans, removed confirmation, and fixed redirect after payment
* Updated group plan cost text
* included privateMessageGiftIntro in privateMessageGiftGemsMessage to take care of spacing error and make it easier for translators
* fixed spacing error in gems gift message and adjusted relevant tests
* removed privateMessageGiftIntro and privateMessageGiftSubscriptionMessage since they are no longer in use
* pull apart achievements into different subcategories
* achievs previously hidden to others if unachieved are now always shown
* achievs previously always hidden if unachieved are now always shown
* pull apart ultimate gear achievs
* add achiev wrapper mixin
* add achiev mixin for simple counts
* add achiev mixin for singular/plural achievs
* add simpleAchiev mixin and support attributes
* always hide potentially unearnable achievs if unearned
* contributor achiev now uses string interpolation for readMore link
* transition to basic achiev grid layout
* fix npc achievement img bug introduced in c90f7e2
* move surveys and contributor achievs into special section so it is never empty
* double size of achievs in achievs grid
* achievs in grid are muted if unachieved (includes recompiled sprites)
* fix streak notification strings
* add counts to achievement badges for applicable achieved achievs
* list achievements by api
* fix achievement strings in new api
* unearned achievs now use dedicated (WIP) 'unearned' badge instead of muted versions of the normal badges
* fix & cleanup achievements api
* extract generation of the achievements result to a class
* clean up achievement counter css using existing classes
* simplify exports of new achievementBuilder lib
* remove class logic from achievementBuilder lib
* move achievs to common, add rebirth achiev logic, misc fixes
* replace achievs jade logic with results of api call
* fix linting errors
* achievs lib now returns achievs object subdivided by type (basic/seasonal/special
* add tests for new achievs lib
* fix linting errors
* update controllers and views for updated achievs lib
* add indices to achievements to preserve intended order
* move achiev popovers to left
* rename achievs lib to achievements
* adjust positioning of achieve popovers now that stats and achievs pages
are separate
* fix: achievements api correctly decides whether to append extra string for master and triadBingo achievs
* revert compiled sprites so they don't bog down the PR
* pull out achievs api integration tests
* parameterize ultimate gear achievements' text string
* break out static achievement data from user-specific data
* reorg content.achievements to add achiev data in related chunks
* cleanup, respond to feedback
* improve api documentation
* fix merge issues
* Helped Habit Grow --> Helped Habitica Grow
* achievement popovers are muted if the achiev is unearned
* fix singular achievement labels / achievement popover on click
* update apidoc for achievements (description, param-type, successExample, error-types)
* fix whitespace issues in members.js
* move html to a variable
* updated json example
* fix syntax after merge
* New notification feature that notifies a user when their group invite is accepted. fixes#7788
* Updating to a modal instead of a popup notification
* Making a generic modal template and using it for notifications of group invitation acceptance.
* Working with paglias's comments for doing translation server side.
* Final changes based on pr comments.
* Added all ui components back
* Added group ui items back and initial group approval directive
* Added ability to mark tasks as requires approval. Added approvals ctrl. Added get approvals method to tasks service
* Added approval list view with approving functionality
* Added error to produce message when task requests approval
* Added notification display for group approvals
* Fixed notification read and adding task
* Fixed syncing with group approval required
* Added group id to notifications for redirect on client side
* Fixed approval request tests
* Fixed linting issues
* Removed expectation from beforeEach
* Moved string to locale
* Added eslint ignore
* Updated notification for group approved, added new icons, and updated styles
* Hid group plan ui
* Added payment to groups and pay with group plan with Stripe
* Added edit card for Stripe
* Added stripe cancel
* Added subscribe with Amazon payments
* Added Amazon cancel for group subscription
* Added group subscription with paypal
* Added paypal cancel
* Added ipn cancel for Group plan
* Added a subscription tab and hid only the task tab when group is not subscribed
* Fixed linting issues
* Fixed tests
* Added payment unit tests
* Added back refresh after stripe payment
* Fixed style issues
* Limited grouop query fields and checked access
* Abstracted subscription schema
* Added year group plan and more access checks
* Maded purchase fields private
* Removed id and timestampes
* Added else checks to ensure user subscription is not altered. Removed active field from group model
* Added toJSONTransform function
* Moved plan active check to other toJson function
* Added check to see if purchaed has been populated
* Added purchase details to private
* Added correct data usage when paying for group sub
* Added initial group tasks ui
* Changed group compnent directory
* Added group task checklist support
* Added checklist support to ui
* Fixed delete tags route
* Added checklist routes to support new group tasks
* Added assign user tag input
* Added new group members autocomplete directive
* Linked assign ui to api
* Added styles
* Limited tag use
* Fixed line endings
* Updated to new file structure
* Fixed failing task tests
* Updatd with new checklist logic and fixed columns
* Updated add task function
* Added userid check back to tag routes
* Added back routes accidently deleted
* Added locale strings
* Moved common task function to task service
* Removed files from manifest
* Added initial group tasks ui
* Changed group compnent directory
* Added checklist support to ui
* Added assign user tag input
* Added assign user tag input
* Added new group members autocomplete directive
* Added new group members autocomplete directive
* Removed group get tasks until live
* Linked assign ui to api
* Added styles
* Added server code for claiming a task
* ADded group task meta and claim button
* Adjusted styles, added local, and added confirm
* Updated claim with new file structures
* Fixed merge issue
* Removed extra file
* Removed duplicate functions
* Removed extra directive
* Removed dev items
* Added initial group tasks ui
* Changed group compnent directory
* Added group task checklist support
* Added checklist support to ui
* Fixed delete tags route
* Added checklist routes to support new group tasks
* Added assign user tag input
* Added new group members autocomplete directive
* Linked assign ui to api
* Added styles
* Limited tag use
* Fixed line endings
* Updated to new file structure
* Fixed failing task tests
* Updatd with new checklist logic and fixed columns
* Added purchased info to group and prevented non purchased group from seeing new group tasks
* Updated add task function
* Added userid check back to tag routes
* Marked tag tests as pending
* Added comments to pending tests
* Added back routes accidently deleted
* Added locale strings
* Other clarity fixes
* Moved common task function to task service
* Removed files from manifest
* Fixed naming collision and remove logic
* Removed group get tasks until live
* Fixed test to check update task. Removed extra removeTask call. Synced updated checklists. Added purchased to noset
* Fixed delete group task