habitica/website/server/libs
Matteo Pagliazzi d0bc0dbe49
Add API Call to bulk score tasks (#11389)
* 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>
2020-08-21 11:46:56 +02:00
..
auth chore(ABtest): end drop experiment in favor of boosting 2020-07-30 14:53:50 -05:00
challenges Upgrade Server Deps (#12328) 2020-06-22 11:51:52 +02:00
chat refactor(db-schema): group.isSubscribed() method name changed to group.hasActiveGroupPlan() 2020-04-05 15:06:16 +03:00
chatReporting fix linting for server (except for length of apidoc) 2019-10-10 20:11:50 +02:00
coupons fix linting for server (except for length of apidoc) 2019-10-10 20:11:50 +02:00
inbox fix(push notifications): always strip markdown from push notification text 2020-06-26 15:27:02 +02:00
invites Vue component unit test isolation (#12154) 2020-05-05 16:20:08 +02:00
items fix linting for server (except for length of apidoc) 2019-10-10 20:11:50 +02:00
payments Allow group plans for private guilds only (#12479) 2020-08-21 11:46:09 +02:00
user PR to fix: Disallow line breaks in display names (#12380) 2020-07-18 22:41:19 +02:00
analyticsService.js add ability to log amplitude events (#12120) 2020-04-24 19:02:27 +02:00
apiError.js move errors 2019-10-15 17:17:44 +02:00
bannedSlurs.js moved two words from slurs to banned - TRIGGER / CONTENT WARNING: slurs, swearwords, assault, etc 2020-06-06 16:26:58 +10:00
bannedWords.js moved two words from slurs to banned - TRIGGER / CONTENT WARNING: slurs, swearwords, assault, etc 2020-06-06 16:26:58 +10:00
baseModel.js clarify all "Invalid uuid" messages by making each unique 2020-01-29 15:49:55 +10:00
buildManifest.js fix linting for server (except for length of apidoc) 2019-10-10 20:11:50 +02:00
chat.js fix(push notifications): always strip markdown from push notification text 2020-06-26 15:27:02 +02:00
client.js fix index path0 2019-10-15 18:10:20 +02:00
collectionManipulators.js fix linting for server (except for length of apidoc) 2019-10-10 20:11:50 +02:00
content.js fix(content): include app version in response 2020-07-18 15:36:44 +02:00
cron.js chore(ABtest): end drop experiment in favor of boosting 2020-07-30 14:53:50 -05:00
csvStringify.js start upgrading eslint 2019-10-08 16:57:10 +02:00
email.js Vue component unit test isolation (#12154) 2020-05-05 16:20:08 +02:00
encryption.js start upgrading eslint 2019-10-08 16:57:10 +02:00
errors.js API v3 Rate Limiter (#12117) 2020-07-18 15:00:09 +02:00
forbiddenUsernames.js fix linting for server (except for length of apidoc) 2019-10-10 20:11:50 +02:00
gcpTraceAgent.js fix linting for server (except for length of apidoc) 2019-10-10 20:11:50 +02:00
groupTasks.js Add API Call to bulk score tasks (#11389) 2020-08-21 11:46:56 +02:00
guildsAllowingBannedWords.js allow another guild to use banned words in appropriate contexts 2020-02-26 07:45:31 +10:00
highlightMentions.js Fix empty link bug and proper error logging in highlightMentions.js (#12228) 2020-05-31 18:09:43 +02:00
i18n.js Improve i18n caching (#12030) 2020-05-05 20:31:33 +02:00
inAppPurchases.js remove old module.exports from server aswell 2019-10-02 19:45:27 +02:00
language.js Automatically Logout Banned Users (#12037) 2020-04-02 21:46:01 +02:00
logger.js fix(logger): only two arguments to logger when logging an unhandled promise rejection 2020-03-26 17:10:19 +01:00
mongodb.js MongoDB Transactions (#12335) 2020-07-14 18:55:47 +02:00
password.js fix linting for server (except for length of apidoc) 2019-10-10 20:11:50 +02:00
preening.js Move from deprecated moment#zone to moment#utcOffset (#12207) 2020-07-25 13:22:41 +02:00
pushNotifications.js fix(push notifications): remove tokens after a MismatchSenderId error 2020-04-28 16:16:10 +02:00
routes.js add basic test, disable etag on post routes as well, paypal ipn: prevent set headers after response error 2020-04-17 14:50:09 +02:00
setupExpress.js API v3 Rate Limiter (#12117) 2020-07-18 15:00:09 +02:00
setupMongoose.js MongoDB Transactions (#12335) 2020-07-14 18:55:47 +02:00
setupNconf.js misc, fix client tests 2019-10-15 15:32:53 +02:00
setupPassport.js fix linting for server (except for length of apidoc) 2019-10-10 20:11:50 +02:00
slack.js chore(promo): end g1g1 2020-01-07 10:13:32 -06:00
sleep.js start upgrading eslint 2019-10-08 16:57:10 +02:00
spells.js Casting Chilling Frost and Stealth skill again will not be processed and return an error instead. Fixes #12361. (#12404) 2020-08-09 18:25:59 +02:00
stringUtils.js fix(string utils): do not escape possible regular expressions 2020-04-28 16:47:52 +02:00
taskManager.js Add API Call to bulk score tasks (#11389) 2020-08-21 11:46:56 +02:00
webhook.js fix(logs): do not log mongoose object with id and no _id to avoid crashes, see https://github.com/davidmarkclements/fast-safe-stringify/issues/43 2020-04-08 23:31:17 +02:00