* 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
* prevent some lint warnings by turning off some rules we don't seem to care about
require-prop-types has 167 violations
require-default-prop has 93 violations
* fix some lint warnings by adding eslint-disable-line comments
* prevent lint warnings by moving vue hooks to a different order
* apply some automatic lint fixes
* fix lint error by making line shorter
* prevent lint warnings from whitespace and @input, @click positioning
* revert 723fa38271
Reenables vue/require-prop-types and vue/require-default-prop
* wip
* refactor world state
* allow resource to be reloaded when the server is updated
* fix#9242
* fix event listeners
* remove un-needed code
* add tests for asyncResourceFactory reloadOnAppVersionChange
* fix double cron notifications and party members showing up in the header after a party invitation is accepted
* remove console.log
* do not send vm info to loggly due to circular dependency + fix typo
* fix#12181
* do not load invites multiple times in members modal
* add hover to challenge member count
* groups: load members only on demand
* minor ui fixes
* choose class: fix vue duplicate key warning
* minor ui fixes
* challanges: load members on demand
* add loading spinner
* change loading mechanism
* fix loading gryphon issues
* reduce code duplication
* Changed private message" button to use <a href> to open Private Message page in same tab.
Changed private message" button to use <a href> to open Private Message page in same tab with normal mouse click, and open in a new tab with right mouse click mouse context menu.
* Use router-link and navigation guard as requested.
Change from <a href to router-link in profile.vue and use navigation guard to obtain selected user data from server instead of doing so in mount method as requested.
* Added habitica::dismiss-modal to hide members modal
* Suggestion from lint
* Use replace in router-link to as per suggestion
* Suggestion by lint
* Remove sendMessage function in profile.vue as suggested in PR review
* Issue 11050 - Small tuneups to unlock.js
- Use includes i.o. indexOf
- Extract small function for object setting duplication
- Use every instead of custom counter
* Issue 11050 - Properly store purchased items when purchasing them
* Issue 11050 - Couple more tuneups in unlock.js and implemented partial failure scenario
* Issue 11050 - Fix last lint issue
* Issue 11050 - Check path for gear i.o. failing to write it to purchased
* Issue 11050 - Guarantee variation coverage in tests
* Issue 11050 - Use startsWith instead of includes for background check
* Issue 11050 - Don't unlock lost items
* fix: first batch of layout issues for private messages + auto sizing textarea
* username second line - open profile on face-avatar/conversation name - fix textarea height
* refresh on sync
* new "you dont have any messages" style + changed min textarea height
* new conversationItem style / layout
* reset message unread on reload
* fix styles / textarea height
* list optOut / chatRevoked informations for each conversation + show why its disabled
* Block / Unblock - correct disabled states - $gray-200 instead of 300/400
* canReceive not checking chatRevoked
* fix: faceAvatar / userLink open the selected conversation user
* check if the target user is blocking the logged-in user
* check if blocks is undefined
* max-height instead of height
* fix "no messages" state + canReceive on a new conversation
* fixed conversations width (280px on max 768 width page)
* call autosize after message is sent
* only color the placeholder
* only load the current user avatar/settings/flags
* show only the current avatar on private messages