* 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
* Added logic for a repeating Chilling Frost skill. Added test case for redundant chilling frost skill cast. Added comments for the logic of repeating Stealth skill because of an error.
* Added logic for a repeating Stealth skill. Avoiding MP reduction still pending because of console error. Test cases pending.
* Completed the logic for a repeated Stealth skill. Added repeated frost skill cast check in common. Removed exclusive test. Test cases are pending.
* Added test case for Stealth skill recast. Fixed lint errors. Fixed a flaw in if statement which led to test case failure.
* Fixed lint errors in test case.
* Added a common JSON entry for skil recasts in three files. Other files remaining. Added Chilling Frost recast check in common code. Modified test cases.
* Added spellDisabled condition in client code.
* Reverted JSON messages for three languages. Added spellAlreadyCast attribute to JSON file in locales/en. Made changes for showing appropriate message in client code.
* Added an import for throwing BadRequest in common code. Modified test case accordingly.
* Update website/common/script/content/spells.js
Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
* Added target and req attributes in cast() method arguments.
* Changed common code test case because of increased function parameters. Moved chilling frost test casse to common tests instead of server tests.
* Changed the test case format in common tests.
* Added a missing done statement.
* Fixed a minor error which led to failing test case. Removed the exclusive test which led to lint error.
* Fixed lint errors.
* Added a class named 'disabled' for the frontend change.
* fix(skills): style cleanup
* fix(skills): unfix
Co-authored-by: Matteo Pagliazzi <matteopagliazzi@gmail.com>
Co-authored-by: Sabe Jones <sabrecat@gmail.com>
* Issue 12220 - Show dailies protected by Stealth
A feature on the old site showed the number of
dailies protected by casting Stealth. This is
now showing again in the Stealth tooltip. The
skillNotes section was not being called. It
adds additional skill-specific info: the dailies
avoided by stealth, whether stealth no longer
needs to be cast (dailies already avoided) and
whether frost is no longer useful to cast.
Speculation: the spellDisabled method had some
commented out code regarding Stealth, which
may have broken due to a change in how dailies
are referenced. I have fixed this line, so it
seemed alright to keep the entirety of the
skillNotes function as it had been. However,
this includes more than just showing dailies
in the tooltip.
Behavior changes:
- tooltip shows dailies avoided for Stealth
- tooltip shows maxed out message for
Stealth when all dailies are covered
- tooltip shows frost already cast message
when frost has already been cast
* clean up conditions in skillNotes
* use future tense for rogue stealth dailies tooltip
* use getter for accurate task length
* consider stealth disabled based on incomplete dailies due, not all dailies
* Issue 12220 - Show dailies protected by Stealth
A feature on the old site showed the number of
dailies protected by casting Stealth. This is
now showing again in the Stealth tooltip. The
skillNotes section was not being called. It
adds additional skill-specific info: the dailies
avoided by stealth, whether stealth no longer
needs to be cast (dailies already avoided) and
whether frost is no longer useful to cast.
Speculation: the spellDisabled method had some
commented out code regarding Stealth, which
may have broken due to a change in how dailies
are referenced. I have fixed this line, so it
seemed alright to keep the entirety of the
skillNotes function as it had been. However,
this includes more than just showing dailies
in the tooltip.
Behavior changes:
- tooltip shows dailies avoided for Stealth
- tooltip shows maxed out message for
Stealth when all dailies are covered
- tooltip shows frost already cast message
when frost has already been cast
* factor out stealthBuffsToAdd for casting stealth + tooltip previewing dailies avoided
* fix merge conflict
* Only show attainable and owned special pets/mounts
Fixes#9498
* #9498: Handle comments
Don't change API,
put canFind in petInfo and mountInfo
* #9498: Move canFind to itemInfo, to allow sync
* #9498: Create a show method, to allow update without reload.
* feat(subscriber): award mystery items at cron
* fix(mystery): backfill skipped months
* fix(mystery): adjust subscriber text
* fix(mystery): correct moment logic
and remove irrelevant tests
* fix(mystery): build set one month in advance
* fix(mystery): don't add empty set to Time Travelers
* refactor(mystery): readability
- Rewrite exports of debuffPotion functions
- Force clear debuffPotions in setDebuffPotionItems to make the same behavior as in develop branch
- Change class of debuffPotion items to shop_{key}
- Resolve lint warnings
* Fix: moved debuffPotions from vue component
- Move logic of choosing proper debuf potion from vue component to website commons
- introduce new function to get debuffSpellItems
* Fix: move debuffPotions to server
* Refactoring: move setting of debuff potion to func
* Fix: sanity
* Refactoring & Tests:
- Create test case for get and set DebuffPotionItems functions
- Fix setDebuffPotionItems function to not create duplicated debuff items
- Make debuff potion type of items unpinnable
- Move list of debuffs to constant to reuse it in tests and functions
* Fix: typo in test describe
* Fix: translation of unpin
* Fix: setDebuffPotionItems on cron buffs reset
* Fix: use full path for debuff potions
* wip: createIntro / onboard ui rework
* extract more methods - working body settings component
* move justin above the dialog
* extract submenu + fix styles
* white background on items, working example of "none" item, item border radius
* extract options as component
* move more subMenu's to the component
* add chair margins
* move tasks to common/content
* add menu indicator
* extract more parts of onboarding-intro
* refactor / fully converted hair-settings
* extract extra-settings
* fix sprite positions / lint
* extract task-strings to be translatable
* style fixes - hide submenu's if not editing
* style / margin fixes
* more style fixes
* show hair styles at onboarding - use arrowleft/right as svg instead of image fix next color
* finish button style - full set background/purchase button
* fix footer - prev/next hover
* Add Default Tasks + `byHabitica` property
* customize-options click item on the full zone
* purple tasks
* footer animation => none
* fix onboarding task habit up/down
* onboarding circle color/position
* task styles
* fix onboarding position
* show seasonal options
* add hover to (locked-) options
* added the correct behavior of shop-items to onboarding options
* hide hover on active options
* feat(content): Hourglass Quest
* fix(hourglasses): NaN from undefined
* fix(quests): sanity check for negative scrolls
* fix(hourglasses): don't show quantity selection for binary items
* fix(route): validate number, use body not params
* test(timetrav): add quest tests
* wip: define items as mixed objects
* add default owned gear
* mark modified
* more mark modified
* more mark modified
* more mark modified
* more mark modified
* fix common tests
* fix common tests
* update mongoose
* add itemsUtils
* use new util function in hall controller
* add tests for items utils
* update website/server to mark all items as modified
* start updating common code
* update login incentives
* update unlock
* remove changes to package-lock.json
* remove changes to package.json
* removing duplicate keys
* adding chair assets and wiring them to customize screen
* adding customization data for new wheelchair types
* removing an unused locale key and moving the code style override closer to the affected area
* explicitly re-enabilng linting rule
* adding button-sized chair assets
* updating assets to new resolution
* moving chair keys into component data
* Fixing healing light not being castable on server and client sides when user has already full health
Adding integration test for spell cast of healing light when full health
Adding test for heal cast if user has full health
* Fixing ESLint syntax in the spells test files
* update antidote display and functionality - fixes#9758 and #10160
update antidote display and functionality - fixes#9758 and #10160
update antidote display and functionality - fixes#9758 and #10160
update antidote display and functionality - fixes#9758 and #10160
* clean up / refactor
* prevent unpin of all items which don't have a pinType
* remove the double boolean casting / fix lint
* update antidote display and functionality - fixes#9758 and #10160
update antidote display and functionality - fixes#9758 and #10160
update antidote display and functionality - fixes#9758 and #10160
update antidote display and functionality - fixes#9758 and #10160
* clean up / refactor
* prevent unpin of all items which don't have a pinType
* remove the double boolean casting / fix lint
* problem location identified (breaks code)
* problem identification notes
* Add class checking to ES (does not yet notify user)
* Add error message
* Add .gitattributes
Attempting to fix line ending disaster
* package stuff
so I can see what's broken
* add reminder and hopefully fix gitattributes
* Fix lint errors
* Redo surge fail notifs
* exterminate rogue comment, fix gitattributes
* Remove unused import
As per @paglias' request.
* fix(lint): remove extraneous expression
* Delete .gitattributes
* Fix skill key surge -> mpheal
* Show notification only when there are mages in party
* Fix notification being too big and appearing outside the notification div
* Remove unused code
* Only show the notification on parties with 2 or more mages
The caster is a mage, so certainly at least 1 mage will be counted.
* Automated test: mpheal does not heal other mages
* Fix lint error
* Fix typo in test description
* Increase performance of test
* Using target instead of requestion partyMembers again
* Rename variable 'party' to 'partyMembers'
* Update strings in English
* spell -> Skill
* feat(world-boss): barebones API
* fix(world): use Express respond for better JSON
* fix(api): respond with code 200
* feat(content): canonical Dysheartener desc and Rage
* fix(world-boss): enable progress
* WIP(test): world state API
* WIP(test): refactor world boss setup
* WIP(test): better expectations
* fix(test): more expect polishing
* feat(event): server side World Boss
* fix(strings): accidental deletion
* fix(content): include encouragement after Rage
* refactor(world-boss): address comments
* testing additional event trigger for sendMessage
* moved keyup event to newmessage
* added keyup event to tavern vue too
* all food items now have version with definite and indefinite article. foodText also adapted in messages json
* modified api.food, and feed, armoire and drop mechanism
* drops now ok, removed dropArticle, corrected feed test
* test correction
* api doc modification for task completion
* Added initial bailey api
* wip
* implement new panel header
* Fixed lint
* add ability to mark notification as seen
* add notification count, remove top badge from user and add ability to mark multiple notifications as seen
* add support dismissall and mark all as read
* do not dismiss actionable notif
* mark as seen when menu is opened instead of closed
* implement ordering, list of actionable notifications
* add groups messages and fix badges count
* add notifications for received cards
* send card received notification to target not sender
* rename notificaion field
* fix integration tests
* mark cards notifications as read and update tests
* add mystery items notifications
* add unallocated stats points notifications
* fix linting
* simplify code
* refactoring and fixes
* fix dropdown opening
* start splitting notifications into their own component
* add notifications for inbox messages
* fix unit tests
* fix default buttons styles
* add initial bailey support
* add title and tests to new stuff notification
* add notification if a group task needs more work
* add tests and fixes for marking a task as needing more work
* make sure user._v is updated
* remove console.log
* notification: hover status and margins
* start styling notifications, add separate files and basic functionalities
* fix tests
* start adding mystery items notification
* wip card notification
* fix cards text
* initial implementation inbox messages
* initial implementation group messages
* disable inbox notifications until mobile is ready
* wip group chat messages
* finish mystery and card notifications
* add bailey notification and fix a lot of stuff
* start adding guilds and parties invitations
* misc invitation fixes
* fix lint issues
* remove old code and add key to notifications
* fix tests
* remove unused code
* add link for public guilds invite
* starts to implement needs work notification design and feature
* fixes to needs work, add group task approved notification
* finish needs work feature
* lots of fixes
* implement quest notification
* bailey fixes and static page
* routing fixes
* fixes # this.$store.dispatch(guilds:join, {groupId: group.id, type: party});
* read notifications on click
* chat notifications
* fix tests for chat notifications
* fix chat notification test
* fix tests
* fix tests (again)
* try awaiting
* remove only
* more sleep
* add bailey tests
* fix icons alignment
* fix issue with multiple points notifications
* remove merge code
* fix rejecting guild invitation
* make remove area bigger
* fix error with notifications and add migration
* fix migration
* fix typos
* add cleanup migration too
* notifications empty state, new counter color, fix marking messages as seen in guilds
* fixes
* add image and install correct packages
* fix mongoose version
* update bailey
* typo
* make sure chat is marked as read after other requests
* fix(shops): event date range for mobile
* fix(profile): clean up equipment grids
* fix(strings): remove unused string
* fix(sprites): recanvas Lost Masterclasser scrolls
* fix(sprites): serve animated GIFs
Also add new GIF for upcoming quest line
* feat(content): Masterclasser capstone quest
Also fixes Quests page for clearer lock/unlock display
* chore(sprites): compile
* feat(achievements): award quest completionist cheevo
* feat(quests): Siphoning Void
fix Achievements page styling and text spacing
fix display of Rage bar on party page
* test(quests): Lost Masterclasser
* chore(news): Bailey
* fix(test): only use Masterclasser in relevant scenario
* extract seasonal-shop config - use summer season items (to work on)
* add suggested border to shopItems
* refactor getOfficialPinnedItems (now includes the seasonal gear)
* refactor shops.getSeasonalShop - add featured items to result - add the set to special equipment items
* feat(content): Fall 2017 seasonal gear
Also adds set keys for all prior seasonal gear.
* show item limited time (buyModal & shopItem)
* select seasonal fall sets
* WIP(seasonal-shop): placeholder Fall 2017 items
* fix lint
* sprites
* styling + fix purchase of seasonal spells
* compile sprites
* fixes: check isPinned with officialItems
* enable purchase of seasonal items for testing
* fix shop apis
* add featuredItems to market
* quest shop: add featuredItems to api
* tiem travelers shop: add featuredItems to api
* fix gear types filter
* feat(content): Fall 2017 compleat
* chore(sprites): compile
* show opened shop state (npc+background)
* add opened seasonal npc
* current seasonal users class set = purchase by gold - lock other sets of the current season
* hide event badge in seasonal shop - dot only for suggested items - cursor: pointer on shopItems
* refresh rewards column list (seasonal gear won't refresh it on purchase)
* fix duplicate seasonal gear -> remove special items from the old reward gear (which is used to reset the pinned gears)
* every current season gear is purchased by gold - prevent buyModal on locked items
* use the current event date range
* list seasonal sets by event date
* use custom method instead of updateStore to list the pinnable gear
* change daterange to 10-31
* fix start quest modal from items - disable invite quest button if a quest is already active
* toggle pin in buy-dialogs
* check if the item is not undefined/null - renamed the watch function
* use countBadge instead of class
* generic purchase action from buyModal to handle all kind of purchases - able to purchase backgrounds - return backgrounds as flat array
* List MysteryItem & Hourglass in Inventory/Items
* add Subscribers Gem Item (purchase by gold)
* fix mysterybox
* sort unlocked gear first
* add orb of rebirth to market
* remove old quest scroll + class of the quest items
* more padding on countBadge
* use the generic purchase on quests
* add hourglass to header
* multiple quest fixes - show quest info in popover/modal
* pin backgrounds
* unpin gem-purchable items / change pinType of quest to quests
* check if hatching potion is allowed on egg - wide hatching info
* fix (perf): items - request text()/notes() only once
* change items margin to 23px
* list cards + open modal to choose a target + add space between market items
* buy card from task-list
* fix tests - unpin items on purchasing eggs / hatchingPotions
* reposition FlyingPigs and Hydra
* hide count-badge if 0
* fix sortBy hatchable (ignore already hatched pets)
* always show animal name
* featuredItems, use shopItem objects
* fix egg / potion names in market
* buyModals: check for price, mark it if not enough available / change buy-button opacity / show purchaseGems button
* save itemRows open/collapsed state during session, refactor itemRows for some more performance
* pin featured items
* show bordered items in market buyModal
* fix popover margins / paddings
* position pinned items popovers to the left
* add an Earnable Quests group for Basi-List and Dust Bunnnies
This allows Basi-List and Dust Bunnies to be automatically placed
in their own group on the Quests Shop page in the new client.
* adjust name of Vice and Recidivate quest groups
* toggle pinned state of items server + client
* pin quests / add pin src
* add officially pinned items and api to get in app rewards
* update schema and get items deatils
* update pin actions to the new logic
* show countBadge only with a number
* extract getPinKey - pin seasonal items
* togglePinned in buy-dialogs
* add pinKey to shop items
* wip
* wip
* fix path
* togglePinnedItem as common.op / use in client
* fix linting
* pinning: getItemInfo and save in db path and type
* make api more consistent, fix bugs
* updates
* fix bugs
* update actions to current api
* marketGear
* change to pinType
* add mystery_set to getItemInfo
* fix isPinned
* ignore animals
* list shopItems (initial)
* shopItem now has default popoverconent, itemclass and price / currency - list pinned items as rewards - attributes to gear
* show buyModal for the rewards
* show mystery_set icon
* add info whether item is suggested
* write migration, fix style issues
* pin potion and armoire
* make potion, armoire not unpinnable
* show notes for armoire and potion, add default items for new users
* show unpin notification
* add/remove pinned gear on class-change
* remove pinned & add new gear on purchase - refactoring pinning methods - fixes
* always allow to purchase armoire
* highlight item if suggested
* wip: add task scoring and persist checklist items
* remove unused files, fix checklist scoring and start adding support for groups tasks
* amke group and challenge tasks not scoreable
* initial quests.vue - refactorings - add group to quests
* shows quests by quest-group
* buyQuestModal with rewards sidebar
* store / actions to load seasonal/time-travelers shop data
* buyModal buyPressed instead of buyAction - seasonal shop categories now with specialClass property - seasonal shop
* time travelers vue - show hourglass in shopItem / buyDialog - fix banners
* cleanup
* show amount of already owned quests
* show html notes in popovers / dialog
* extract purchase-api to common.ops.purchaseWithSpell to call the same in the store / update the UI on purchases
* add time-travelers sprites
* fix lint
* add last mystery set images
* remove unused Page
* remove equipment from newClient.json
* initial market - routing - store - load market data
* move drawer/drawerSlider / count/star badge to components/ui
* filter market categories
* shopItem with gem / gold
* show count of purchable items
* show count of purchable itemsshow drawer with currently owned items + DrawerHeaderTabs-Component
* show featured gear
* show Gear - filter by class - sort by (type, price, stats) - sort market items
* Component: ItemRows - shows only the max items in one row (depending on the available width)
* Sell Dialog + Balance Component
* generic buy-dialog / attributes grid with highlight
* buyItem - hide already owned gear
* filter: hide locked/pinned - lock items if not enough gold
* API: Sell multiple items
* show avatar in buy-equipment-dialog with changed gear
* market banner
* misc fixes
* filter by text
* pin/unpin gear store actions
* Sell API: amount as query-parameter
* Update user.js
* fixes
* fix sell api amount test
* add back stroke/fill currentColor
* use scss variables
* Added text to locale
* Added achievement to content and libs
* Added achievement modal
* Added achievement to notification model and controller
* Added achievement to user schema
* Grant achievement to inviter when user registers using emailed link
* Fix icon name
* Added integration test
* Fix linting
* Added sprite
* Added image
* Added new achievement to user schema
* Added new achievement to content
* Added new achievement to libs
* Added achievement text to locale
* Added achievement to notification model and controller
* Grant achievement on joining or creating first challenge
* Added achievement to modal template
* Compiled new sprites
* Added integration tests
* Fix linting error
* create script to insert message into party chat because collection quest is now easier
See https://github.com/HabitRPG/habitrpg/pull/7987 for more details.
* fix(quests): make collection less burdensome
* refactor(migration): return groups directly
* Add card and achievement sprite for Congrats card
* Add data regarding Congrats card
* Add Get Well card
* Add Get Well images
* Add schema
* Remove `if (!target.flags) target.flags = {};` code from cards
* Remove white backgrounds for congrats sprites
* add inital tests for cards
* Fix card tests
* Fix invalid urls in tests
* Update POST-user_class_cast_spellId.test.js
* Update POST-user_class_cast_spellId.test.js
* Update POST-user_class_cast_spellId.test.js
* Update congrats card sprite
* Fix card logic
* Fix user schema
* Change achievement values for new cards to Number
* Resize congrats and getwell cards
This will make them be sized properly
* Separate Market from Drops
* Extract cards to new section
* fix(sprites): revert spritesheet changes
* Add flags if target does not have them
* WIP(guilds): AB test pester modal
* WIP(AB-test): guild pester cont'd
* fix(style): linting error
* fix(AB-test): markModified and notif enum
* fix(tests): update AB expectations
* fix(modal): remove extra includes
* feat(achievements): add Joined Guild cheevo
Also removes unused achievement sprites, and properly saves counter used in A/B testing
* fix(style): linting error from conflict
* Issue 8432: Pre-test for initial fix
* Add failing test, seeking help/advice
* Fixes achievements injection. Now trying with Guide
* Fixes tests
* Remoed logging
* Mock ENV function
* Removes test focus
* Remove Beat Master unlock for Rebirth
* Special message when complete all check-in prizes
* Updated comment
* fix(test): unpend party cap test
* remove wrong subscriptions from gift modal
* edit the new issue template to emphasise that the Report a Bug guild should be used first (#8659)
* fix(translation): resolve merge conflict
* fix(news): merge conflict
* Added email invite limit (#8664)
* Added email invite limit
* change error message for sending too many invitations to instruct them to email us
* fix test error message to use variable in locales string
* add comment to warn about keeping INVITES_LIMIT low
If INVITES_LIMIT is allowed to be greater than MAX_EMAIL_INVITES_BY_USER
then the inviter can send more than MAX_EMAIL_INVITES_BY_USER invitations
at once.
* Fix for automatic allocation not persisting #8641 (#8661)
* Fixed text of check-in prize when it is a set of backgrounds (#8599)
* Fixed text of check-in prize when it is a set of backgrounds
* Use existing i18n string for BGs name
* Added user.preferences.language as second parameter
* fix Shiny Seeds info about achievement (not given to caster) (#8679)
Ref: https://habitica.slack.com/archives/C02RK7DKF/p1492032261365388
* Release mergeback v3.86.0 (#8685)
* 3.85.0
* New User Tasks for Mobile (#8682)
* feat(mobile): different default tasks
* fix(linting): missing space
* fix(user): correct client type logic
* test(integration): tasks by platform
* fix(test): remove only
* test(user): deeper checks on tasks
* refactor(test): whitespace for readability
* feat(subs): Jackalope Pets (#8684)
* chore(sprites): compile
* chore(i18n): update locales
* 3.86.0
* feat(mobile): different default tasks
* fix(linting): missing space
* fix(user): correct client type logic
* test(integration): tasks by platform
* fix(test): remove only
* test(user): deeper checks on tasks
* refactor(test): whitespace for readability
* Fixed text of check-in prize when it is a set of backgrounds
* Use existing i18n string for BGs name
* Added user.preferences.language as second parameter
* Release Mergeback (#8644)
* Remove email addresses from translatable strings (#8448)
* Fix User > Profile showing {getProgressDisplay()}
* Remove bad nextRewardAt check
* 1st iteration of issue #8385 - more pending
* #8385 config and jade fixes, tests pending
* #8385 fixing lint errors
* Fix faqs string and test
* Fix faq.jade and add workaround for faq.js
* Fixing accidental checking for faq.js
* fix emails in faq.js
* fetch emails once in auth.js
* Fixing community manager email in auth.js
(cherry picked from commit 842fbe42a8)
* chore(i18n): update locales
(cherry picked from commit b2225f05e5)
* Merge branch 'stripe-webhook' into develop
(cherry picked from commit 30f514e46f)
* add recent Grand Gala seasonal special equipment names (#8606)
This is to help translators add good glossary entries now for keeping the current wiki pages consistent with future additions to the website's seasonal shop.
(cherry picked from commit 4846bc5769)
* stripe webhook for unpaid subs: add 3 days of remaining time
(cherry picked from commit 1d7b733759)
* New default background (#8597)
* feat(bgs): new default background
* feat(bgs): backfill migration
* fix(migration): extraneous imports, bad paths
* fix(bgs): address comments
* fix(test): assert equality
(cherry picked from commit 03088f1d9f)
* chore(sprites): compile
(cherry picked from commit 831b122ce2)
* chore(i18n): update locales
(cherry picked from commit be1754ab07)
* chore(public-docs): Community Guidelines update
Also Bailey announcement
(cherry picked from commit 565d50dd99)
* chore(i18n): update locales
(cherry picked from commit d4198f8913)
* 3.83.0
(cherry picked from commit ea18489991)
* chore(news): Bailey
* rebuild shrinkwrap
(cherry picked from commit 96ce948e1a)
* stripe webhook: fix handling of automatic requests
(cherry picked from commit c4463f991b)
* 3.83.1
* v3.83.2 - April Fools 2017 (#8632)
* feat(event): April Fools 2017
* feat(event): NPCs and Bailey
* fix(event): tweak NPCs, add challenge link
* chore(sprites): compile
* 3.83.2
* v3.83.3 Fooling Fix (#8633)
* fix(fooling): add logic to party and member modals
* 3.83.3
* v3.83.4 Export fooling (#8634)
* fix(fooling): allow export
* 3.83.4
* v3.83.5 End Fooling (#8638)
* chore(event): no more foolin
* chore(sprites): compile
* 3.83.5
* fix(merge-conflict): prefer develop
for config.json.example
* fix(merge-conflict): fewer istanbul deps
* Replace golden rock mount body sprite
* feat(content): BGs and Armoire 2017-04
Also fixes a positioning issue on Spring Healer headgear.
* chore(sprites): compile
* chore(i18n): update locales
* 3.84.0
* Remove email addresses from translatable strings (#8448)
* Fix User > Profile showing {getProgressDisplay()}
* Remove bad nextRewardAt check
* 1st iteration of issue #8385 - more pending
* #8385 config and jade fixes, tests pending
* #8385 fixing lint errors
* Fix faqs string and test
* Fix faq.jade and add workaround for faq.js
* Fixing accidental checking for faq.js
* fix emails in faq.js
* fetch emails once in auth.js
* Fixing community manager email in auth.js
(cherry picked from commit 842fbe42a8)
* chore(i18n): update locales
(cherry picked from commit b2225f05e5)
* Merge branch 'stripe-webhook' into develop
(cherry picked from commit 30f514e46f)
* add recent Grand Gala seasonal special equipment names (#8606)
This is to help translators add good glossary entries now for keeping the current wiki pages consistent with future additions to the website's seasonal shop.
(cherry picked from commit 4846bc5769)
* stripe webhook for unpaid subs: add 3 days of remaining time
(cherry picked from commit 1d7b733759)
* New default background (#8597)
* feat(bgs): new default background
* feat(bgs): backfill migration
* fix(migration): extraneous imports, bad paths
* fix(bgs): address comments
* fix(test): assert equality
(cherry picked from commit 03088f1d9f)
* chore(sprites): compile
(cherry picked from commit 831b122ce2)
* chore(i18n): update locales
(cherry picked from commit be1754ab07)
* chore(public-docs): Community Guidelines update
Also Bailey announcement
(cherry picked from commit 565d50dd99)
* chore(i18n): update locales
(cherry picked from commit d4198f8913)
* 3.83.0
(cherry picked from commit ea18489991)
* chore(news): Bailey
* rebuild shrinkwrap
(cherry picked from commit 96ce948e1a)
* stripe webhook: fix handling of automatic requests
(cherry picked from commit c4463f991b)
* 3.83.1
* v3.83.2 - April Fools 2017 (#8632)
* feat(event): April Fools 2017
* feat(event): NPCs and Bailey
* fix(event): tweak NPCs, add challenge link
* chore(sprites): compile
* 3.83.2
* v3.83.3 Fooling Fix (#8633)
* fix(fooling): add logic to party and member modals
* 3.83.3
* v3.83.4 Export fooling (#8634)
* fix(fooling): allow export
* 3.83.4
* v3.83.5 End Fooling (#8638)
* chore(event): no more foolin
* chore(sprites): compile
* 3.83.5
* fix(merge-conflict): prefer develop
for config.json.example
* fix(merge-conflict): fewer istanbul deps
* Replace golden rock mount body sprite
* feat(content): BGs and Armoire 2017-04
Also fixes a positioning issue on Spring Healer headgear.
* chore(sprites): compile
* chore(i18n): update locales
* 3.84.0
* Fix User > Profile showing {getProgressDisplay()}
* Remove bad nextRewardAt check
* 1st iteration of issue #8385 - more pending
* #8385 config and jade fixes, tests pending
* #8385 fixing lint errors
* Fix faqs string and test
* Fix faq.jade and add workaround for faq.js
* Fixing accidental checking for faq.js
* fix emails in faq.js
* fetch emails once in auth.js
* Fixing community manager email in auth.js
(cherry picked from commit 842fbe42a8)
* Fix User > Profile showing {getProgressDisplay()}
* Remove bad nextRewardAt check
* 1st iteration of issue #8385 - more pending
* #8385 config and jade fixes, tests pending
* #8385 fixing lint errors
* Fix faqs string and test
* Fix faq.jade and add workaround for faq.js
* Fixing accidental checking for faq.js
* fix emails in faq.js
* fetch emails once in auth.js
* Fixing community manager email in auth.js
* Added subscriptions to all members when group subs
* Added unsub when group cancels
* Give user a subscription when they join a subbed group
* Removed subscription when user leaves or is removed from group
* Fixed linting issues:
* Added tests for users with a subscription being upgraded to group plan
* Added tests for checking if existing recurring user sub gets updated during group plan. Added better merging for plans
* Added test for existing gift subscriptions
* Added additional months to user when they have an existing recurring subscription and get upgraded to group sub
* Adds test for user who has cancelled with date termined in the future
* Added test to ensure date termined is reset
* Added tests for extra months carrying over
* Added test for gems bought field
* Add tests to for fields that should remain when upgrading
* Added test for all payment methods
* Added prevention for when a user joins a second group plan
* Fixed subscribing tests
* Separated group plan payment tests
* Added prevention of editing a user with a unlimited sub
* Add tests to ensure group keeps plan if they are in two and leave one
* Ensured users with two group plans do not get cancelled when on group plan is cancelled
* Ensured users without group sub are untouched when group cancels
* Fixed lint issues
* Added new emails
* Added fix for cron tests
* Add restore to stubbed methods
* Ensured cancelled group subscriptions are updated
* Changed group plan exist check to check for date terminated
* Updated you cannont delete active group message
* Removed description requirement
* Added upgrade group plan for Amazon payments
* Fixed lint issues
* Fixed broken tests
* Fixed user delete tests
* Fixed function calls
* Hid cancel button if user has group plan
* Hide difficulty from rewards
* Prevented add user functions to be called when group plan is cancelled
* Fixed merge issue
* Correctly displayed group price
* Added message when you are about to join canclled group plan
* Fixed linting issues
* Updated tests to have no redirect to homes
* Allowed leaving a group with a canceld subscription
* Fixed spelling issues
* Prevented user from changing leader with active sub
* Added payment details title to replace subscription title
* Ensured we do not count leader when displaying upcoming cost
* Prevented party tasks from being displayed twice
* Prevented cancelling and already cancelled sub
* Fixed styles of subscriptions
* Added more specific mystery item tests
* Fixed test to refer to leader
* Extended test range to account for short months
* Fixed merge conflicts
* Updated yarn file
* Added missing locales
* Trigger notification
* Removed yarn
* Fixed locales
* Fixed scope mispelling
* Fixed line endings
* Removed extra advanced options from rewards
* Prevent group leader from leaving an active group plan
* Fixed issue with extra months applied to cancelled group plan
* Ensured member count is calculated when updatedGroupPlan
* Updated amazon payment method constant name
* Added comment to cancel sub user method
* Fixed smantic issues
* Added unite test for user isSubscribed and hasNotCancelled
* Add tests for isSubscribed and hasNotCanceled
* Changed default days remaining to 2 days for group plans
* Fixed logic with adding canceled notice to group invite
* try to freeze content object
* deep freeze the content object, start to implement stable
* freeze at the /common level
* go back to freezing content only on the client
* use deep-frezze-strict to support phantomjs
* use own version of deepFreeze
* update comment about deepFreeze
* Moved Royal Purple to top of list, ordered other mounts from Spring to Winter
* Issue 8465, moved Royal Purple to top and arranged other pets/mounts from Spring-Winter
* Fixed whitespacing mistake from previous commit
* Magic Hatching Potions reordered by season