Commit Graph

2788 Commits

Author SHA1 Message Date
Sabe Jones
0480681006 chore(ABtest): remove vestigial drop cap A/B test code 2021-10-14 15:04:14 -05:00
KoRnoliX
d2a0d4194a Fix casting items on parties that exceed it limit by showing Load More Button (#13509)
* Fixed party size and notification when inviting

Fixed party limit to 30 members (previously 31) and pop-up when trying
to invite someone, when party has already reached it's members limit, to properly
show members number.

* Fixed View Party button in header

Fixed View Party button in header to properly show Load More button
when party size exceeds party limit.

* Fixed View Party button to properly open party

Fixed View Party button to properly open party members list on refreshing the main page, this bug was
caused by previous commit.

* Fixed SelectMembersModal to properly show Load More button

Fixed SelectMembersModal (the modal that apperas when casting
cards/specials on party member) to properly show Load More button when party size exceeds party limit

* fix(test): limit now technically 29 plus leader

* fix(test): adjust for tweakage

Co-authored-by: Sabe Jones <sabrecat@gmail.com>
2021-10-07 15:41:22 -05:00
Seth Falco
72fc134a88 chore: replace http wiki links with https (#13528) 2021-10-01 17:58:09 -05:00
Sabe Jones
40bf664f20 chore(analytics): various updates to analytics tracking 2021-08-30 16:21:05 -05:00
Jon Wolverton
f86bb98ccd Collection quest ignoring items (#13401)
* update tests to check for issue #12664

* rewrite processCollectionQuest to allocate quest items proportionally

Removes need to check for excess items, fixing issue #12664

* move test for this bug to the correct context section & remove redundant test

* refactor processCollectionQuest more

* tweak confusing comments
2021-08-26 16:33:29 -05:00
PitiTheGrey
1037510c9d Add 'questOwner' to the return data of a 'questActivity' webhook. (#13277)
* 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
2021-05-28 16:59:14 -05:00
negue
a8b58815b4 Update Party / Group Sidebar / Quest states (#12793)
* move groups/sidebar to groupSidebar.vue

* lint files

* extract group/party sidebar to rightSidebar.vue

* wip stories with example data

* update stories - wip sidebar re-styling

* message party / group leader + move items to the menu

* update paddings /place for quest section

* invite to party / guild

* update labels (* Party / Guild )

* guild-background to group-background

* correct menu order + missing a label based on the group type

* no quest - styles / layout applied

* quest owner / not started - styles applied   + extracted questActions from questDetailsModal.vue to a mixin

* no challenge style

* hover with underlines

* quest-pending area layout / margins

* "Collection Quest/Quest Owner Participating" Styling Done

* group sidebar menu with icons / background

* remove most participate button styles

* fix quest-invite panel

* move "Start Quest" + add "Leave Quest"

* Not Participating + Boss + Rage Quests restyling

* party quest changes - invitedToQuest + button styles + no-items style + view details

* fix icons + rage value + colors

* fix duplicate key

* hide items label if 0 items found + hide pending damage if there is none + sidebar section margin + fix percent calculation 0 => 0%

* combine quest abandon / cancel to one call + hide begin if quest has already started + close modal if quest was canceled

* remove unused translate string

* allow leaving an accepted but inactive quest + disable leave when user is quest leader

* update "are you sure" questions - remove "doubleSureAbort" - add "sureLeaveInactive"

* sidebar margins + menu icon color

* refactored css rules

* improve some styles

* fix button spacing

* fix dropmenu with icon hover

* hide leave quest for leaders + fix quest buttons spacing

* add pending items label

* remove "X items found" label

* first round of fixes

* last v-once

* Update Quest Dialogs (#13112)

* new quest rewards panel + extract questPopover and itemWithLabel

* WIP: questInfo still not applying the row-height..

* split up start-quest-modal into select and detail modal - also rename the current quest-details to be the group-quest-details modal

* remove start-quest-modal from modal-scss

* update package-lock

* WIP before using the quest sidebar branch as a base

* move quest detail actions to the "new" details dialog

* quest details layout for owner / participant

* fix quest rewards - open details modal from sidebar

* apply quest-details dialog styles to the buyQuestModal one

* fix quest reward icons / popover / texts

* WIP back to quest selection

* fix lint

* merge selectQuestModal.vue with questDetailModal.vue + UI for the select quest

* fix margins / layout / labels

* fix quest detail + wip invitationListModal.vue / participantListModal.vue

* fix questmodal user label centered

* fix centered reward items + grouping items and adding a count-badge

* sort quests by AZ or quantity

* invitations modal

* remove console.info

* complete participantListModal.vue + extracted getClassName

* missed a file for getClassName extraction

* fix invitations

* select the actual quest on details

* fix margins on invite to party / start quest buttons

* replace buyQuestModal close button and title

* fix recursion due to the same name

* missing import

* sort quantity by highest first

* fix "Can't find a Quest to start" styles

* fix "your balance" padding

* fix quest collections / drop items

* fix member details in participants list

* fix quest info

* remove nullable because the build doesn't like it (on this file..)

* add questCompleted to the stories + fix getDropName

* replace quest-rewards in questCompleted.vue

* fix questCompleted.vue style

* delete obsolete components

* add missing spritesheets to storebook

* requested pr changes

* refactored fetchMember

* revert optional chaining

* fix merge conflicts

* fix rightSidebar hover colors - $scss var to css var

* overflow auto instead of scroll

* prevent wrapping of quest collections

* rollback to multi line quest items

* use min-width for the quest popover
2021-05-28 16:11:43 -05:00
Alec Brickner
f33720e9fd Drag challenge tasks (#12204)
* Allow challenge tasks to be draggable by leaders and admins

* Drag challenge tasks, ensure they're ordered

* Ensure group tasks are ordered properly, make draggable

* Add tests, fix broken tests

* Resolve merge conflict

* Remove console.log()

* Address code review comments

* Code review fixes

* Fix lint

* Fix importing

* taskManager

* Lint

* Fix collapseChecklist test

Co-authored-by: Sabe Jones <sabrecat@gmail.com>
2021-04-30 16:23:27 -05:00
Carlton McFarlane
a53355872b Add checks for profanity to profile updates (#12445)
* 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
2021-04-30 15:47:39 -05:00
Bart Enkelaar
920a093b0e 12922 - Use absolute user URLs on production (#12968) 2021-04-29 15:23:42 -05:00
Carl Vuorinen
1d3cf368a1 Send questInvited webhook to the inviter too (#13111) 2021-04-29 14:34:17 -05:00
Sabe Jones
d231eb3023 fix(test): force special spell purchasable for test 2021-04-09 15:41:20 -05:00
Sabe Jones
24bf1c31d8 fix(onboarding): remove start date restriction 2021-03-25 15:20:55 -05:00
Sabe Jones
676a9348d0 feat(event): March-April goodness 2021-03-23 11:58:21 -05:00
Sabe Jones
7cc705ffcd fix(test): should hatch Desert pet to get Desert achievement 2021-02-16 17:08:59 -06:00
negue
1bccbc03fa Hotfix: moving pinned items (#12935)
* increase checks for moving pinned items - fixes #10406

* allow to move official pinneditems

* using common object instead of method import
2021-01-25 17:40:18 -06:00
Sabe Jones
4db1b1cdfa Merge branch 'develop' into release 2021-01-22 14:09:49 -06:00
bakerty
db3d233ae5 Make start date and day of month aware of timezones (fixes #12555) (#12696)
* 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
2021-01-10 16:02:40 +01:00
Sabe Jones
cec01f49bd fix(test): dummy event to test promotions 2021-01-08 13:34:04 -06:00
Matteo Pagliazzi
1dc8be4842 Stripe Upgrade Cleanup (#12882)
* chore(stripe): remove manual api version from code

* upgrade minor stripe version
2021-01-07 17:32:54 +01:00
Matteo Pagliazzi
17d918a172 fix(stripe): use new data structure for webhooks event.request 2020-12-26 16:45:36 +01:00
Shadow
7c0b3612f0 Change $type of date for todos (#12779)
* change $type to date for task and add new test

* adjust apidocs to reflect type change

* migration test for api date $type change

* minor fixes to migration

* unset instead of set empty string

* add type filter

* fix(todo date migration): make sure the update command works and limit update ops

Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
2020-12-24 18:37:09 +01:00
Sabe Jones
395e1c25d4 fix(g1g1): correct blank private message 2020-12-15 16:07:31 -06:00
Matteo Pagliazzi
6d34319455 Stripe: upgrade module and API, switch to Checkout (#12785)
* upgrade stripe module

* switch stripe api to latest version

* fix api version in tests

* start upgrading client and server

* client: switch to redirect

* implement checkout session creation for gems, start implementing webhooks

* stripe: start refactoring one time payments

* working gems and gift payments

* start adding support for subscriptions

* stripe: migrate subscriptions and fix cancelling sub

* allow upgrading group plans

* remove console.log statements

* group plans: upgrade from static page / create new one

* fix #11885, correct group plan modal title

* silence more stripe webhooks

* fix group plans redirects

* implement editing payment method

* start cleaning up code

* fix(stripe): update in-code docs, fix eslint issues

* subscriptions tests

* remove and skip old tests

* skip integration tests

* fix client build

* stripe webhooks: throw error if request fails

* subscriptions: correctly pass groupId

* remove console.log

* stripe: add unit tests for one time payments

* wip: stripe checkout tests

* stripe createCheckoutSession unit tests

* stripe createCheckoutSession unit tests

* stripe createCheckoutSession unit tests (editing card)

* fix existing webhooks tests

* add new webhooks tests

* add more webhooks tests

* fix lint

* stripe integration tests

* better error handling when retrieving customer from stripe

* client: remove unused strings and improve error handling

* payments: limit gift message length (server)

* payments: limit gift message length (client)

* fix redirects when payment is cancelled

* add back "subUpdateCard" string

* fix redirects when editing a sub card, use proper names for products, check subs when gifting
2020-12-14 15:59:17 +01:00
Sabe Jones
7c081c4607 fix(test): expect save false 2020-12-11 14:14:07 -06:00
Sabe Jones
cb999d9277 Revert "fix(test): promo no longer handled in library, revert test"
This reverts commit f2281efe99.
2020-12-11 11:07:51 -06:00
Sabe Jones
f2281efe99 fix(test): promo no longer handled in library, revert test 2020-12-10 19:34:52 -06:00
Sabe Jones
53f19c4da3 feat(event): Winter Wonderland 2021 and Gift-One-Get-One Promotion 2020-12-10 16:53:37 -06:00
Denys Dorokhov
3ce182d0dc Feature/enhance get memebers for a challenge fixes #12481 (#12716)
* refactor(api-members): separate handler for the GET /challenges/:challengeId/members route

* refactor(api-members): challenges-related code removed from _getMembersForItem handler function

* feat(api-members): added support to the new includeTasks query parameter for the GET /challenges/:challengeId/members route

* fix(api-members): adjustments to the GET /challenges/:challengeId/members route

* fix(api-members): merge of _getMembersTasksFromChallenge and additional check for a test suite

* refactor(api-members): includeAllMembers query parameter got removed from the GET /challenges/:challengeId/members route

* GET-challenges_challengeId_members.test.js: use _id

* members.js: use _id instead of id

* use id instead of _id

* _id instead of id

Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
2020-11-30 20:04:17 +01:00
Matteo Pagliazzi
6a658c45b5 Upgrade some deps: helmet, slack, amplitude and short-uuid (#12817)
* upgrade helmet to version 4

* deps(short-uuid): upgrade to version 4, closes #12573

* deps(slack): upgrade to version 4

* deps(slack): upgrade to version 5, closes #11442

* deps(amplitude): upgrade to latest version use api v2

* fix tests

* slack tests: return promise

* refactor slack setup for tests

* fix slack unit tests
2020-11-30 20:03:04 +01:00
Matteo Pagliazzi
51b50bfa3c Upgrade APN module (#12818)
* switch apn module to up to date version @parse/apn

* remove old module

* fix unit tests
2020-11-30 20:00:57 +01:00
Matteo Pagliazzi
4e9a2de527 fix(analytics): fix tests and add new ones for getServiceByEnvironment 2020-11-30 11:39:39 +01:00
Matteo Pagliazzi
6b3a6eb59f fix(analytics): allow tracking static pages events when the user is not authenticated 2020-11-29 20:15:12 +01:00
Matteo Pagliazzi
284cfde935 Mandatory pagination for GET /challenges/user (#12792)
* BREAKING: require pagination for GET /challenges/user

* fix tests

* remove unused test
2020-11-19 16:18:11 -06:00
Matteo Pagliazzi
181b33101e Challenge Won Notification improvements (#12762)
* challenge won notification: add more info

* update tests

* use new notification on web, fixes #7716

* wip design

* finalize design

* fix markdown rendering
2020-11-10 18:47:13 +01:00
Matteo Pagliazzi
174ac6d7e3 Revert "Revert "fix(banned words): fix partial matching of words containing diacritic… (#12444)""
This reverts commit 5362058f35.
2020-11-09 11:34:28 +01:00
Matteo Pagliazzi
2e59260149 Revert "Revert "Analytics: track generic events through the server (#12735)""
This reverts commit 9d6fb2ca26.
2020-11-09 11:34:20 +01:00
Sabe Jones
5362058f35 Revert "fix(banned words): fix partial matching of words containing diacritic… (#12444)"
This reverts commit f2bcdd21de.
2020-11-05 15:44:59 -06:00
Sabe Jones
9d6fb2ca26 Revert "Analytics: track generic events through the server (#12735)"
This reverts commit 48dbe547c0.
2020-11-05 15:44:30 -06:00
Matteo Pagliazzi
14714f9e1c Drop Cap A/B Tests: v2 (#12759)
* drop cap ab test: enroll all web users, 50/50

* update tests

* fix lint
2020-11-03 14:19:09 -06:00
Matteo Pagliazzi
ea766251c2 Merge branch 'release' into develop 2020-10-28 23:24:42 +01:00
Matteo Pagliazzi
48dbe547c0 Analytics: track generic events through the server (#12735)
* Loggly-only user support events (#12676)

* feat(analytics): Loggly-only user support events

* fix(analytics): clean up more Unknowns

* wip: allow tracking events from the server

* analytics: allow tracking generic events on the server

* remove console.logs

* remove console.log (client)

* add integration test

Co-authored-by: Sabe Jones <sabrecat@gmail.com>
2020-10-28 22:39:19 +01:00
Carlton McFarlane
f2bcdd21de fix(banned words): fix partial matching of words containing diacritic… (#12444)
* fix(banned words): fix partial matching of words containing diacritics against banned words list (#12309)

* lint: remove whitespace to fix error

* test: add test to prevent partial matching of words containing diacritics against banned words list (#12309)

* doc: add link to Unicode table of diacritical marks (#12309)
2020-10-26 12:14:04 +01:00
Matteo Pagliazzi
869d2df4fa Merge #12654
Fixes #12417
Squashed commit of the following:

commit 1f074175c480a638cf61e2c72ca57cdc6f8699b6
Author: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Date:   Mon Oct 26 10:57:23 2020 +0100

    fix(i18n): remove unused string questLevelTooHigh

commit 12cc74002ec87c14cc000b008454f34475fd3636
Merge: 4fc260e552 ad9b551de3
Author: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Date:   Mon Oct 26 10:50:39 2020 +0100

    Merge branch 'feature/level-locked-quests-should-be-used-at-any-level' of https://github.com/hamboomger/habitica into hamboomger-feature/level-locked-quests-should-be-used-at-any-level

commit ad9b551de3
Author: hamboomger <hamboomger@gmail.com>
Date:   Thu Oct 8 13:34:19 2020 +0300

    fix(quests): Quests that are level-locked for purchase can now be used at any level
2020-10-26 10:58:50 +01:00
Shadow
734e997345 Prevent the removal of a quest owner from a group, take 2 (#12695)
* add cannotRemoveQuestLeader string

* throw error when member is quest leader

* add the new apidoc error

* change i18n key name

* fix apidoc formatting and change key in throw()

* add test for preventing removing quest owner

* patch(groups): change error codes
2020-10-26 10:46:43 +01:00
negue
bad3f82dfb Inventory: fixes / layout (#11948)
Co-authored-by: Sabe Jones <sabrecat@gmail.com>
2020-10-19 23:54:51 +02:00
Matteo Pagliazzi
d62930b9da Merge branch 'release' into develop 2020-10-19 16:54:35 +02:00
Matteo Pagliazzi
69281f80ea drop cap ab test: misc fixes (#12694) 2020-10-19 16:53:28 +02:00
Matteo Pagliazzi
ec0e5024a7 new users: do not show bailey news (#12693) 2020-10-19 12:30:41 +02:00
Matteo Pagliazzi
0275636f46 new users: do not show bailey news (#12693) 2020-10-19 12:13:31 +02:00