Commit Graph

138 Commits

Author SHA1 Message Date
Phillip Thelen
7d2529f5e1 Add logic for different types of sub upgrades 2022-11-09 19:49:53 +01:00
Phillip Thelen
8d732c59c4 Add field to track when current subscription type started 2022-11-08 12:38:24 +01:00
Phillip Thelen
3a34aa4cc5 Improve recheck handling for test subs 2022-11-08 12:19:17 +01:00
Phillip Thelen
e7fc7feddd Better handling for cancellation when user had multiple subs 2022-11-04 13:30:50 +01:00
Phillip Thelen
7fd899b642 Fix logic for apple subscriptions 2022-11-03 17:48:36 +01:00
SabreCat
164dbdcf10 Merge branch 'develop' into apple_sub_fix 2022-11-02 15:00:24 -05:00
Phillip Thelen
ab953440e3 fix issue where subs would be applied multiple times 2022-11-02 16:36:09 +01:00
SabreCat
9b1a726875 Revert "feat(subs): allow upgrade/downgrade on iOS"
This reverts commit 27440772f0.
2022-11-02 09:00:29 -05:00
Phillip Thelen
9e98e56e9b Allow sub upgrades/downgrades on iOS (#14303)
* Allow sub upgrades/downgrades on iOS

* fix check

* fix(lint): line length

* fix(typo): customER

* fix tests

* Implement correct handling for when subs are up/downgraded

* fix lint errors

* fix test

Co-authored-by: SabreCat <sabe@habitica.com>
Co-authored-by: Sabe Jones <sabrecat@gmail.com>
2022-11-01 21:07:23 -05:00
SabreCat
27440772f0 feat(subs): allow upgrade/downgrade on iOS
by @phillipthelen
2022-11-01 20:53:04 -05:00
SabreCat
aea0be3245 fix(subs): establish lock to prevent race condition 2022-11-01 20:47:21 -05:00
Phillip Thelen
08469c556b fix lint errors 2022-10-28 12:41:43 +02:00
Phillip Thelen
13a25ad89e Implement correct handling for when subs are up/downgraded 2022-10-28 11:23:48 +02:00
negue
f7a03d2eb5 improve transactions logs + split createSubscription (#14289)
* improve transactions logs + split createSubscription
2022-10-27 08:39:06 +02:00
SabreCat
e6a7d15644 fix(typo): customER 2022-10-25 16:59:59 -05:00
SabreCat
6a4b08203f fix(lint): line length 2022-10-25 16:52:16 -05:00
SabreCat
c9016c8d42 Merge branch 'develop' into phillip/sub_change 2022-10-25 16:47:51 -05:00
Sabe Jones
90250d1a25 Establish lock to avoid race scenario in subscriptions (#14267)
* fix(subscription): establish lock to avoid race scenario

* fix(lint): import syntax

* fix(lint): whitespace, dependency cycle

* fix(subs): skip locking on gifts and groups

* fix(subs): correctly reset _subSignature

* fix(sub): use findOneAndUpdate for unlock

* fix(test): save newly created user for some reason

Co-authored-by: SabreCat <sabe@habitica.com>
2022-10-25 16:44:33 -05:00
Phillip Thelen
31685c3e94 fix check 2022-10-21 16:59:18 +02:00
Phillip Thelen
c25b09c7ed Allow sub upgrades/downgrades on iOS 2022-10-21 16:57:12 +02:00
SabreCat
57d3fea523 Merge branch 'group-tracking-modal' into release 2022-09-30 14:47:08 -05:00
SabreCat
9a8d1854b9 fix(promo): handle Gems sale defined outside of single top event 2022-09-15 11:40:48 -05:00
CuriousMagpie
9a1266677a Merge remote-tracking branch 'upstream/develop' into group-tracking-modal 2022-08-25 13:20:54 -04:00
CuriousMagpie
d70dd2e6dd update: add analytics event upon group creation/upgrade (temp code & console.logs commented out) 2022-08-15 17:13:51 -04:00
SabreCat
4ac1a3e717 Merge branch 'develop' into sabrecat/teams-rebase 2022-06-14 14:46:50 -05:00
Phillip Thelen
65d2eac4c3 Correctly handle google accounts with multiple subscriptions (#13982) 2022-06-10 14:07:36 -05:00
SabreCat
1473408752 Merge branch 'develop' into sabrecat/teams-rebase 2022-02-22 12:18:59 -06:00
SabreCat
08352c5f49 fix(subs): correct cancellation check logic and test 2022-02-22 11:26:15 -06:00
Phillip Thelen
c6d07983b2 Fix issue with validating android sub cancellation 2022-02-22 10:12:10 -06:00
Sabe Jones
cab4a2a8fa WIP(teams): begin simplification 2022-02-17 15:41:05 -06:00
Phillip Thelen
6e43d4dc79 Add Transaction log for gem and hourglass changes (#13589)
* 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>
2022-01-31 15:36:15 -06:00
SabreCat
f2cfc2744d fix(Slack): improve subscription notif logic 2021-12-22 14:58:15 -06:00
SabreCat
391a9bd91b feat(promo): G1G1 2021
Also refactors a number of places on web client to start using event 
list from world state instead of singular currentEvent
2021-12-15 16:20:43 -06:00
Sabe Jones
9b719dc144 fix(subscriptions): handle future/prebuilt mystery items 2021-03-30 15:46:52 -05:00
Bart Enkelaar
a543531956 Fix error logs in client unit tests from setTitle (#12967) 2021-01-25 16:52:26 -06:00
Sabe Jones
04e366d498 Merge branch 'develop' into release 2021-01-08 13:11:02 -06:00
Sabe Jones
2d5ddfdd87 fix(event): borken Gold gear
and default sub analytics to web
2021-01-08 13:10:45 -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
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
f2b53f651e fix(subscriptions): don't save user during message send 2020-12-11 14:06:23 -06:00
Sabe Jones
0e1011b875 Revert "fix(subscriptions): avoid parallelSave from recursive fn call"
This reverts commit ff93dd9159.
2020-12-11 11:08:31 -06:00
Sabe Jones
ff93dd9159 fix(subscriptions): avoid parallelSave from recursive fn call 2020-12-10 19:22:54 -06:00
Sabe Jones
53f19c4da3 feat(event): Winter Wonderland 2021 and Gift-One-Get-One Promotion 2020-12-10 16:53:37 -06:00
Matteo Pagliazzi
7745a0e65a fix(analytics): always use mock service in development 2020-11-29 23:15:26 +01:00
Sabe Jones
a7477e137e fix(teams): preserve original subscription start date (#12742) 2020-11-02 11:42:09 +01:00
Sabe Jones
708bd4a292 chore(analytics): track first-time-purchase info 2020-10-13 10:35:44 -05:00
Matteo Pagliazzi
83aca20ce5 Fall Festival Gem Promo (#138)
* content: add gems blocks

* gemsBlocks: include ios and android identifiers

* wip: promo code

* split common constants into multiple files

* add second promo part

* geCurrentEvent, refactor promo

* fix lint

* fix exports, use world state api

* start adding world state tests

* remove console.log

* use gems block for purchases

* remove comments

* fix most unit tests

* restore comment

* fix lint

* prevent apple/google gift tests from breaking other tests when stub is not reset

* fix unit tests, clarify tests names

* iap: use gift object when gifting gems

* allow gift object with less data

* fix iap tests, remove findById stubs

* iap: require less data from the mobile apps

* apply discounts

* add missing worldState file

* fix lint

* add test event

* start removing 20 gems option for web

* start adding support for all gems packages on web

* fix unit tests for apple, stripe and google

* amazon: support all gems blocks

* paypal: support all gems blocks

* fix payments unit tests, add tests for getGemsBlock

* web: add gems plans with discounts, update stripe

* fix amazon and paypal clients, payments success modals

* amazon pay: disabled state

* update icons, start abstracting payments buttons

* begin redesign

* redesign gems modal

* fix buttons

* fix hover color for gems modal close icon

* add key to world state current event

* extend test event length

* implement gems modals designs

* early test fall2020

* fix header banner position

* add missing files

* use iso 8601 for dates, minor ui fixes

* fix time zones

* events: fix ISO8601 format

* fix css indentation

* start abstracting banners

* refactor payments buttons

* test spooky, fix group plans box

* implement gems promo banners, refactor banners, fixes

* fix lint

* fix dates

* remove unused i18n strings

* fix stripe integration test

* fix world state integration tests

* the current active event

* add missing unit tests

* add storybook story for payments buttons component

* fix typo

* fix(stripe): correct label when gifting subscriptions
2020-09-21 16:22:13 +02:00
Matteo Pagliazzi
46b5efcaf6 Allow group plans for private guilds only (#12479)
* hide upgrade button for public guilds

* prevent group plans for public guilds

* fix unit tests

* fix integration and unit tests that assumed group plans could be public guilds

* more unit tests fixes

* more resilient unit test

* more resilient unit test
2020-08-21 11:46:09 +02:00