* reposition FlyingPigs and Hydra
* hide count-badge if 0
* fix sortBy hatchable (ignore already hatched pets)
* always show animal name
* featuredItems, use shopItem objects
* fix egg / potion names in market
* buyModals: check for price, mark it if not enough available / change buy-button opacity / show purchaseGems button
* save itemRows open/collapsed state during session, refactor itemRows for some more performance
* pin featured items
* show bordered items in market buyModal
* fix popover margins / paddings
* position pinned items popovers to the left
* sort equipment by stats: highest first
* spelling fix: excercise > exercise
* change wording for login link on register screen
* remove incorrect Items heading from Quests Shop
* fix missing "Recovery + Support Groups" guild category text and remove whitespace from keys
* fix text for guildInformationPlaceHolder
* add an Earnable Quests group for Basi-List and Dust Bunnnies
This allows Basi-List and Dust Bunnies to be automatically placed
in their own group on the Quests Shop page in the new client.
* adjust name of Vice and Recidivate quest groups
* toggle pinned state of items server + client
* pin quests / add pin src
* add officially pinned items and api to get in app rewards
* update schema and get items deatils
* update pin actions to the new logic
* show countBadge only with a number
* extract getPinKey - pin seasonal items
* togglePinned in buy-dialogs
* add pinKey to shop items
* wip
* wip
* fix path
* togglePinnedItem as common.op / use in client
* fix linting
* pinning: getItemInfo and save in db path and type
* make api more consistent, fix bugs
* updates
* fix bugs
* update actions to current api
* marketGear
* change to pinType
* add mystery_set to getItemInfo
* fix isPinned
* ignore animals
* list shopItems (initial)
* shopItem now has default popoverconent, itemclass and price / currency - list pinned items as rewards - attributes to gear
* show buyModal for the rewards
* show mystery_set icon
* add info whether item is suggested
* write migration, fix style issues
* pin potion and armoire
* make potion, armoire not unpinnable
* show notes for armoire and potion, add default items for new users
* show unpin notification
* add/remove pinned gear on class-change
* remove pinned & add new gear on purchase - refactoring pinning methods - fixes
* always allow to purchase armoire
* highlight item if suggested
* highlight egg on dragging a potion - hide popover while dragging - flat show more button
* Show EquipGearModal on Item-Click - misc fixes
* disable dragging
* hide egg notes while dragging
* rename headgear to helm
* sort equipment by name & attributes
* set welcome-dialog flag
* show feeding notification
* select animals on click
* add hatchable popover back
* fix stable sortby A-Z
* remove property brackets
* Added api token to page
* Fixed wiki link
* Added categoires
* Removed extra create challenge button. Add prize model and user balance deduction
* Added pending filter
* Added member sort
* Added confirmation for leaving
* Filtered tavern
* Added redirect to newly created guild
* Made guild links routerlinks
* Fixed wiki link and added fetch recent messages
* Show backgrounds only on edit. Fixed glasses equip
* Added link to register page
* Added yesterdailies
* Added achievement footer
* Update guild badges
* Added avatar to achievement avatar component
* More guild crests updates
* Achievement footer and avatar added
* Added notification read
* Removed duplicate string
* tasks hover state
* hide column background if task too close
* wip edit tasks
* wip: replace tags
* upgrade bootstrap-vue and fix creare btn for tasks
* difficulty options colors and active label fixes
* fix tags
* change quest banner backgrond
* itemRows in inventory
* use itemRows in inventory/items - showLess/showMore as default labels - extend white space if theres no button available
* hide popover if dragging is active - show dragging info on first click (without to move)
* use itemRows in inventory/stable
* fix some strings
* highlight currently dragging item in inventory/items - auto attach info on click - z-index
* fix shopItem label color
* fix floating npcs in banner
* hatched-pet-dialog in items / stable
* change all ctx to context
* wip: add task scoring and persist checklist items
* remove unused files, fix checklist scoring and start adding support for groups tasks
* amke group and challenge tasks not scoreable
* Removed sticky header
* Fixed group desc and information
* Add flag modal
* Fixed chat sync errors
* Fixed balance display
* Fixed key and close issue
* Updated tavern placeholder
* Added and fixed links
* Removed open user modal from clicking menu
* Added better app loading check
* Removed banner from party
* Allowed for nav when clicking the card
* Fixed member display
* Updated create challenge modal to populate list and to create party/public
* Display members modal
* Added fetch recent messages
* fix filter button style
* display completed todos
* fix reward control position
* begin to add edit modal
* start adding settings to edit modal
* add task saving, creating and deleting
* fixes
* add tags and repeat frequency for habits
* clicking on links should not open the edit modal
* checklist editing
* repeatables and checklists
* delete checklist items
* add rewards price
* update shrinkwrap
* pin cwait
* initial quests.vue - refactorings - add group to quests
* shows quests by quest-group
* buyQuestModal with rewards sidebar
* store / actions to load seasonal/time-travelers shop data
* buyModal buyPressed instead of buyAction - seasonal shop categories now with specialClass property - seasonal shop
* time travelers vue - show hourglass in shopItem / buyDialog - fix banners
* cleanup
* show amount of already owned quests
* show html notes in popovers / dialog
* extract purchase-api to common.ops.purchaseWithSpell to call the same in the store / update the UI on purchases
* add time-travelers sprites
* fix lint
* add last mystery set images
* remove unused Page
* remove equipment from newClient.json
* initial market - routing - store - load market data
* move drawer/drawerSlider / count/star badge to components/ui
* filter market categories
* shopItem with gem / gold
* show count of purchable items
* show count of purchable itemsshow drawer with currently owned items + DrawerHeaderTabs-Component
* show featured gear
* show Gear - filter by class - sort by (type, price, stats) - sort market items
* Component: ItemRows - shows only the max items in one row (depending on the available width)
* Sell Dialog + Balance Component
* generic buy-dialog / attributes grid with highlight
* buyItem - hide already owned gear
* filter: hide locked/pinned - lock items if not enough gold
* API: Sell multiple items
* show avatar in buy-equipment-dialog with changed gear
* market banner
* misc fixes
* filter by text
* pin/unpin gear store actions
* Sell API: amount as query-parameter
* Update user.js
* fixes
* fix sell api amount test
* add back stroke/fill currentColor
* use scss variables
* Moved static files over to new client
* Added statics, fixed translations and update styles
* More style and vue fixes
* Fixed line endings
* Fixed new stuff converasion and help links
* Changed files to fix Bug 7958:
- website/client-old/.../userCtrl.js#38: removed to keep inventory constant
- website/common/.../changeClass.js#33: removed to stop 'classes' introduction
* Adjustments following Bug Review
- Removed remaining 'foundKey' logic
- Adjusted test logic to reflect feature change
* Reverting userCtrl.js to development version
- Reintroduces "classes" Guide tour
* New version of Fixes#7958
- Changed logic to only notify user the first time they choose a class
- Changed message to represent this change in logic
- #LINT: Cleaned interface for changing class
- New method: enableClasses() -- because, really, should we be calling User.changeClass({}) from the UX?
- New method: payForNewClass() -- handles prompting the user to confirm that they want to change class
* Remove new User Flag, use flags.tour.classes
* Whoopsie. Fix PR conflict.
* Changed files to fix Bug 7958:
- website/client-old/.../userCtrl.js#38: removed to keep inventory constant
- website/common/.../changeClass.js#33: removed to stop 'classes' introduction
* Adjustments following Bug Review
- Removed remaining 'foundKey' logic
- Adjusted test logic to reflect feature change
* Reverting userCtrl.js to development version
- Reintroduces "classes" Guide tour
* New version of Fixes#7958
- Changed logic to only notify user the first time they choose a class
- Changed message to represent this change in logic
- #LINT: Cleaned interface for changing class
- New method: enableClasses() -- because, really, should we be calling User.changeClass({}) from the UX?
- New method: payForNewClass() -- handles prompting the user to confirm that they want to change class
* Remove new User Flag, use flags.tour.classes
* Whoopsie. Fix PR conflict.
* Removed Extraneous Flag
* Removed Extraneous Flag
* Changed files to fix Bug 7958:
- website/client-old/.../userCtrl.js#38: removed to keep inventory constant
- website/common/.../changeClass.js#33: removed to stop 'classes' introduction
* New version of Fixes#7958
- Changed logic to only notify user the first time they choose a class
- Changed message to represent this change in logic
- #LINT: Cleaned interface for changing class
- New method: enableClasses() -- because, really, should we be calling User.changeClass({}) from the UX?
- New method: payForNewClass() -- handles prompting the user to confirm that they want to change class
Remove new User Flag, use flags.tour.classes
Whoopsie. Fix PR conflict.
Removed Extraneous Flag
* Fixes handling architecture change
* Updates following Review 20170418-0602
* Remove cause of mocha/no-exclusive-tests lint failure
* (server) Add parties array to store invites
* (server) Lint files
* Update joinGroup, rejectGroupInvite, _inviteByUUID, and remove clearPartyInvitation.js
* Update user schema: detailed 'invitations.parties' attributes
* Code improvement and do not let invite twice
* Check if the user is already invited earlier in the code
* Added message to invitation page, and show all invitations
* Added join party confirmation alert
* Small fixes
* Created test: allow inviting a user to 2 different parties
* Updated tests
* Update invitations.parties on more places
* Small adjustments
* Updates on invitations.party references
* Show all invitations when user is already in a party
* Fixed notifications counter
* Update both 'party' and 'parties' at _handleGroupInvitation
* Updated a test
* Fixed small mistake at _handleGroupInvitation
* More test update
* Update invitation.party when removing single invite and small adjust at view
* Added text to locale
* Added achievement to content and libs
* Added achievement modal
* Added achievement to notification model and controller
* Added achievement to user schema
* Grant achievement to inviter when user registers using emailed link
* Fix icon name
* Added integration test
* Fix linting
* Added sprite
* Initial psuedo-code for checking for slurs in messages
* Initial working prototype for blocking posting of slurs. Moved check from group.js to the chat api. Still needs: to permanently revoke chat privileges, to notify the moderators, a better method for checking for the blacklisted words, and a way to get the real list of words to check.
* Permanently revoke chat privileges when attempting to post a slur.
* Removed console logs
* Fixing rebase
* Do not moderate private groups
* Moved slur check to a generic check for banned words function
* Moved list of slurs to a separate file, fixed misplacement of return in ContainsBannedWords() function
* Slurs are blocked in both public and private groups
* Added code to send a slack message for slurs
* Fixed formatting issues
* Incorporated tectContainsBannedWords() function from PR 8197, added an argument to specify the list of banned words to check
* Added initial tests for blocking slurs and revoking chat priviliges
* Uncommented line to save revoked privileges
* Check that privileges are revoked in private groups
* Moved code to email/slack mods to chat api file
* Switched to BadRequest instead of NotFound error
* Restore chat privileges after test
* Using official placeholder slur
* Fixed line to export sendSubscriptionNotification function for slack
* Replaced muteUser function in user methods with a single line in the chat controller file
* Reset chatRevoked flag to false in a single line
* Switched method of setting chatRevoked flag so that it is updated locally and in the database
* First attempt at the muteUser function: revokes user's chat privileges and notifies moderators
* Manual merge for cherry-pick
* Initial working prototype for blocking posting of slurs. Moved check from group.js to the chat api. Still needs: to permanently revoke chat privileges, to notify the moderators, a better method for checking for the blacklisted words, and a way to get the real list of words to check.
* Permanently revoke chat privileges when attempting to post a slur.
* Removed console logs
* Created report to be sent to moderators via email
* Do not moderate private groups
* Moved slur check to a generic check for banned words function
* Moved list of slurs to a separate file, fixed misplacement of return in ContainsBannedWords() function
* Slurs are blocked in both public and private groups
* Added code to send a slack message for slurs
* Fixed formatting issues
* Incorporated tectContainsBannedWords() function from PR 8197, added an argument to specify the list of banned words to check
* Added initial tests for blocking slurs and revoking chat priviliges
* Uncommented line to save revoked privileges
* Check that privileges are revoked in private groups
* Moved code to email/slack mods to chat api file
* Switched to BadRequest instead of NotFound error
* Restore chat privileges after test
* Using official placeholder slur
* Fixed line to export sendSubscriptionNotification function for slack
* Replaced muteUser function in user methods with a single line in the chat controller file
* Reset chatRevoked flag to false in a single line
* Switched method of setting chatRevoked flag so that it is updated locally and in the database
* Removed some code that got re-added after rebase
* Tests for automatic slur muting pass but are incomplete (do not check that chatRevoked flag is true)
* Moved list of banned slurs to server side
* Added warning to bannedSlurs file
* Test chat privileges revoked when posting slur in public chat
* Fix issues left over after rebase (I hope)
* Added code to test for revoked chat privileges after posting a slur in a private group
* Moved banned slur message into locales message
* Added new code to check for banned slurs (parallels banned words code)
* Fixed AUTHOR_MOTAL_URL in sendTxn for slur blocking
* Added tests that email sent on attempted slur in chat post
* Created context for slur-related-tests, fixed sandboxing of email. Successfully tests that email.sendTxn is called, but the email content test fails
* commented out slack (for now) and cleaned up tests of sending email
* Successfully tests that slur-report-to-mods email is sent
* Slack message is sent, and testing works, but some user variables seem to only work when found in chat.js and passed to slack
* Made some fixes for lint, but not sure what to do about the camel case requirement fail, since that's how they're defined in other slack calls
* Slack tests pass, skipped camelcase check around those code blocks
* Fixed InternalServerError caused by slack messaging
* Updated chat privileges revoked error
* fix(locale): typo correction
* Fixed release pets/mounts achievements when fully earned and added unit tests for these changes
* Fixed release pets/mounts achievements to award only when fully earned and added unit tests for these changes, also fixed linting issues
* Updated variable assignments to make more readable
* Revised releaseBoth/Pets/Mounts to include null or undefined checks, also updated unit tests
* fixed integration tests
* Add test to prevent death users recovering health
* Add check for buying potions with zero health
* Validate hp <= 0 to take boss damage into account
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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