* 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
* Added initial creator
* Added initial styles and functionality for creator
* More style changes
* Translations and styles
* More active classes
* Removed extra locales
* checking nexDueDate if it's an array before applying .map
* used array created
* change let for 'strict mode'
* Used ajax when canceling from the website (#8697)
* Used ajax when canceling from the website
* Fixed grammar issue
* Payments gem reset (#8712)
* Added gem reset if user does not have date last updated set
* Fixed login of adding updated date
* fix bug that prevented sending of emails to admin addresses (#8832)
* feat(content): June 2017 subscriber items
* chore(sprites): compile
* chore(i18n): update locales
* 3.98.0
* [WIP] client/inventory/stable (#8737)
* Stable: basic layout (based on equipment)
* extract item popover-content as component
# Conflicts:
# website/client/components/inventory/item.vue
* extract item-content as slot - list standard pets with image
* dynamic list petGroups in sidebar / content - with selected / open filter
* itemContentClass for pets
* fix filter - extract filter labels
* Filter: Hide Missing
* fix position of pets
* sort by: A-Z, Color, Hatchable
* refactor animalList - created the list once per type and cache it - sort now works before viewing one or all pets
* custom petItem to show the progress
* list specialPets - rename petGroup to animalGroup (more generic)
* equip a pet
* filter animals by input
* count pets
* list mounts
* hatchable pet popover
* hatchable pet popover #2
* PixelPaw Opacity for not owned and not hatchable pets - change item background for unowned pets
* Hold to hatch the pet - cleanup
* add food drawer + countBadge - special mounts - hide un-owned special animals - fixes
* Sliding Drawer: Buttons to scroll left/right
* Drag&Drop: food on pets
* fix hold to hatch - use mouseleave event
* 'Show All' / 'Show Less' - Animals
* Matts Image + Popover + use image width as sidebar width (removed col-2 / col-10)
* fixes: colors, v-once, drawer-errorMessage, strings
* drawerSlider - split items to pages / add divider / add first item of the next page - ResizeDirective
* ResizeDirective - throttle emits by `v-resize="value"` - fix drawer left padding
* show animals by available content width
* change sortBy button / label
* fix pet colors / backgrounds
* DragDropDirective - grabbing cursor
* remove browser specific prefixes
* fix lint issues
* show welcome dialog
* change translationkey (noFood, already exists)
* used array created
* change let for 'strict mode'
* fixes: show ten pets in a row - show pet / no feeding progress if mount already owned
* fixes: disabled filter instead of hiding them
* fixes: don't hide special pets - same item style for mounts
* fixes: avatar changes of pet / mount
* fixes: unfocus first dropdown-item by css
* fixes: unfocus first dropdown-item by css (remove :focus style)- added "What does my pet like to eat?" popover
* Began adding tavern and party
* Fixed routing conflicts and tavern constant
* Updated button styles
* Added not on quest block
* Added no challenge block
* Began adding quest details
* Began updating group create modal to have party info
* Added create party modal
* Added share userid menu
* Began adding toggle
* Finished toggle styles
* Added start quest modal
* Ported over party ctrl code
* Finished porting over party ctrl code
* Added more quest actions
* Added own quests modal and quest modal details
* Fixed member modal styles and icons
* Added many random style updates
* Small text align fix
* Removed extra update
* Removed config and extra key
* Removed client string extras
* remove unused elements from tasks page
* remove components
* client: tasks: wip
* tasks: order, start styling them
* more tasks works
* habits controls
* more work
* tasks icons
* split columns in their own component
* implement tags for tasks
* wip
* add columns description
* 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)
* Stable: basic layout (based on equipment)
* extract item popover-content as component
# Conflicts:
# website/client/components/inventory/item.vue
* extract item-content as slot - list standard pets with image
* dynamic list petGroups in sidebar / content - with selected / open filter
* itemContentClass for pets
* fix filter - extract filter labels
* Filter: Hide Missing
* fix position of pets
* sort by: A-Z, Color, Hatchable
* refactor animalList - created the list once per type and cache it - sort now works before viewing one or all pets
* custom petItem to show the progress
* list specialPets - rename petGroup to animalGroup (more generic)
* equip a pet
* filter animals by input
* count pets
* list mounts
* hatchable pet popover
* hatchable pet popover #2
* PixelPaw Opacity for not owned and not hatchable pets - change item background for unowned pets
* Hold to hatch the pet - cleanup
* add food drawer + countBadge - special mounts - hide un-owned special animals - fixes
* Sliding Drawer: Buttons to scroll left/right
* Drag&Drop: food on pets
* fix hold to hatch - use mouseleave event
* 'Show All' / 'Show Less' - Animals
* Matts Image + Popover + use image width as sidebar width (removed col-2 / col-10)
* fixes: colors, v-once, drawer-errorMessage, strings
* drawerSlider - split items to pages / add divider / add first item of the next page - ResizeDirective
* ResizeDirective - throttle emits by `v-resize="value"` - fix drawer left padding
* show animals by available content width
* change sortBy button / label
* fix pet colors / backgrounds
* DragDropDirective - grabbing cursor
* remove browser specific prefixes
* fix lint issues
* show welcome dialog
* change translationkey (noFood, already exists)
* 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
* added condition to prevent readCard operations from sending a notification
* created constant array to contain opNames for notifications we want to suppress and adjusted condition to accordingly
* replaced const with var to past karma test
* Changed recurring logic to not use moment-recur plugin for performance reasons
* change only nextDue calculations
add tests to make sure proper nextDue values are calculated
revert schedule.matches logic to original
revert shouldDo.test.js to original
* fix monthly nextDue logic
move tests to shouldDo.test.js
* typos
* revert to original logic. change not needed
* add failure cases
* 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
* Use “now” for calculation of the subscription end date instead of plan.dateUpdated
* add test to show previously incorrect logic does not affect sub end date.
* Added image
* Added new achievement to user schema
* Added new achievement to content
* Added new achievement to libs
* Added achievement text to locale
* Added achievement to notification model and controller
* Grant achievement on joining or creating first challenge
* Added achievement to modal template
* Compiled new sprites
* Added integration tests
* Fix linting error
* create script to insert message into party chat because collection quest is now easier
See https://github.com/HabitRPG/habitrpg/pull/7987 for more details.
* fix(quests): make collection less burdensome
* refactor(migration): return groups directly
* Add card and achievement sprite for Congrats card
* Add data regarding Congrats card
* Add Get Well card
* Add Get Well images
* Add schema
* Remove `if (!target.flags) target.flags = {};` code from cards
* Remove white backgrounds for congrats sprites
* add inital tests for cards
* Fix card tests
* Fix invalid urls in tests
* Update POST-user_class_cast_spellId.test.js
* Update POST-user_class_cast_spellId.test.js
* Update POST-user_class_cast_spellId.test.js
* Update congrats card sprite
* Fix card logic
* Fix user schema
* Change achievement values for new cards to Number
* Resize congrats and getwell cards
This will make them be sized properly
* Separate Market from Drops
* Extract cards to new section
* fix(sprites): revert spritesheet changes
* Add flags if target does not have them
* Updating User API Doc (part 3)
* Updating User API Doc (part 3)
Fixed trailing spaces
* Updating User API Doc (part 3)
Made changes to @apiParamExample to make multi-line (which may have been cause of apiDoc failing)
* Updated quests to add questKey
Semicolons in postinstall commands don't work in Windows.
'&&' works in *nix and in at least some versions of Windows.
This changes the meaning of the postinstall line slightly because
now the later commands won't run if the earlier ones failed but I
don't see that being a problem.
* 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
* Improved API documentation for hall
* Fixes typos, removes apiHeader definitions and curl example
* Fixes @apiParam and capitalization errors. Moves @apiDefines to website/server/api-doc.js
* add colors palette
* add secondary menu component and style it
* add box shadow to secondary menu
* misc css, fixes for secondary menu
* client: add equipment page with grouping, css: add some styles
* add typography
* more equipment
* stable: fix linting
* equipment: add styles (lots of general styles too)
* remove duplicate google fonts loading
* add dropdowns
* design: white search input background, remove gray from items
* start adding drawer and selected indicator
* wip equipment
* fix equipment
* equipment: correctly bind new properties on items.gear.equipped
* equipment: fix vue binding. version 2
* equipment: fix vue binding. version 3
* back to first fix for equip op, fix for sourcemaps, send http request when an item is equipped, load bootstrap-vue components where needed
* checkboxes and radio buttons
* correctly renders selected items in first postion during the first render
* add search
* general changes, constants part of app state, add popovers
* add toggle switch, rename css
* correct offset
* upgrade deps
* upgrade deps
* drawer and lot of other work
* update equipping mechanism
* finish equipment
* fix compilation and upgrade deps
* use v-show in place of v-if to fix ui issues
* v-show -> v-if
* Start of guild syyles
* fix linting in test/client
* fix es6 compilation in test/client
* fix babel compilation for tests
* fix groupsUtilities mixin tests
* More designs
* Added public guild state
* Added my guilds store
* client: buttons
* client: buttons: fix colors
* Added join and leave
* Began adding new guild form
* Create form updates
* Added search to local data
* Added filtering
* Added initial code for group create
* Added more create checks
* Added more guild routes
* Added styles to guild page
* Added more chat styles
* Began porting over angular functions
* Moved over group service functions
* Added paging
* Updated sidebar
* Updated join/leave and minor text
* Added new sidebar functions
* Updated paging
* Added some form updates
* Added more translations and styles
* Updated shrinkwrap
* Removed features config
* Lint cleanup
* Added member modal
* Added more member actions
* Updated nav
* Fixed filter toggling
* Updated create guild
* Added no guild page
* Added sort select
* Added more styles
* Added update guild form
* Removed extra css and other minor changes
* Many css and syntax fixes
* Fixed color and merge conflic
* Removed paging from my guilds
* Removed extra strings
* Many requests updates
* Small style fixes
* Fixed rebase.
* Removed commented out mail sending to pass linting. Styles from settings.styl still not propagating to app.css
* fix(feedback): address PR comments
* fix(style): linting errors
* Enabled repeatables
* Added every x to weekly
* Updated new recur logic to work with tests
* Added repeatable tests back
* Added custom day start support
* Moved back to zone function
* Added zone back
* Added nextDue field
* Abstracted set next due logic, set offset, and mapped to ISO
* Removed extra codes
* Removed clone deep
* Added summary local
* Fixed every x weekly
* Prevented edit of repeats on
* Added next due date
* Fixed display of next due dates
* Fixed broken tests
* added next due date as today for weekly
* Fixed integration tests
* Updated common test
* Use user's format
* Allow user to deselect all days during week
* Removed let from front end
* Close dropdowns when user clicks outside of them
Fixes#5490
* Remove expandMenu and closeMenu directives and tests
* Remove unnecessary HTML attributes
* Fixes apidoc error with Cast Skill
Changes Body to Query, changed example from POST body
* Updated to remove trailing space
* Wording fix per Lady Alys
* Update user.js
Kicking off another test.
* Update user.js
* client: start working on Inventory/Items
* i18n changes and fixes
* initial displaying of eggs, food and potions + sorting
* add missing files
* remove comment
* show food, eggs and potions
* add label to dropdowns acting as select menus
* popovers
* move badge to slot and component if necessary, general refactor
* fix quantity ordering
* some special items, reorganize
* 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
* add colors palette
* add secondary menu component and style it
* add box shadow to secondary menu
* misc css, fixes for secondary menu
* client: add equipment page with grouping, css: add some styles
* add typography
* more equipment
* stable: fix linting
* equipment: add styles (lots of general styles too)
* remove duplicate google fonts loading
* add dropdowns
* design: white search input background, remove gray from items
* start adding drawer and selected indicator
* wip equipment
* fix equipment
* equipment: correctly bind new properties on items.gear.equipped
* equipment: fix vue binding. version 2
* equipment: fix vue binding. version 3
* back to first fix for equip op, fix for sourcemaps, send http request when an item is equipped, load bootstrap-vue components where needed
* checkboxes and radio buttons
* correctly renders selected items in first postion during the first render
* add search
* general changes, constants part of app state, add popovers
* add toggle switch, rename css
* correct offset
* upgrade deps
* upgrade deps
* drawer and lot of other work
* update equipping mechanism
* finish equipment
* fix compilation and upgrade deps
* use v-show in place of v-if to fix ui issues
* v-show -> v-if
* fix linting in test/client
* fix es6 compilation in test/client
* fix babel compilation for tests
* fix groupsUtilities mixin tests
* client: buttons
* client: buttons: fix colors
* client: finish buttons and dropdowns
* upgrade bootstrap-vue, finish buttons and dropdowns
* fix tasks page layout
* misc fixes for buttons
* add textareas
* fix app menu
* add inputs
* fixes for toggleSwitch
* typography
* checkboxes and radio buttons
* add checkbox icon
* fix equip.js
* extract strings to newClient.json
* add Popover above 'Use Costume' / 'Auto Equip' slider - disable item select if costume-mode and 'useCostume' isn't active
* show "you have disabled your costume" error above the drawer items
* check errorMessage for null
* hide star if costume not enabled
* fix errorMessage (!errorMessage seems not to work for string)
* show minimize / expand icon - always centered by css
* drawer test
* drawer: fix centering on large screens
* fix show more button
* add margin when two dropdowns are next to each other
* adjust the page padding based on the drawer, misc fixes
* drawer fixes
* replace Shield with Shield-Hand Item where appropriate for consistency and clarity
* add space in quest completion modal heading between name of quest and "Completed!"
* clarify Rebirth text - restart your current character, not create a new one
* correct the instructions for editing a group (edit button not pencil icon)
* correct typo in questVice3Completion: breath > breathe
* fix type: Starststemic > Starsystemic
* Added isDue field and isDue set on create
* Added isDue update on update task
* Add isdue calc to score task
* Added isdue calc to cron
* Fixed lint issue
* Added isDue to no set and updated grammar
* Updating APIDOC for issue 8087
* Updating User API Doc (round 2)
cleaned up trailing sapces
* Updating User API Doc (round 2)
Changed mpHeal to mpheal
* Store all approved tasks in an array
* Created bulkScore using score callback
* Removed unnecessary code
* Added verification to run the code only for Approved Tasks
* Created scoreTasks on server and necessary code on client
* Revert "Created scoreTasks on server and necessary code on client"
This reverts commit b786c0e71a.
* Fixed gold/xp earn-lose-earnAgain problem
* Do not read already read notifications
* Removed unnecessary variable
* Display an error when invalid values are given
* Add character values tests for settingsCtrl
* Only check for invalid level values
* Remove unnecessary validation function
* Min level of 1 on user model
* (tests) Removed stubbing on restore
* Adding code to look over the most recent messages to look for spam from a user
* Adding in translatable error message
* Adding 2 tests for spam detection
* Fixing changes requested for pull request
* Adding unit tests for group and fixing requested changes
* Fixing message and tests
* Forgot to remove this import
* Fixing lint errors
* Cleaning up the code and tests to be more readable
* Fixing lint errors
* Fixed linting issues
* Syntax fixes
* Updated grammar
* 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
* Prevented ios and android subs from being upgrade to group plans
* Add admin email sender
* Updated admin email
* Updated get user email
* Fixed grammar issue
* 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
* Creating specific api to vend item reference for gifting items to a user through the hall of heroes. closes#8100
* removed 'When in doubt, ask Tyler' from the hall of heroes line
* Moving hall of heroes item path call from server side to client side
* updating let to var
* Addressing PR comments
* Issue 8432: Pre-test for initial fix
* Add failing test, seeking help/advice
* Fixes achievements injection. Now trying with Guide
* Fixes tests
* Remoed logging
* Mock ENV function
* Removes test focus
* Remove Beat Master unlock for Rebirth
* Special message when complete all check-in prizes
* Updated comment
* fix(test): unpend party cap test
* remove wrong subscriptions from gift modal
* edit the new issue template to emphasise that the Report a Bug guild should be used first (#8659)
* fix(translation): resolve merge conflict
* fix(news): merge conflict
* Added email invite limit (#8664)
* 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.
* Fix for automatic allocation not persisting #8641 (#8661)
* Fixed text of check-in prize when it is a set of backgrounds (#8599)
* Fixed text of check-in prize when it is a set of backgrounds
* Use existing i18n string for BGs name
* Added user.preferences.language as second parameter
* fix Shiny Seeds info about achievement (not given to caster) (#8679)
Ref: https://habitica.slack.com/archives/C02RK7DKF/p1492032261365388
* Release mergeback v3.86.0 (#8685)
* 3.85.0
* New User Tasks for Mobile (#8682)
* feat(mobile): different default tasks
* fix(linting): missing space
* fix(user): correct client type logic
* test(integration): tasks by platform
* fix(test): remove only
* test(user): deeper checks on tasks
* refactor(test): whitespace for readability
* feat(subs): Jackalope Pets (#8684)
* chore(sprites): compile
* chore(i18n): update locales
* 3.86.0
* feat(mobile): different default tasks
* fix(linting): missing space
* fix(user): correct client type logic
* test(integration): tasks by platform
* fix(test): remove only
* test(user): deeper checks on tasks
* refactor(test): whitespace for readability
* Fixed text of check-in prize when it is a set of backgrounds
* Use existing i18n string for BGs name
* Added user.preferences.language as second parameter
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.
* 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.
* Release Mergeback (#8644)
* Remove email addresses from translatable strings (#8448)
* Fix User > Profile showing {getProgressDisplay()}
* Remove bad nextRewardAt check
* 1st iteration of issue #8385 - more pending
* #8385 config and jade fixes, tests pending
* #8385 fixing lint errors
* Fix faqs string and test
* Fix faq.jade and add workaround for faq.js
* Fixing accidental checking for faq.js
* fix emails in faq.js
* fetch emails once in auth.js
* Fixing community manager email in auth.js
(cherry picked from commit 842fbe42a8)
* chore(i18n): update locales
(cherry picked from commit b2225f05e5)
* Merge branch 'stripe-webhook' into develop
(cherry picked from commit 30f514e46f)
* add recent Grand Gala seasonal special equipment names (#8606)
This is to help translators add good glossary entries now for keeping the current wiki pages consistent with future additions to the website's seasonal shop.
(cherry picked from commit 4846bc5769)
* stripe webhook for unpaid subs: add 3 days of remaining time
(cherry picked from commit 1d7b733759)
* New default background (#8597)
* feat(bgs): new default background
* feat(bgs): backfill migration
* fix(migration): extraneous imports, bad paths
* fix(bgs): address comments
* fix(test): assert equality
(cherry picked from commit 03088f1d9f)
* chore(sprites): compile
(cherry picked from commit 831b122ce2)
* chore(i18n): update locales
(cherry picked from commit be1754ab07)
* chore(public-docs): Community Guidelines update
Also Bailey announcement
(cherry picked from commit 565d50dd99)
* chore(i18n): update locales
(cherry picked from commit d4198f8913)
* 3.83.0
(cherry picked from commit ea18489991)
* chore(news): Bailey
* rebuild shrinkwrap
(cherry picked from commit 96ce948e1a)
* stripe webhook: fix handling of automatic requests
(cherry picked from commit c4463f991b)
* 3.83.1
* v3.83.2 - April Fools 2017 (#8632)
* feat(event): April Fools 2017
* feat(event): NPCs and Bailey
* fix(event): tweak NPCs, add challenge link
* chore(sprites): compile
* 3.83.2
* v3.83.3 Fooling Fix (#8633)
* fix(fooling): add logic to party and member modals
* 3.83.3
* v3.83.4 Export fooling (#8634)
* fix(fooling): allow export
* 3.83.4
* v3.83.5 End Fooling (#8638)
* chore(event): no more foolin
* chore(sprites): compile
* 3.83.5
* fix(merge-conflict): prefer develop
for config.json.example
* fix(merge-conflict): fewer istanbul deps
* Replace golden rock mount body sprite
* feat(content): BGs and Armoire 2017-04
Also fixes a positioning issue on Spring Healer headgear.
* chore(sprites): compile
* chore(i18n): update locales
* 3.84.0
* Remove email addresses from translatable strings (#8448)
* Fix User > Profile showing {getProgressDisplay()}
* Remove bad nextRewardAt check
* 1st iteration of issue #8385 - more pending
* #8385 config and jade fixes, tests pending
* #8385 fixing lint errors
* Fix faqs string and test
* Fix faq.jade and add workaround for faq.js
* Fixing accidental checking for faq.js
* fix emails in faq.js
* fetch emails once in auth.js
* Fixing community manager email in auth.js
(cherry picked from commit 842fbe42a8)
* chore(i18n): update locales
(cherry picked from commit b2225f05e5)
* Merge branch 'stripe-webhook' into develop
(cherry picked from commit 30f514e46f)
* add recent Grand Gala seasonal special equipment names (#8606)
This is to help translators add good glossary entries now for keeping the current wiki pages consistent with future additions to the website's seasonal shop.
(cherry picked from commit 4846bc5769)
* stripe webhook for unpaid subs: add 3 days of remaining time
(cherry picked from commit 1d7b733759)
* New default background (#8597)
* feat(bgs): new default background
* feat(bgs): backfill migration
* fix(migration): extraneous imports, bad paths
* fix(bgs): address comments
* fix(test): assert equality
(cherry picked from commit 03088f1d9f)
* chore(sprites): compile
(cherry picked from commit 831b122ce2)
* chore(i18n): update locales
(cherry picked from commit be1754ab07)
* chore(public-docs): Community Guidelines update
Also Bailey announcement
(cherry picked from commit 565d50dd99)
* chore(i18n): update locales
(cherry picked from commit d4198f8913)
* 3.83.0
(cherry picked from commit ea18489991)
* chore(news): Bailey
* rebuild shrinkwrap
(cherry picked from commit 96ce948e1a)
* stripe webhook: fix handling of automatic requests
(cherry picked from commit c4463f991b)
* 3.83.1
* v3.83.2 - April Fools 2017 (#8632)
* feat(event): April Fools 2017
* feat(event): NPCs and Bailey
* fix(event): tweak NPCs, add challenge link
* chore(sprites): compile
* 3.83.2
* v3.83.3 Fooling Fix (#8633)
* fix(fooling): add logic to party and member modals
* 3.83.3
* v3.83.4 Export fooling (#8634)
* fix(fooling): allow export
* 3.83.4
* v3.83.5 End Fooling (#8638)
* chore(event): no more foolin
* chore(sprites): compile
* 3.83.5
* fix(merge-conflict): prefer develop
for config.json.example
* fix(merge-conflict): fewer istanbul deps
* Replace golden rock mount body sprite
* feat(content): BGs and Armoire 2017-04
Also fixes a positioning issue on Spring Healer headgear.
* chore(sprites): compile
* chore(i18n): update locales
* 3.84.0
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.
This is to help translators add good glossary entries now for keeping the current wiki pages consistent with future additions to the website's seasonal shop.
(cherry picked from commit 4846bc5769)
* Fix User > Profile showing {getProgressDisplay()}
* Remove bad nextRewardAt check
* 1st iteration of issue #8385 - more pending
* #8385 config and jade fixes, tests pending
* #8385 fixing lint errors
* Fix faqs string and test
* Fix faq.jade and add workaround for faq.js
* Fixing accidental checking for faq.js
* fix emails in faq.js
* fetch emails once in auth.js
* Fixing community manager email in auth.js
(cherry picked from commit 842fbe42a8)
This is to help translators add good glossary entries now for keeping the current wiki pages consistent with future additions to the website's seasonal shop.
* Fix User > Profile showing {getProgressDisplay()}
* Remove bad nextRewardAt check
* 1st iteration of issue #8385 - more pending
* #8385 config and jade fixes, tests pending
* #8385 fixing lint errors
* Fix faqs string and test
* Fix faq.jade and add workaround for faq.js
* Fixing accidental checking for faq.js
* fix emails in faq.js
* fetch emails once in auth.js
* Fixing community manager email in auth.js
* Merged in develop
* Show task notes modal on click
* Began adding tests
* Removed extra characters
* Fixed lingering popup
* Added markdown
* Fixed line endings
* Update API Doc #8087
Includes: GET /api/v3/user – POST /api/v3/user/buy/:key
* User API Doc update 1
Changed "GET user" description to a URL to the user model
* Update API DOC User 1
Cleaned up stray spaces
* Updated API Doc for User (part 1)
for GET user:
restored apiDescription from first PR
put link to model into "apiSuccessExample"
* Remove notifications from example responses
* Fixed trailing spaces
* 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
* Habits v2: adding counter to habits (cleaned up branch) - fixes#8113 (#8198)
* Clean version of PR 8175
The original PR for this was here:
https://github.com/HabitRPG/habitica/pull/8175
Unfortunately while fixing a conflict in tasks.json, I messed up the rebase and wound up pulling in too many commits and making a giant mess. Sorry. :P
* Fixing test failure
This test seems to occasionally start failing (another coder reported the same thing happening to them in the blacksmiths’ guild) because the order in which the tasks are created can sometimes not match the order in the array. So I have sorted the tasks array after creation by the task name to ensure a consistent ordering, and slightly reordered the expect statements to match.
* Debounce `$scope` updates when typing in chat. (#8485)
Fixes#6462, by saving a bunch of time per frame. See the issue for evidence of
the win.
* fix(nextRewardUnlocksIn): Check-in prize message was always plural --… (#8458)
* fix(nextRewardUnlocksIn): Check-in prize message was always plural -- moving to a non-sentence like structure to fix incorrect grammar.
* fix(countLeft): Check-in prize message was always plural -- moving to a non-sentence like structure to fix incorrect grammar.
* Added support for grouping tasks by challenge (#8469)
* Added support for grouping tasks by chllenge
* Fixed tests and updated default challenge model name
* Fixed broken member test
* Updated setting string
* Changed to shortName
* Began abstracting task grouping
* Added initial task directive code
* Added new directives to help with grouping of tasks
* Removed random console.log
* Leaving a group (#8517)
* 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.
* Tasks score notes (#8507)
* Added setting and modal for score notes
* Added persistent score notes
* Fixed linting issues and documented new field
* Added max length to task score notes
* Added check for score notes existence
* Combined tasks perferences
* Repeatables (#8444)
* Added initial should do weekly tests
* Added support back in for days of the week and every x day
* Added better week day mapper
* Added initial monthly
* Added every x months
* Added yearlies
* Fixed every nth weekdy of month
* Fixed tests to check every x week on weekday
* Began combining x month with nth weekday
* Added every x month combined with date and weekday
* Fixed lint issues
* Saved moment-recurr to package.json
* Added new repeat fields
* Added UI for repeatables
* Ensured only dalies are affected by summary
* Added local strings
* Updated npm shrinkwrap
* Shared day map constant
* Updated shrinkwrap
* Added ui back
* Updated copy of test cases
* Added new translation strings
* Updated shrinkwrap
* Fixed broken test
* Made should do tests static for better consitency
* Fixed issue with no repeat
* Fixed line endings
* Added frequency enum values
* Fixed spacing
* Upgrade lodash to v4 and lint more files (#8495)
* common: import lodash modules separately
* remove test/content from .eslintignore, fix with eslint --fix content/index
* lint test/content
* lint content/index except for lodash methods
* upgrade server/models
* upgrade server/middlewares and server/libs
* port server/controllers/top-level
* port server/controllers/api-v3
* port views and tests
* client old port lodash and _(, missing _.
* upgrade client-old
* port common/script (root level files only)
* port common/script/fns
* port common/libs
* port common/script/ops
* port common/script/content and common/script/libs/shops.js
* misc fixes
* misc fixes
* misc fixes
* more tests fixes
* fix payments test stubbing, down to 2 failing tests
* remove more instances of lodash wrapping
* fix bug where toObject does not clone object
* fix tests
* upgrade migration or add lodash 4 note
* update shrinkwrap
* fix linting
* upgrade eslint-config-habitrpg
* update shrinkwrap
* recompile shrinkwrap
* chore(i18n): update locales
* Fixed lint issues with model in task services (#8523)
* ApiDoc Group (#8522)
* ApiDoc Group
* Remove space
* Add tags to default tasks (#8419)
* Add ability to add tags to default tasks
* fix missing semicolon
* fix nesting callbacks error
* Add tags to default tasks
* fix default tags
* Start test
* Finish test
* Fix tests
* Move test
* Fix padded-bock
* Fix test
* Fix request
* fix requests
* fix test
* fix lint
* Refine test
* Fix test
* Fix Test
* Fix tests
* Please work :(
* Fix stupid mistake
* Fix lint
* Fixes
* fix function
* fix lint
* fix lint
* Client/inventory WIP (#8527)
* some stable work and faster less recompilation
* user with zero tasks can use the app
* wip work to show loading status of resources
* revert changes to sync
* Client: Guilds Discovery (#8529)
* wip: add guilds discovery page
* add public guilds page
* fix and add tests for the groups utilities mixin
* Properly format a subscription end date according to user preference (#8514)
* Client: Guild page and mix changes (#8533)
* update deps
* add guilds page
* improve karma conf, add tests for actions
* Client: semantic ui -> bootstrap 4 and less -> scss (#8535)
* client: semantic ui -> bootstrap 4 and less -> scss
* start porting components to boostrap
* port header, start porting menu
* port loading screen
* port most of the menu
* port secondary menus
* port guilds and stable
* disable tavern for now, port inbox
* typo
* put back old tavern code
* fix: remove semanticui from gulpfile
* client: add some margin to the avatar
* Group plans subs to all (#8394)
* 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
* mongoose: upgrade to 4.8.6 and remove un-necessary _.clone calls now that toObject clones correctly
* config.json: do not enable APN by default
* Moved show counters to directive (#8537)
* Moved show counters to directive
- hide counters on challenge page
- hide counters on group page
* Changed let to var
* Tasks sort delete fix (#8526)
* Fixed task sorting
* Add sync when group task is deleted
* Added sync when user tasks reorder
* Abstracted show logic and removed task grouping from group page
* Fixed scope typo
* Localized the default challenge short name
* Removed default shortName
* Fixed test for challenge shortName
* client: router: always scroll to the top
* fix(sprites): adjust eggs (#8543)
* adjust apidocs comment to remove unnecessary id parameter with incorrect syntax
* Repeatables fixes (#8538)
* Prevented watch functions from being called when task._edit is removed
* Added start date support on the UI task summary
* Fixed setting of monthly and calculations
* Fixed linting issues
* Added check for existence
* Added existence check
* Ensured correct start date is used on update
* Hid repeat options from anything not a daily
* Added missing locales
* Moved repeatables out of advance options
* Minification fix hide features (#8544)
* Added minification fix
* Hid settings for features we will not release yet
* Hid repeatables UI
* Removed extra file
* Removed repeats every from weekly
* Added start date back
* Hid counter reset when advance is collpased
* Group migrations (#8528)
* Added create group migration
* Add migration for unlimited group subscription
* Add migration to update group members with group plans
* Added error catch
* Added comments
* Group plans copy changes (#8546)
* Added new message for when user has group plan
* Changed subscription wording to group plan
* Updated copy
* Jackalopes (#8547)
* feat(content): add Jackalope rare mount
* chore(news): Bailey for Group Plans
* fix(sprites): correct inconsistent file perms
* Group plans add mount (#8548)
* Added jakcalop mount to group plan members
* Changed pet assignment to mount
* Updated migration to not update canceled group plans (#8550)
* Send group plans subscription message to Slack (#8549)
* feat(Slack): send group plans sub message
* fix(Slack): grab more relevant user data
* 3.79.0
* chore(i18n): update locales
* chore(sprites): compile
* Added create group migration
* Add migration for unlimited group subscription
* Add migration to update group members with group plans
* Added error catch
* Added comments
* Added minification fix
* Hid settings for features we will not release yet
* Hid repeatables UI
* Removed extra file
* Removed repeats every from weekly
* Added start date back
* Hid counter reset when advance is collpased
* Prevented watch functions from being called when task._edit is removed
* Added start date support on the UI task summary
* Fixed setting of monthly and calculations
* Fixed linting issues
* Added check for existence
* Added existence check
* Ensured correct start date is used on update
* Hid repeat options from anything not a daily
* Added missing locales
* Moved repeatables out of advance options
* Fixed task sorting
* Add sync when group task is deleted
* Added sync when user tasks reorder
* Abstracted show logic and removed task grouping from group page
* Fixed scope typo
* Localized the default challenge short name
* Removed default shortName
* Fixed test for challenge shortName
* 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
* client: semantic ui -> bootstrap 4 and less -> scss
* start porting components to boostrap
* port header, start porting menu
* port loading screen
* port most of the menu
* port secondary menus
* port guilds and stable
* disable tavern for now, port inbox
* typo
* put back old tavern code
* some stable work and faster less recompilation
* user with zero tasks can use the app
* wip work to show loading status of resources
* revert changes to sync
* Added initial should do weekly tests
* Added support back in for days of the week and every x day
* Added better week day mapper
* Added initial monthly
* Added every x months
* Added yearlies
* Fixed every nth weekdy of month
* Fixed tests to check every x week on weekday
* Began combining x month with nth weekday
* Added every x month combined with date and weekday
* Fixed lint issues
* Saved moment-recurr to package.json
* Added new repeat fields
* Added UI for repeatables
* Ensured only dalies are affected by summary
* Added local strings
* Updated npm shrinkwrap
* Shared day map constant
* Updated shrinkwrap
* Added ui back
* Updated copy of test cases
* Added new translation strings
* Updated shrinkwrap
* Fixed broken test
* Made should do tests static for better consitency
* Fixed issue with no repeat
* Fixed line endings
* Added frequency enum values
* Fixed spacing
* Added setting and modal for score notes
* Added persistent score notes
* Fixed linting issues and documented new field
* Added max length to task score notes
* Added check for score notes existence
* Combined tasks perferences
* 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.
* Added support for grouping tasks by chllenge
* Fixed tests and updated default challenge model name
* Fixed broken member test
* Updated setting string
* Changed to shortName
* Began abstracting task grouping
* Added initial task directive code
* Added new directives to help with grouping of tasks
* Removed random console.log
* fix(nextRewardUnlocksIn): Check-in prize message was always plural -- moving to a non-sentence like structure to fix incorrect grammar.
* fix(countLeft): Check-in prize message was always plural -- moving to a non-sentence like structure to fix incorrect grammar.
* Clean version of PR 8175
The original PR for this was here:
https://github.com/HabitRPG/habitica/pull/8175
Unfortunately while fixing a conflict in tasks.json, I messed up the rebase and wound up pulling in too many commits and making a giant mess. Sorry. :P
* Fixing test failure
This test seems to occasionally start failing (another coder reported the same thing happening to them in the blacksmiths’ guild) because the order in which the tasks are created can sometimes not match the order in the array. So I have sorted the tasks array after creation by the task name to ensure a consistent ordering, and slightly reordered the expect statements to match.
* try to freeze content object
* deep freeze the content object, start to implement stable
* freeze at the /common level
* go back to freezing content only on the client
* use deep-frezze-strict to support phantomjs
* use own version of deepFreeze
* update comment about deepFreeze
- remove redundant link from footer's Company column (still exists in Community)
- change link to point directly to wiki page instead of to a wiki redirect for:
- static/features page ("3rd Party Tools" section)
- static/extensions redirection
* Moved Royal Purple to top of list, ordered other mounts from Spring to Winter
* Issue 8465, moved Royal Purple to top and arranged other pets/mounts from Spring-Winter
* Fixed whitespacing mistake from previous commit
* Magic Hatching Potions reordered by season
* Taking all equipped items into account when calculating attributes instead of just head, weapon, sheild, and armor. closes#8185
* Refactored the stat calculations a bit so that all stat calculations are handled in the same location in the same way to try and reduce duplicate logic.
This commit also adds a number of tests to test this new behavior.
* spelling fixes
* Support subscription payment through Google Play Store
* minor fixes to iap subscriptions
* Support subscription payment through Google Play Store
* minor fixes to iap subscriptions
* revert change to test
* add unit tests for google payments
* add integration tests for google payments
* change config formatting for play api
* fix typo in file name
* fix typo in example config
* Improve google payment tests
* fix linter errors
* Updating Tasks and Tags API Doc
* Update Tasks and Tag API Doc
added back * @apiUse ChallengeNotFound
* Update Tasks and Tag API Doc #8447
Corrected NotAuthorized errors to 401
* start migrating to bcrypt
* added method to convert the password to bcrypt when logging in, added method to compare password without knowing the hashing algorhytm, remove default
* travis: try to upgrade to container based infrastructure
* travis: add deps to build bcrypt.js
* travis: add deps to build bcrypt.js
* travis: add deps to build bcrypt.js
* travis: add deps to build bcrypt.js
* use bcryptjs until bcrypt can be installed on travis, see https://github.com/kelektiv/node.bcrypt.js/issues/476
* correct sha1 unit tests
* try different mongodb repo
* try without mognodb services
* try again with bcrypt
* disable request logging in travis
* migrate missing routes
* simplify code
* remove bcryptjs
* fix typo
* fix typo
* fix typo in comment
* add unit tests for new passwords utility emthods
* travis: back to old infrastructure, containers often have timeouts
* add integration test for passwordHashMethod
* update shrinkwrap
* clarify code and add comments
* add integration tests
* fix linting
* fix integration tests
* spells: searing brightness should not affect challenge tasks
* fixed other incorrect group vs challenge task exclusions
* fixed /tasks/clearCompletedTodos test
didn't account for the new group task
* fixed comment omission in tasks/clearCompletedTodos
* 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
* Moved amazon tests to folder
* Abstracted amazon payment code and added initial test
* Abstracted cancel and subscribe logic to amazon payment lib
* Added arg checks to checkout
* Added constants. Added more subscription test
* Added with arg checks to cancel
* Fixed linting issues
* Added integration tests for amazon subscribe cancel
* Added integration test for amazon checkout
* Added integration test for amazon subscribe
* Added coupon unit test
* Fixed lint
* Fixed minor test issue and changed header expectations
* Fixed line endings
* Moved critical hit calculation from _addPoints() to _calculateDelta(). Added user as an input argument to _calculateDelta() so for critical hit calculation
* Changed test to expect task value of 1.5 after critical hit
* Revert "Moved critical hit calculation from _addPoints() to _calculateDelta(). Added user as an input argument to _calculateDelta() so for critical hit calculation"
This reverts commit 51b8ab6498.
* Moved critical hit calculation to _changeTaskValue(). Use value stored in user._tmp.crit in _addPoints()
* Test is no longer affected by critical hits
* Removed unneeded comment
* Added WIP test of critical hits
* Want the crit function to return 2 to test critical hits
* Changed crit function to export as a function within an object so that it can be stubbed for testing. References to the crit() function were updated to call crit.crit() instead
* Added test for increased experience on critical hits
* 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
* Issue 8341 updating subscriber json and subscription settings page with gifting a subscription directions
* Issue-8341 updating the layout of the settings - subscription page
* Issue-8341 removing extra comma from gift subscription copy
* Issue-8341 removing extra spans in subscription jade file
This is being done to remove a redundant string that
contains an email address, in preparation for actioning
https://github.com/HabitRPG/habitica/issues/8385 ("Email addresses
should not probably be translatable")
* Added move route for group tasks
* Added group task reorder to front end
* Added syncing with group task order
* Fixed linting issues
* Added missing exec and abstracted move code
* Added unit test for moveTask
* Remove backdrop property from open modal call to allow click-outside to close, call cancelTaskEdit function on dismissal of edit modal via ESC or click-outside
* Remove commented out code, change catch function to normal (non-arrow)
* Modify task services test mock openModal function, to handle new use of subsequent promise resolution functionality
* Tidy old edit controls away
* Adding new method to user schema that pushes a new notification to the database with an update operation instead of a save. fixes#8264
* fixing test text
* changing the addUserNotificationUpdate method to a static method as requested.
* Renaming to push notification
* fixing comment documentation based on pr comments.
* Changed the update statement to do a multi update and added a validation step. Added tests for both these cases.
* Updating pushNotification method to allow a query to be passed instead of an array of userIds to make it more flexible.
* Removing createdAt field from tests as it's no longer used.
* Removing only from test suite
* fix: throws an error when the server receives a post chat request with a message containing only whitespace.
* Adding a test confirming behavior around messages that only contain newlines.
* Removing accidental only that was left on a test
* avoid setting profile name to not found
* only set profile name when empty
* profile.name is required
* set profile name before validation
* fix and add tests
* Added read me and Inbox Page
* Fixed inbox linting
* Added converstaion route
* Added temp data and style
* Added social page and nav
* Fixed Inbox routes
* Added basic layout for Tavern Page
* Improved docker, bower
* npm install missing mocha
* Fix for 'npm install -g npm@4' not resulting in a functional npm
* Improve speed of 'docker start' by withholding directories not used by image environment
* Reverting changes to bower.json
* adding quest owner specific rewards. closes#2715
* Updating model to prevent this from being a breaking change.
* Removing duplicate translatable string and readding accidentally deleted portion
* capitalizing according to pr.
* fixing according to comments on pr
* removing final mistakes
* fixing whitespace
* re-adding the onlyOwner field that got deleted when the index.js file was moved and fixed console errors.
* moving cleaning of empty obejct for quest owner updates into quest owner updates method
* Fixing so tests pass by updating variable name and removing unnecessary parameter definition.
* adding a new test and refactoring client side code to use controller method.
- 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
* transferGems: use receiver language translation for PM strings #7722
* chore(test): DRY up transfer gems test
* chore(test): Allow check for language in translation assertion
* chore(test): Add test that member locales are used in transfer gems msg
* sendMessage: optionally take also the message in sender's language
when present, it is stored in the sender's inbox instead of the version
in the target language.
* transferGems: prepare pm in both languages #7722
* sendMessage: take an object for the second parameter instead
* payments: made two more gift strings translatable
* buyGems: send both translations for gifted gems
* buyGems: send push notifications in target user's locale
* createSubscription: send both translations for gifted subs
* createSubscription: send push notifications in target user's locale
* transferGems: send push notifications in target user's locale
* tests: adjust payment tests for translation changes
* added function doc for sendMessage
* tests: added bilingual test for buyGems
* feature: updating group.removeMember api to send an email to a user when an invite was rescinded or when no message was provided by the performing user.
* Adding validation that the email is being sent to the right user.
* fixing linting error
* Adding the unopened mystery items to the call to get not obtained subscriber items. closes#7712
* refactoring according to pr
* Refactoring according to pr. moved time-travelers to it's own file and added new tests.
* 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
* upgrade node to version 6
* upgrade npm to v4
* update shrinkwrap
* use npm 4 in travis
* use mongoose 4.6.4
* update shrinkwrap
* fix async test and upgrade mongoose
* fix amazon test
* remove debugging code
* working tests with separate server
* update coupon code
* mupdate mongoose
* nvm: relax node version in .nvmrc
* fix: confirm no user objects reference a group before deleting it when the member count reaches 0
* Updating mongo queries to return promises and use the select statement.
* Implementing retries on failed user updates when finishing a quest. fixes#8035
* Refactoring mongo db retries to use the same as code path as original call and moving retries to count based over time based.
* Adding tests for retry logic and updating retries to happen recursively
* Moving callbacks to promises and other tweaks according to pr.
* Chaging mongoose promise to use .catch() functionality
* If all retries fail, the system will now throw an error instead of returning an error message.
* 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.
* Send a message to the party chat when a quest is aborted
* Added test cases for sending a message to party when quest is aborted
* Restore Group.prototype.sendChat after aborted quest test
* Add localization strings
* Change name of Equipment section
* Add costume section to member modal
* Add costume section to member modal
* Add current pet and current mount info
* Reorder Sections and Separate Active Mounts/Pets
* switch ng-show with ng-if
* Add `noActiveMount` to pets.json
* Breaking Stuff
* Add petservices.js to the manifest
* Remove Extra Parenthesis
* Progress towards backgrounds
* Add semicolons
* Add background information
* Add all methods in petServices to userCtrl and memberModalCtrl
* Add avatar settings
* Add semicolons
* Revert "Add avatar settings"
This reverts commit 6e8cca9736.
* Remove active-pet-and-mount
* Remove Content from memberModalCtrl
* Update costumeServices.js
* Make costumeservices.js more readable
* Update costumeServices.js
* Update costumeService logic
* Remove unused strings
* Fix include statements
* move service
* Update pet/mount logic
* fixes
* Fix background logic
* initial work
* new client: working navigation and tasks showing up
* finish header menu and add avatar component
* fix sprites in new client
* initial header version
* initial styling for top menu
* more progress on the header menu
* almost complete menu and avatar
* correctly apply active class for /social and /help
* fix header colors and simplify css
* switch from Roboto to native fonts
* remove small avatar and add viewport
* fixes
* fix user menu with and progress bars
* fix avatar rendeting
* move bars colors to theme
* add site overrides
* fix tests
* shrinkwrap
* fix sprites path
* another try at fixing the sprites path
* another try at fixing the sprites path
* Added party sync and request sync events
* Changed party member sync to be handled locally
* Optimized assignment to only use member variables
* Removed party sync event
This test seems to occasionally start failing (another coder reported the same thing happening to them in the blacksmiths’ guild) because the order in which the tasks are created can sometimes not match the order in the array. So I have sorted the tasks array after creation by the task name to ensure a consistent ordering, and slightly reordered the expect statements to match.
I haven't pluralised this by using "month(s)", because the phrase "a 3 month subscription" is acceptable in English. Translators may use pluralisation as desired, although note that the same wording will be used for 1 month subscriptions.
* 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
* change food to normal; add variables to choose type of food; add canBuy, canDrop to cake
* reinstate ability to control canBuy and canDrop separately
* 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
* Only unequip Gen 1 pets/mounts when releasing pets/mounts
* Changed mount declaration to match releasePets
* Check if a pet/mount is a drop type instead of checking for its name in the list of pets
* Changed references to pet and mount to petInfo and mountInfo for consistency with releasePets and releaseMounts
* Test that releasePets, releaseMounts, and releaseBoth do not unequip quest pets
* Fixed test names, and tests verify that a pet/mount is/is not a drop pet/mount on release
* Removed unneeded comments
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
Notifications of other things (HP, GP, etc) have a regular format of
"+/- NUM THING". For example:
function gp(val, bonus) {
_notify(_sign(val) + " " + coins(val - bonus), 'gp');
}
However, the recent quest collection/damage notifications do not. This
attempts to regularize the reporting by adding in the "missing" space.
Signed-off-by: Kees Cook <kees@outflux.net>
* 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
* fix(subscriptions): round up months
* fix(subscriptions): resub improvements
Don't allow negative extraMonths; flatten new Dates to YYYYMMDD
* fix(subscriptions): remove resub Gems exploit
Also standardizes some uses of new Date() to remove potential race condition oddities.
* fix(subscriptions): bump consecutive months...
...even if the user didn't log in then, if subscription has been continuous through that period
* test(subscriptions): cover fix cases
Also refactor: use constant for YYYY-MM format
* refactor(subscriptions): don't stringify moments
* 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
The mis-formatting of the variable was causing an error when when a user tried to use the "forgot password" feature.
The Linguists have been informed of the need to fix the string in Transifex.
* refactor: Move translate test utility to helpers directory
* Add kind property to webhooks
* feat: Add options to create webhook route
* refactor: Move webhook ops into single file
* refactor: Create webhook objects for specific webhook behavior
* chore(tests): Add default sleep helper value of 1 second
* feat(api): Add method for groups to send out webhook
* feat(api): Add taskCreated webhook task creation
* feat(api): Send chat webhooks after a chat is sent
* refactor: Move webhook routes to own controller
* lint: Correct linting errors
* fix(api): Correct taskCreated webhook method
* fix(api): Fix webhook logging to only log when there is an error
* fix: Update groupChatRecieved webhook creation
* chore: Add integration tests for webhooks
* fix: Set webhook creation response to 201
* fix: Correct how task scored webhook data is sent
* Revert group chat recieved webhook to only support one group
* Remove quest activity option for webhooks
* feat: Send webhook for each task created
* feat: Allow webhooks without a type to default to taskScored
* feat: Add logic for adding ids to webhook
* feat: optimize webhook url check by shortcircuiting if no url is passed
* refactor: Use full name for webhook variable
* feat: Add missing params to client webhook
* lint: Add missing semicolon
* chore(tests): Fix inccorect webhook tests
* chore: Add migration to update task scored webhooks
* feat: Allow default value of webhook add route to be enabled
* chore: Update webhook documentation
* chore: Remove special handling for v2
* refactor: adjust addComputedStatsToJSONObject to work for webhooks
* refactor: combine taskScored and taskActivity webhooks
* feat(api): Add task activity to task update and delete routes
* chore: Change references to taskScored to taskActivity
* fix: Correct stats object being passed in for transform
* chore: Remove extra line break
* fix: Pass in the language to use for the translations
* refactor(api): Move webhooks from user.preferences.webhooks to user.webhooks
* chore: Update migration to set webhook array
* lint: Correct brace spacing
* chore: convert webhook lib to use user.webhooks
* refactor(api): Consolidate filters
* chore: clarify migration instructions
* fix(test): Correct user creation in user anonymized tests
* chore: add test that webhooks cannot be updated via PUT /user
* refactor: Simplify default webhook id value
* refactor(client): Push newly created webhook instead of doing a sync
* chore(test): Add test file for webhook model
* refactor: Remove webhook validation
* refactor: Remove need for watch on webhooks
* refactor(client): Update webhooks object without syncing
* chore: update webhook documentation
* Fix migrations issues
* chore: remove v2 test helper
* fix(api): Provide webhook type in task scored webhook
* fix(client): Fix webhook deletion appearing to delete all webhooks
* feat(api): add optional label field for webhooks
* feat: provide empty string as default for webhook label
* chore: Update webhook migration
* chore: update webhook migration name
* vue: use our own store in place of vuex
* vue store: add getters, watcher and use internal vue instance
* vue store: better state getter and credits to Vuex
* vue store: $watch -> watch
* vuex store: pass store to getters and fix typos
* add comments to store, start writing tests
* fix unit tests and add missing ones
* cleanup components, add less folder, fetch tassks
* use Vuex helpers
* pin vuex version
* move semantic-ui theme to assets/less, keep website/build empty but in git
* import helpers from vuex
* Start adding google login
* fix local js issue
* implement syntax suggestions
* fix delete social tests
* Add service for authentication alerts
* fix social login tests
* make suggested google sign in changes
* fix accidentally deleted code
* refactor social network sign in
* fix incorrect find
* implement suggested google sign in changes
* fix(tests): Inject fake Auth module for auth controller
* fix(test): prevent social service from causing page reload
* fix loading user info
* Use lodash's implimentation of find for IE compatibility
* chore: increase test coverage around deletion route
* chore: clean up social auth test
* chore: Fix social login tests
* remove profile from login scope
* fix(api): Allow social accounts to deregister as user has auth backup
* temporarily disable google login button
* wip: vuex structure
* add missing files
* client: do not fail dev build on eslint error
* eslint does not block compilation, mount app when data is ready
* eslintrc.js -> eslintrc
* feat(event): begin Fall Festival 2016
* feat(event): Seasonal Shop Fall 2016
* fix(test): season specific food
* chore(news): add Bailey
* fix(season): correct Sorceress & timetrav
* add vuex, cleanup client directory and create example components
* disale sample unit test
* disable import for non existing file
* correct regexp for unit tests, add simple test to avoid error, add babel-polyfill for Vuex
* add line wrongly removed, update regexp
* Updating a task now sends only data that's actually needed (Fixes#7846)
Updating a task with a huge history lead to 'request entity too large' errors since the client attempted to send all data associated with a task, regardless of whether that data could be changed or not. With this change, the post request is now omitting the following fields:
challenge
completed
createdAt
group
history
id
reminders
tags
type
updatedAt
userId
* Changes according to review (use _.omit)
* add files for new client side and reorg gulp tasks
* add deps and script for new client
* fix webpack paths so that building works
* fix static assets not copied into prod build
* fix linting
* add eslint deps and re-enable it in webpack
* add most missing deps for client side and split .babelrc for client
* reorganize .eslintignore
* update client tests paths and .gitignore
* uncomment code
* client: move App component
* client: update oaths in App component
* fix client tests and add more deps
* add client side tests to npm test
* fix typo in depencency name
* update more deps
* fix karma.conf.js and upgrade phantomjs
* fix dep and move karma.conf to subdirectory
* update karma.conf.js position in Gruntfile
* try downgrading phantomjs
* Fixup client tests (#8032)
* Use phantom 2
* fix(tests): Fix refresher test
* gitignore translation mock
* Update karma version
* disable e2e tests for new client from build
* write vue templates with pug
* add basic routing
* remove unnecessary Function.bind shim
* remove unused dependency
* making an api chnage so the seasonal shop will only return items that the user has never owned instead of all items the user doesn't currently own
* fixing commit so shop doesn't show already owned items
* recommenting out seasonal shop message as it's currently closed
* separate stats and achievs tabs, move 'enable class system' button to stats
* move stats layout stuff from profile.jade to stats.jade
* shuffle stats page into more columns
* separate stats and achievs in expandable navbar submenus
* add multiple options for stats.jade: col1, col2, all; fixes weirdly crowded members modal
* make stats and achievs strings consistent
* remove mobile checks in profile.jade
* fix merge issue
* fixes the commit that shows actual task values when task edit is canceled.
This reverts commit 3d64f2b849.
* removing _edit references from fields of a task that can't change and are always set
* removing _edit from task.type as type cannot change while editing.
* Addressing comments by blade
* starting
* adding tests to prove the expected behavior occurs around force starting a quest. part of #7653
* fixing up tests and adding functionality to remove user from quest if they are not in the questing party
* adding code to handle when the user is deleted and added a test around that situation
* fixing up comments
* Updated collection quest tests for no found items.
Single-item quests state [user] found no [items]. instead of [user] found nothing. If a
quest has two items, the chat message is [user] found no [item1] and no [item2].
* Collection quest messages changed from [user] found nothing to [user] found no [item]
* Tests for no collection quest items found changed to [user] found 0 [item1], 0 [item2]
* Changed chat messages for no found collection quest items to [user] found 0 [item1], 0 [item2]
* Sort items alphabetically in multi-item quests so that it always returns the same string
* Formatting updates to conform to test specifications (for collection quest progress reports with no items found
* Simplified handling of items not found: any items not found are added to the list of found items with quantity 0 for reporting in the group chat. This also causes all items to appear, in the list, even if only one type is found in a multi-item quest.
* Test the group chat message when no items are found in multi-item quests. Test succes no longer depends on the order items are listed.
* Avatar model can be set to have eyes open, eyes shut, or left to default by specifying the sleep parameter in generatedAvatar to be false, true, or null (respectively).
* Explicitly check true and false and switched to using triple equals for equality comparisons for avatar sleep setting.
* fix: correct translation strings for pet/mount names
* chore: expose potion and egg key, not object in pet content api
* fix: Update feed route to use potion and egg objects
* refactor: Update feed route to use petInfo
* Use pet/mount text method for name
* correct feed route
* Pull out animal content into separate files
* Correct variable names
* Add tests for stable, eggs, and hatching potions content
* Add content test back into npm test
* add tests for beastMaster, mountMaster, and triadBingo achievements
* add tests for challengeWon, streak, ultimateGear, rebirth, and contributor achievements
* add achievement service that has openModal function
* achievement test pass again
* fix indentation, rename openModal to more descriptive displayAchievement
* add unit tests for achievements service
* initialize user.preferences.suppressModals in specHelper.newUser
* update achievement tests to account for new notification service
* add new achievementServices file to manifest.json
* fix tests
* award wonChallenge achiev like other achievs
* differentiate between small and normal achiev modals
* refactor achievementService.displayAchievement() to take options param
* Fixes#7933
Changes
Default tags changed to
- "Work"
- "Exercise"
- "Health + Wellness"
- "School"
- "Teams"
- "Chores"
- "Creativity"
Changes made only to the en and en_GB locales
UUID: 30983c37-52c3-415d-977c-38af6c7db91c
* Reverting changes to en_GB locale
* Reverting format change
* Added initial code for creating and reading group tasks
* Separated group task routes. Separated shared task functions
* Added taskOrder to group
* Minor style fixes
* Fixed lint issues
* Added unit tests for task manager
* Updated task helper functions
* Fixed history test
* Fixed group task query
* Removed extra var
* Updated with new file structure
* Updated noset values
* Removed unecessary undefineds, fixed comments, Added apiignore
* Separated group task routes. Separated shared task functions
* Added unit tests for task manager
* Added initial groups assign route and tests
* Added sync assigned task to user
* Added unassign route and unlink method
* Added remove and unlink group task
* Updated linking and unlinking. Add test for updating task info
* Added delete group task and tests
* Added sync on task update and tests
* Added multiple users assignment
* Updated unassign for multiple users
* Added test for delete task with multiple assigend users
* Added update task for multiple assigned users
* Fixed issue with get tasks
* Abstracted syncable attributes and add tests
* Fixed merge conflicts
* Fixed style issues, limited group query fields, and added await
* Fixed group fields needed. Removed api v2 code
* Fixed style issues
* Moved group field under group sub document. Updated tests. Fixed other broken tests
* Renamed linkedTaskId and fixed broken alias tests
* Added debug middleware to new routes
* Fixed debug middleware import
* Added additional user id check for original group tasks
* Updated challenge task check to look for challenge id
* Added checklist sync fix
* Update faq.json line - description of mechanic outdated
Changed
<---Tap on a Pet, and then select \"Feed Pet\"!
--->Click on a type of food, and then select the pet you want to feed!
because clicking on the pet first does not work anymore, clicking on the pet first selects it for use.
As described by MeikeMertsch here: https://www.transifex.com/habitrpg/habitrpg/translate/#de/faqjson/60117132
* Update faq.json
* Allowing the flagging of messages that were written by user accounts that have since been deleted
* replacing ternary operator with else if, else paradigm
* formatting fixes
* fixing message in tests
* throw a 401 error if user tries to update his/her email to an email that exists already
* Make error message generic so we don't violate users' privacy. Added test case.
* Syntax fixes
* select only the _id field when searching for users with the same email. Return found document as javascript object.
* add basic party loading message code; doesn't work yet
* fixup party loading messages, remove rpg-style messages
* move party-loading messages back into groups.json
* party-loading message logic returns a string instead of a number
* Align guild gems box with other page elements
Fixes#7796.
* Fix issues caused by aligning guild gems box
* Remove unnecessary comment
* Connect gem total box and plus/add gems button
When the add gems button is displayed, set border-radius on touching
corners between the two buttons to 0, so that they are displayed as a
unit rather than two separate buttons.
* making requests to accept or reject a request fail because the invite is invalid clear the invite from the user so it doesn't require admin intervention. part of #7653
* Adding await
* api: return computed stats for members responses
* add integration tests for computed stats
* add unit tests for computed stats
* clarify test name
* add missing query parameter to test case
* reset test database before running API tests for the Hall
* feat(migrations): Naming Day and Take This
* fix(migration): more goodies, better query
* fix(migration): query in wrong migration
* fix(migration): don't award goodies repeatedly
* fix(migrations): move logic to query
* fix(migrations): better field lookup
* fix(migrations): use timeouts
* voluntarily leaving a party removes the user from the quest the party is involved in. part of #7653
* addressing pr comments, removing lodash dependency and unecessary comment
* using the existing update object instead of group.save to avoid duplicate behavior
* finalizing tests
* Add API call for market inventory
* changes to shop api calls
* optimize shop categories
* add API call for quests
* add api call for time travelers shop
* fic buying items in shops
* fix linting errors
* shop adjustments for iOS app
* add tests to shops
* fix syntax issues
* Code formatting
* correct indentation
* add tests for api routes
* fix time travelers and seasonal
* Increase test coverage for shop routes
* refactor: Pull out trinket count in time traveler route
* refactor: Clarify instructions for seasonal shop script
* lint: Remove extra new line
* Adjust shops common test
* add new "allCompletedTodos" option to API for returning all completed To-Dos at once - fixes#7301
* make minor fixes to allCompletedTodos option
* change allCompletedTodos option to _allCompletedTodos and add a BETA comment
* feat(content): Armoire and BGs 2016-07
* fix(backgrounds): resize Dilatory Castle
Also fixes a long-overlooked issue where the Egg Hunt quest remained available long after its event ended.
* feat(realtime-chat): add Pusher library to the server
* feat(realtime-chat): only for private groups
* feat(realtime-chat): add authentication endpoint for Pusher
* feat(realtime-chat): client proof of concept
* fix typo in apidoc
* feat(realtime-chat): redo authentication and write integration tests
* remove firebase code
* fix client side tests
* fix line ending in bower.json
* feat(realtime chat): use presence channels for parties, send events & disconnect clients if user leaves or is removed from party, automatically update UI
* pusher: enable all events in the background
* fix pusher integration tests
Documentation included the chatId in the url, but the api does not use it. Adding the chatId will cause a 404 error. The api marks all chats in the guild as read; not individual chats.
closes#7742
* Accounting for class bonus when sorting equipment by stats. closes#7701
* Fixing unintended impact on last page and including special classes
* Addressing comments
* Fix Social Push notifications
* Fix code formatting issues
* Fix commented issues
* Fix Syntax errors
* update push notify dependency
* specify push-notify version
* change how apn key is loaded
* feat(push-notifications): improve logging
* feat(push-notifications): disable v2 push notifications
* test(push-notifications): add unit tests and improve integration ones
* fix(push-notifications): throw when required params are missing
* fix(tests): correct descriptions and remove wrong comment
* fix(push-notifications): trim APN key
* fix(apn): log feedback only if it has data
* fix(apn): load cert and key differently
* fix(tests): correctly load apn during tests
* download creds from S3 and create AWS lib
* convert s3 buffer to a string
* fix(apn): remove console.log and do not use cert twice
* invert key and cert, disable failing test
* invert key and cert
* fix(auth): correctly redirect to logout page if localstorage is corrupted
* fix(auth): do not break site if localStorage has invalid JSON
* fix(karma): use $window instead of windo
* disable failing karma tests
* fix(tests): Provide mockwindow for tests
* fix(tests): Call habitrpgShared without $window
Replaces the Pirate Cove with the Guild Leaders & Challenge Creators Guild.
Describes backgrounds as connecting instead of tiling.
Makes capitalisation of various words consistent.
Closes#7636Closes#7651
This commit creates a new button on the equipment page that allows the user to group their equipment type (body location) instead of simply by class.
* send email when admin unflags post
* Improved email acquisition code, minor changes to sent email
* Refactor getGoupUrl into its own method
* added unit test for getGroupUrl
* improved test and getGroupUrl
* move remaining files frm /common/script/public to website/public
* remove localstorage
* add back noscript template and put all javascript in the footer
* fixes client side tests
* remove double quotes where possible
* simplify jade code and add tests for buildManifest
* loading page with logo and spinner
* better loading screen in landscape mode
* icon on top of text logo
* wip: user.notifications
* notifications: simpler and working code
* finish implementing notifications
* correct loading screen css and re-inline images
* add tests for user notifications
* split User model in multiple files
* remove old comment about missing .catch()
* correctly setup hooks and methods for User model. Cleanup localstorage
* include UserNotificationsService in static page js and split loading-screen css in its own file
* add cron notification and misc fixes
* remove console.log
* fix tests
* fix multiple notifications
* WIP(drops): get drops out of _tmp
* fix(notifications): no watch for drops/mystery
* fix(ops): only two response values
* fix(test): update op expectation
Also update API docs for modified route.
* fix(lint): remove trailing space
* fix(test): update integration check
Tag removal functionality was broken. Turns out the issue was simply
that we weren't removing the tag from the local `task` object, so the
tag was removed, but readded upon sync/pressing save.
Closes#7412
* Updated logic to not assign armoire incorrectly
* Updated test and added new test to ensure armorie is not enabled prematurely.
* Fixed linting issue
* Removed toObject from being called when called on the server
Updates the style of the herobox to use the default cursor on this page instead of the pointer cursor that is defaulted by the hero-box class.
This is in relation to: https://github.com/HabitRPG/habitrpg/issues/7066
2016-04-12 16:41:00 -07:00
10017 changed files with 317672 additions and 158614 deletions
[//]: # (Before logging this issue, look through common problems at https://github.com/HabitRPG/habitrpg/issue If you find your issue there, read at least the first post to see if there is a workaround for you)
[//]: # (Before logging this issue, please post to the Report a Bug guild from the Habitica website's Help menu. Most bugs can be handled quickly there. If a GitHub issue is needed, you will be advised of that by a moderator or staff member -- a player with a dark blue or purple name. It is recommended that you don't create a new issue unless advised to.)
[//]: # (Github is primarily used for reporting bugs. If you have a feature request, use "Help > Request a Feature" so that the feature request can be vetted by the larger Habitica community)
[//]: # (Bugs in the mobile apps can also be reported there.)
[//]: # (To report a bug in one of the mobile apps, please report it in the correct repository. Android: https://github.com/HabitRPG/habitrpg-android, iOS: https://github.com/HabitRPG/habitrpg-ios)
[//]: # (If you have a feature request, use "Help > Request a Feature", not GitHub or the Report a Bug guild.)
[//]: # (For more guidelines see https://github.com/HabitRPG/habitrpg/issues/2760)
[//]: # (For more guidelines see https://github.com/HabitRPG/habitica/issues/2760)
[//]: # (Fill out relevant information - UUID is found in Settings -> API)
General Info
### General Info
* UUID:
* Browser:
* OS:
### Description
[//]: # (Describe bug in detail here. Include pictures if helpful.)
[//]: # (Describe bug in detail here. Include screenshots if helpful.)
#### Console Errors
[//]: # (Include any JavaScript console errors here.)
[Habitica](https://habitica.com) 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 [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica#Coders_.28Web_.26_Mobile.29) - "Coders (Web & Mobile)" section.
For an introduction to the technologies used and how the software is organized, refer to [Guidance for Blacksmiths](http://habitica.wikia.com/wiki/Guidance_for_Blacksmiths).
To set up a local install of Habitica for development and testing, see [Setting up Habitica Locally](http://habitica.wikia.com/wiki/Setting_up_Habitica_Locally), which contains instructions for Windows, *nix / Mac OS, and Vagrant.
To set up a local install of Habitica for development and testing on various platforms, see [Setting up Habitica Locally](http://habitica.wikia.com/wiki/Setting_up_Habitica_Locally).
Then read [Guidance for Blacksmiths](http://habitica.wikia.com/wiki/Guidance_for_Blacksmiths) for additional instructions and useful tips.
## Debug Scripts
In the `./debug-scripts/` folder, there are a few files. Here's a sample:
```bash
grant-all-equipment.js
grant-all-mounts.js
grant-all-pets.js
```
You can run them by doing:
```bash
node debug-scripts/name-of-script.js
```
If there are more arguments required to make the script work, it will print out the usage and an explanation of what the script does.
Shared resources useful for the multiple Habitica repositories, that way all the repositories remain in-sync with common characteristics. Includes things like:
* Assets - sprites, images, etc
* CSS - especially, esp. sprite-sheet mapping
* Algorithms - level up algorithm, scoring functions, etc
* View helper functions that may come in handy for multiple client MVCs
* Item definitions - weapons, armor, pets
## Compiling spritesheets
Because of some wonkiness with Heroku, the spritesheet compilation is not part of the production build process and must be done manually when new images are added by running:
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.