* Show "Next Hourglass" Month
* fix lint
* lint,
* lint
* lint..
* linting bad
* ui fixes
* remove additional margin
* show next hourglass date to debug further
* WIP tests - maybe broken logic
* flex:1 doesn't work - so stats columns now at 33% width
* fix(cron): lint and short circuit
* refactor logic
* update test dates using timezone
* also check for the timezone date
* fix timezone for tests
* fixing the test dates?
* fixing the test dates?
* change nextHourglass logic + update gem cap label / value
* fix lint
* dont add gemsBought to it
* remove tooltip
Co-authored-by: SabreCat <sabe@habitica.com>
* Log all gem transactions to database
* Also store hourglass transactions
* Fix tests
* Display transaction history in hall of heroes for admins
* add tests to new API call
* hide transaction settings tab for non admins
* fix(lint): remove console
* fix(lint): various automatic corrections
* fix(transactions): use enum expected pluralizations
* fix api unit tests
* fix lint
* fix failing test
* Fix minor inconsistencies
* Log all gem transactions to database
* Also store hourglass transactions
* Fix tests
* Display transaction history in hall of heroes for admins
* add tests to new API call
* hide transaction settings tab for non admins
* fix(lint): remove console
* fix(lint): various automatic corrections
* fix(transactions): use enum expected pluralizations
* fix api unit tests
* fix lint
* Fix minor inconsistencies
Co-authored-by: Sabe Jones <sabrecat@gmail.com>
* Don't sign in user when trying to connect a social account that was already created
* Log social users into matching local auth accounts
If the social account has an email that already exists as a local user, instead of creating a new account log them into their account and add the social auth to the account
* If possible set local authentication email for social users
* Allow password reset emails to be sent to social login users
* lint fixes
* Fix issues and tests
* fix tests
* Fix lint error.
* WIP: report a bug api/ui
* fix lint
* add USER_USERNAME
* extend sendTxn tests / checks + fix bug report email
* fix lint
* add more checks to sendTxn - fix bug-report variables
* fix lint / ci
* fix test: reset email config url
* fix test stub
* fix tests
* refactor the variables checks
* lint.
* move bug-report page as a modal
* send user_email to the email
* show true/false instead 1/0
* fix issues
* fix footer report bug email if not logged in
* fix styles/margins
* prefill user's email
* show facebook email if local email not existing
* bugReportSuccessModal.vue
* add BROWSER_UA to mail properties
* extract bugReportLogic to its own lib file for unit test
* test api validators
* fix lint
* i18n string updates (issue #9210)
* change offHand to offHandCapitalized
* added removeTasks to challenge.json
* added hairBangs back to character.json
* added hairBangs back to character.json
* more hairBangs nonsense
* added hairBangs to hair-settings.vue, removed same from character.json
* changed levelUp to levelup in levelUp.vue and achievements.json
* fix duplicate string values
* fixed different strings with same content in different files
* updated test/api/v3 and test/api/v4 with messageTaskNotFound
* Delete POST-tasks_taskId_checklist_itemId_score.test.js
File got copied to a new directory, doesn't need to be here.
* fix: userID token in patrons.vue and heroes.vue
* removed: unused clock of code
* Restored eggsItemType to inventory.json
Co-authored-by: Sabe Jones <sabrecat@gmail.com>
* WIP notifications only show 2 at once
* separate and bundle notifications to pairs
* notification fadein/-out/move animations - remove notifications on an interval instead of calculated timeouts
* easier way to import all sprite css files
* add stories + fix sizes / paddings + click to hide + animation fixes
* keep notification at the top but always under the toolbars
* change animations to ease-in 0.25s + add prop to change the delay between deletion and add
* fix adding logic in a rare case of added notifications when only one item is currently visible + add debug mode
* disable lint for notification console
* add more notification example trigger buttons
* potential fix of animation / queue
* increase amount of notifications to 4
* fix sanity
* fix test:unit call again
* new notification styles - fix animations
* keep error notifications visible until manually removed + refactor adding/removal logic
* fix margins
* prevent multiple filling + different delay on filling
* stop and restart removal timer on new notifications
* reduce line-height / apply different margin for icons
* move sprites.scss out and use it in app.vue as well
* update sprites back to 31
* Update webhook.js
Add `questOwner: group.quest.leader,` to webhook.js
* Update POST-groups_groupId_quests_invite.test.js
Test if questOwner contains the correct data
* Update POST-groups_groupId_quests_invite.test.js
* Update webhooks.test.js
* fix(profile): detect attempt to use banned words as display name. refactor profanity detection method.
* fix(profile): detect attempt to use banned words in blurb. further refactor profanity detection. inform the user their chat privileges have been revoked.
* refactor: add function to normalize Unicode strings and remove diacritics
* fix: improve regEx to prevent false partial matches e.g. 'hello' being recognised as banned words. porting fix from #12309
* fix(profile): refactor of profanity detection for #12445
* fix(profile): add test for swear words in new profile. fix existing tests
* fix(profile): show different error message for attempted slur use in username by new users.
* fix(profile): remove incorrect slur test
* fix(profile): fix slurs not caught at start of end of strings connect by punctuation
* tests(profile): fix tests for profanity checking
* remove exclusive test
* 11865 - update text for slur warnings
* 11865 - remove unused string from locale files
* 11865 - improve naming of banned word usage locale string
* 11865 - improve logic so that differentiated warnings are shown depending on whether a slur or other profanity has been used in a display name
* 11865 - construct slur regexes outside the validation function in which they are used
* 11865 - fix tests
This deletes two swear words that were causing trouble for French
speakers (they mean "delay" or "late").
It also puts English variants of those words back to the list of slurs
(IIRC, previously the base words were in that list but were moved to
swears because of the French issue).
* WIP: #12555
-dayOfMonth takes timezone into account on task update for monthly dailys
-startDate set to start of day in user's tz on task update for monthly
dailys
-tweaked a test so that it's actually testing something
* WIP: 12555
-task.startDate gets set to start of day in user's tz on task creation
and task update
-set preferences.timezoneOffset to nonzero value in certian test user objects
-removed date literals in test:api-v3:integration:tasks:PUT