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