* shared model for chat and inbox
* disable inbox schema
* inbox: use separate model
* remove old code that used group.chat
* add back chat field (not used) and remove old tests
* remove inbox exclusions when loading user
* add GET /api/v3/inbox/messages
* add comment
* implement DELETE /inbox/messages/:messageid in v4
* implement GET /inbox/messages in v4 and update tests
* implement DELETE /api/v4/inbox/clear
* fix url
* fix doc
* update /export/inbox.html
* update other data exports
* add back messages in user schema
* add user.toJSONWithInbox
* add compativility until migration is done
* more compatibility
* fix tojson called twice
* add compatibility methods
* fix common tests
* fix v4 integration tests
* v3 get user -> with inbox
* start to fix tests
* fix v3 integration tests
* wip
* wip, client use new route
* update tests for members/send-private-message
* tests for get user in v4
* add tests for DELETE /inbox/messages/:messageId
* add tests for DELETE /inbox/clear in v4
* update docs
* fix tests
* initial migration
* fix migration
* fix migration
* migration fixes
* migrate api.enterCouponCode
* migrate api.castSpell
* migrate reset, reroll, rebirth
* add routes to v4 version
* fix tests
* fixes
* api.updateUser
* remove .only
* get user -> userLib
* refactor inbox.vue to work with new data model
* fix return message when messaging yourself
* wip fix bug with new conversation
* wip
* fix remaining ui issues
* move api.registerLocal, fixes
* keep only v3 version of GET /inbox/messages
* 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
* 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
* 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