* challenge won notification: add more info
* update tests
* use new notification on web, fixes#7716
* wip design
* finalize design
* fix markdown rendering
* Add new API call to complete multiple task scorings in one call
* Improve API response
* Improve saving process
* Improve handling for multiple tasks scored at once
* Handle challenge task errors better
* Improve check for alias
* Improve check for task scorings
* Fix merge errors
* make nodemon ignore content_cache
* Fix completing group tasks
* fix test
* fix tests (again)
* typo
* WIP(a11y): task modal updates
* fix(tasks): borders in modal
* fix(tasks): circley locks
* fix(task-modal): placeholders
* WIP(task-modal): disabled states, hide empty options, +/- restyle
* fix(task-modal): box shadows instead of borders, habit control pointer
* fix(task-modal): button states?
* fix(modal): tighten up layout, new spacing utils
* fix(tasks): more stylin
* fix(tasks): habit hovers
* fix(css): checklist labels, a11y colors
* fix(css): one more missed hover issue
* fix(css): lock Challenges, label fixes
* fix(css): scope input/textarea changes
* fix(style): task tweakies
* fix(style): more button fixage
* WIP(component): start select list story
* working example of a templated selectList
* fix(style): more button corrections
* fix(lint): EOL
* fix(buttons): factor btn-secondary to better override Bootstrap
* fix(styles): standardize more buttons
* wip: difficulty select - style fixes
* selectDifficulty works! 🎉 - fix styles
* change the dropdown-item sizes only for the selectList ones
* selectTranslatedArray
* changed many label margins
* more correct dropdown style
* fix(modals): button corrections
* input-group styling + datetime picker without today button
* Style/margins for "repeat every" - extract selectTag.vue
* working tag-selection / update - cleanup
* fix stories
* fix svg color on create modal (purple)
* fix task modal bottom padding
* correct dropdown shadow
* update dropdown-toggle caret size / color
* fixed checklist style
* sync checked state
* selectTag padding
* fix spacing between positive/negative streak inputs
* toggle-checkbox + fix some spacings
* disable repeat-on when its a groupTask
* fix new checklist-item
* fix toggle-checkbox style - fix difficulty style
* fix checklist ui
* add tags label , when there arent any tags selected
* WORKING select-tag component 🎉
* fix taglist story
* show max 5 items in tag dropdown + "X more" label
* fix datetime clear button
* replace m-b-xs to mb-1 (bootstrap) - fix input-group-text style
* fix styles of advanced settings
* fix delete task styles
* always show grippy on hover of the item
* extract modal-text-input mixin + fix the borders/dropshadow
* fix(spacing): revert most to Bootstrap
* feat(checklists): make local copy of master checklist non-editable
also aggressively update checklists because they weren't syncing??
* fix(checklists): handle add/remove options better
* feat(teams): manager notes field
* fix select/dropdown styles
* input border + icon colors
* delete task underline color
* fix checklist "delete icon" vertical position
* selectTag fixes - normal open/close toggle working again - remove icon color
* fixing icons:
Trash can - Delete
Little X - Remove
Big X - Close
Block - Block
* fix taglist margins / icon sizes
* wip margin overview (in storybook)
* fix routerlink
* remove unused method
* new selectTag style + add markdown inside tagList + scrollable tag selection
* fix selectTag / selectList active border
* fix difficulty select (svg default color)
* fix input padding-left + fix reset habit streak fullwidth / padding + "repeat every" gray text (no border)
* feat(teams): improved approval request > approve > reward flow
* fix(tests): address failures
* fix(lint): oops only
* fix(tasks): short-circuit group related logic
* fix(tasks): more short circuiting
* fix(tasks): more lines, less lint
* fix(tasks): how do i keep missing these
* feat(teams): provide assigning user summary
* fix(teams): don't attempt to record assiging user if not supplied
* fix advanced-settings styling / margin
* fix merge + hide advanced streak settings when none enabled
* fix styles
* set Roboto font for advanced settings
* Add Challenge flag to the tag list
* add tag with enter, when no other tag is found
* fix styles + tag cancel button
* refactor footer / margin
* split repeat fields into option mt-3 groups
* button all the things
* fix(tasks): style updates
* no hover state for non-editable tasks on team board
* keep assign/claim footer on task after requesting approval
* disable more fields on user copy of team task, and remove hover states
for them
* fix(tasks): functional revisions
* "Claim Rewards" instead of "x" in task approved notif
* Remove default transition supplied by Bootstrap, apply individually to
some elements
* Delete individual tasks and related notifications when master task
deleted from team board
* Manager notes now save when supplied at task initial creation
* Can no longer dismiss rewards from approved task by hitting Dismiss
All
* fix(tasks): clean tasksOrder
also adjust related test expectation
* fix(tests): adjust integration expectations
* fix(test): ratzen fratzen only
* fix lint
* fix tests
* fix(teams): checklist, notes
* handleSharedCompletion: handle error, make sure it is run after the user task has been saved
* fix typo
* correctly handle errors in handleSharedCompletion when approving a task
* fix(teams): improve disabled states
* handleSharedCompletion: do not increase completions by 1 manually to adjust for last approval not saved yet
* revert changes to config.json.example
* fix(teams): more style fixage
* add unit tests for findMultipleByIdOrAlias
* exclude api v4 route from apidocs
* BREAKING(teams): return 202 instead of 401 for approval request
* fix(teams): better taskboard sync
also re-re-fix checklist borders
* scoreTasks: validate body
* fix tests, move string to api errors
* fix(tests): update expectations for breaking change
* start updating api docs, process tasks sequentially to avoid conflicts with user._tmp
* do not crash entire bulk operation in case of errors
* save task only if modified
* fix lint
* undo changes to error handling: either all tasks scoring are successfull or none
* remove stale code
* do not return user._tmp when bulk scoring, it would be the last version only
* make sure user._tmp.leveledUp is not lost when bulk scoring
* rewards tests
* mixed tests
* fix tests, allow scoring the same task multiple times
* finish integration tests
* fix api docs for the bulk score route
* refactor(task-modal): lockable label component
* wip loading spinner
* refactor(teams): move task scoring to mixin
* fix(teams): style corrections
* fix(btn): fix padding to have height of 32px
* implement loading spinner
* remove console.log warnings
* fix(tasks): spacing and wording corrections
* fix(teams): don't bork manager notes
* fix(teams): assignment fix and more approval flow revisions
* WIP(teams): use tag dropdown control for assignment
* finish merge - never throw an error when a group task requires approval (wip - needs tests)
* fix taskModal merge
* fix merge
* fix(task modal): add newline
* fix(column.vue): add newline at end of file
* mvp yesterdaily modal
* fix tests
* fix api docs for bulk scoring group tasks
* separate task scoring and _tmp handling
* handle _tmp when bulk scoring
* rya: close modal before calling cron API, prevents issues with modals
* rya: fix conflicts with other modals
* add sounds, support for group plans, analytics
* use asyncResource for group plans
* fix lint
* streak bonus: add comment about missing in rya
* move yesterdailyModal
* fix issues with level up modals and rya
* add comments for future use, fix level up modals not showing up at levels with a quest drop
* handle errors in rya modal
* bundle quest and crit notifications
Co-authored-by: Phillip Thelen <phillip@habitica.com>
Co-authored-by: Phillip Thelen <viirus@pherth.net>
Co-authored-by: Sabe Jones <sabrecat@gmail.com>
Co-authored-by: negue <eugen.bolz@gmail.com>
* Piggybacking the updating of user tag list.
When a new task is being added to a challenge, added code to update user tag list along with the existing code that already involves syncing / updating the user documents of challenge members.
* Update comment on number of simulatenaeous users to be updated concurrently in TaskQueue.
* Added comment to explain previous commit caaca469f8 (Update comment on number of simulateneous users to be updated concurrently in TaskQueue)
* Added unit tests for testing commit caaca469f8 (Update comment on number of simulateneous users to be updated concurrently in TaskQueue)
* Removed unused lines from newly added test cases
* Implemented lint suggestions
* Update code with changes requested in PR
* push notifications: handle some more error codes and when the user is loaded using .lean()
* fix lint
* do not send push notification if message is missing
* Implement atomic user challenges update
Prevents multiple concurrent requests from passing through
Fixes#11295
* Move user challenges update to separate method
* Rename challenge syncToUser to syncTasksToUser
Now that adding the challenge to user is separated, this methods main purpose is to sync the tasks
* Fix lint errors
* rename hasAccess to canJoin for challenges
This is so the function won't be used accidentally for other
purposes, since hasAccess could be misinterpretted.
* add isLeader function for challenges
* allow challenge leader to join/modify/end challenge when they're not in the private group it's in
* delete duplicate test
* clarify title of existing tests
* add tests and adjust existing tests to reduce privileges of test users
* fix lint errors
* remove pointless isLeader check (it's checked in canJoin)
* fix(challenges): creator should not join challenge automatically
* change behavior on the client side as well
* update tests and fix membercount
* update tests
* fix tests
* Footer style fixes
* Limited string display
* Fixed background reload
* Began adding more avatar items
* Fixed challenge updated cats and official to be seen by admins
* Fixed min prize
* Fixed required fields
* Added my challenges and find challenges to menu
* Removed nav to party page when have no party
* Updated user and notifications icon
* Added accept, reject and messages
* Added selfcare
* Underline links
* Added forgot password
* Fixed task adding
* Disabled habit options that should be
* Added markdown to tags
* Added confirm to delete
* Fixed cancel/delete style
* Fixed rounding
* Added gold icon
* Fixed task icon styles
* Fixed margin botton
* Fixed some repeat styles
* Fixed custom reward style
* Hide like count 0
* Added new tavern images
* Redirect to party page after create
* Hid leader options from non leaders
* Removed manager options from non group plan
* Fixed some nav styles
* Fixed overlay color
* Prevented edit data from being transfered to create
* Added hover state for spells
* Add performance fixes for chat avatars
* Fixed merge conflicts
* Updated fron navigation
* Fixed reg gryphon logo
* Began adding gem modal functionality
* Added purchase gems with gold
* Fixed restore
* Replaced description with summary
* Spells that target tasks fix
* Added initial challenge task load
* Fixed lint issue
* create new summary field for challenges
* finish implementating summary for challenges, add some support for guilds
* make small improvements to challenges code
* fix lint errors
* add more code to support summaries for guilds (still more needed)
* fix existing tests by adding summary field
* make existing tests pass
* WIP make "Public Challenges" text translatable
* change "leader" locale key to "guildOrPartyLeader" to make searches for it easier
* remove v-once from h2 headings
* remove failed attempt to localise text in <script>
* add quick-and-dirty error checking for guild not having categories
* make "Public Challenges" text translatable
* rename final ...PlaceHolder strings to ...Placeholder (lower-case "h") for consistency with existing Placeholder strings
* add possibility for group to block members from getting gems
* fixes
* fix tests
* adds some tests
* unit tests
* finish unit tests
* remove old code
* 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
* 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
* 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
* 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