* 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.
* 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
* 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(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