* feat(subscription): promo banner in modal
* feat(subscription): promo banner on main page
* fix(banners): remove extraneous margin adjustment
* fix(banners): various
* feat(promotion): gift 1, get 1
* fix(promo): various
* chore(promo): add Bailey
* fix(promo): use different email template for promo beneficiary
* fix(promo): turns out Winter is meaningful
Set `width: 100%` on the `.custom-control-label`.
Although `overflow-wrap: break-word` is set on the parent `.checklist-item` element, it doesn't seem to take effect unless a width is set on the label.
Disappearing input fields
Text replacement in @mentions
UUID visibility in profiles
Purple dot for @mentioned usernames
TypeError preventing RYA
Group Plan member list error
* If user's cron will happen later today, start the task yesterday.
* Added default dayStart to taskDefaults.
* Removed the need to call shouldDo twice to calculate nextDue.
* Revert "Removed the need to call shouldDo twice to calculate nextDue."
This reverts commit e1467f2fc33cfb11e6a4fc667460df6a48b69d45.
* Removed defaults from taskDefault arguments.
* Got user from $store in copyAsTodoModal.vue.
* Fixed tests for taskDefaults to include mock user.
* Fix shouldDo tests when run in GMT timezone.
* Added test to taskDefault; added utcOffset to taskDefault.
* Replaced utcOffset with zone.
* Removed erroneous import.
* fix
Newly subscribed accounts receive erroneous notification that they have Mystery Items
* Added unit test for #10496
* Restored a previous unit test
* add hasCancelled method for group/user, prevent cancelling a subscription twice
* wip
* paypal: do not cancel a subscription twice
* make sure hasCancelled and hasNotCancelled return a boolean result
* sort equipment by stat descending in Market (issue #10728)
* fix sorting equipment by PER in Market (new issue?)
* move filter logic into method when sorting equipment in Market
* consolidate sorting in sortedGearItems() into one _orderBy call
* Show accurate experience notifications
Add unit tests for exp notifications
* use array to compute exp and lvl values for notification changes
* Add tests for user loosing xp cases
* Display message on My Guilds page when filters dont' match anything
* Display message on Discover Guilds page when filters dont' match anything
* Display message on My Challenges page when filters dont' match anything
* Display message on Discover Challenges page when filters dont' match anything
* Don't show Load More button when there is nothing to load
* Fix Guild search
Previously was not possible to clear after searching
* fix(groups): more intelligent member actions
* fix(groups): further member action improvements
* fix(groups): don't show "Remove Manager" if user doesn't have authority
* fix(lint): bad if syntax
* fix(groups): unnecessary if on icon
* autocomplete dialog now has ternary operator to determine placement
* added min height to textbox
* fixed spacing according to travisCI
* heightToUse function now retrieves argument from props
* Add remove member option from main task page
* Code refactor for remove member options
* code refactor to avoid loading party multiple times
* fix dispatch to ensure only pulling once from server
* Don't show "no guilds" texts while loading
Unified styling of "no guilds" message with my challenges page
Fixes#10662
* Don't show "no challenges" texts while loading
Add loading indicator (similar to find challenges & my guilds pages)
* Change gray color
* Set challenge icon color
* Decrease mana when removing stat points from int
* Revert "Decrease mana when removing stat points from int"
This reverts commit 5e25e13552.
* add mana when stat updates are saved
* don't allow users to deallocate saved stat points in the ui
* use flag to determine whether to add mana points
* add test for not adding mana points when flag is set
* Revert "add test for not adding mana points when flag is set"
This reverts commit 6e8ff36a79.
* Revert "use flag to determine whether to add mana points"
This reverts commit 274e2d0d33.
* Revert "add mana when stat updates are saved"
This reverts commit 422bd49191.
* move client side stat allocation to when save is pressed
* update displayed total stats during editing
* Fix lint errors
Reword invalid characters error
Correct typo in slur error
Remove extraneous Confirm button
Reset username field if empty on blur
Restore ability to add local auth to social login
* Change update username API call
The call no longer requires a password and also validates the username.
* Implement API call to verify username without setting it
* Improve coding style
* Apply username verification to registration
* Update error messages
* Validate display names.
* Fix API early Stat Point allocation (#10680)
* Refactor hasClass check to common so it can be used in shared & server-side code
* Check that user has selected class before allocating stat points
* chore(event): end Ember Hatching Potions
* chore(analytics): reenable navigation tracking
* update bcrypt
* Point achievement modal links to main site (#10709)
* Animal ears after death (#10691)
* Animal Ears purchasable with Gold if lost in Death
* remove ears from pinned items when set is bought
* standardise css and error handling for gems and coins
* revert accidental new line
* fix client tests
* Reduce margin-bottom of checklist-item from 10px to -3px. (#10684)
* chore(i18n): update locales
* 4.61.1
* feat(content): Subscriber Items and Magic Potions
* chore(sprites): compile
* chore(i18n): update locales
* 4.62.0
* Display notification for users to confirm their username
* fix typo
* WIP(usernames): Changes to address #10694
* WIP(usernames): Further changes for #10694
* fix(usernames): don't show spurious headings
* Change verify username notification to new version
* Improve feedback for invalid usernames
* Allow user to set their username again to confirm it
* Improve validation display for usernames
* Temporarily move display name validation outside of schema
* Improve rendering banner about sleeping in the inn
See #10695
* Display settings in one column
* Position inn banner when window is resized
* Update inn banner handling
* Fix banner offset on initial load
* Fix minor issues.
* Issue: 10660 - Fixed. Changed default to Please Enter A Value (#10718)
* Issue: 10660 - Fixed. Changed default to Please Enter A Value
* Issue: 10660 - Fixed/revision 2 Changed default to Enter A Value
* chore(news): Bailey announcements
* chore(i18n): update locales
* 4.62.1
* adjust wiki link for usernameInfo string
https://github.com/HabitRPG/habitica-private/issues/7#issuecomment-425405425
* raise coverage for tasks api calls (#10029)
* - updates a group task - approval is required
- updates a group task with checklist
* add expect to test the new checklist length
* - moves tasks to a specified position out of length
* remove unused line
* website getter tasks tests
* re-add sanitizeUserChallengeTask
* change config.json.example variable to be a string not a boolean
* fix tests - pick the text / up/down props too
* fix test - remove changes on text/up/down - revert sanitize condition - revert sanitization props
* Change update username API call
The call no longer requires a password and also validates the username.
* feat(content): Subscriber Items and Magic Potions
* Re-add register call
* Fix merge issue
* Fix issue with setting username
* Implement new alert style
* Display username confirmation status in settings
* Add disclaimer to change username field
* validate username in settings
* Allow specific fields to be focused when opening site settings
* Implement requested changes.
* Fix merge issue
* Fix failing tests
* verify username when users register with username and password
* Set ID for change username notification
* Disable submit button if username is invalid
* Improve username confirmation handling
* refactor(settings): address remaining code comments on auth form
* Revert "refactor(settings): address remaining code comments on auth form"
This reverts commit 9b6609ad64.
* Social user username (#10620)
* Refactored private functions to library
* Refactored social login code
* Added username to social registration
* Changed id library
* Added new local auth check
* Fixed export error. Fixed password check error
* fix(settings): password not available on client
* refactor(settings): more sensible placement of methods
* chore(migration): script to hand out procgen usernames
* fix(migration): don't give EVERYONE new names you doofus
* fix(migration): limit data retrieved, be extra careful about updates
* fix(migration): use missing field, not migration tag, for query
* fix(migration): unused var
* fix(usernames): only generate 20 characters
* fix(migration): set lowerCaseUsername
* - updates a group task - approval is required
- updates a group task with checklist
* add expect to test the new checklist length
* - moves tasks to a specified position out of length
* remove unused line
* website getter tasks tests
* re-add sanitizeUserChallengeTask
* change config.json.example variable to be a string not a boolean
* fix tests - pick the text / up/down props too
* fix test - remove changes on text/up/down - revert sanitize condition - revert sanitization props
* Animal Ears purchasable with Gold if lost in Death
* remove ears from pinned items when set is bought
* standardise css and error handling for gems and coins
* revert accidental new line
* shared model for chat and inbox
* disable inbox schema
* inbox: use separate model
* remove old code that used group.chat
* add back chat field (not used) and remove old tests
* remove inbox exclusions when loading user
* add GET /api/v3/inbox/messages
* add comment
* implement DELETE /inbox/messages/:messageid in v4
* implement GET /inbox/messages in v4 and update tests
* implement DELETE /api/v4/inbox/clear
* fix url
* fix doc
* update /export/inbox.html
* update other data exports
* add back messages in user schema
* add user.toJSONWithInbox
* add compativility until migration is done
* more compatibility
* fix tojson called twice
* add compatibility methods
* fix common tests
* fix v4 integration tests
* v3 get user -> with inbox
* start to fix tests
* fix v3 integration tests
* wip
* wip, client use new route
* update tests for members/send-private-message
* tests for get user in v4
* add tests for DELETE /inbox/messages/:messageId
* add tests for DELETE /inbox/clear in v4
* update docs
* fix tests
* initial migration
* fix migration
* fix migration
* migration fixes
* migrate api.enterCouponCode
* migrate api.castSpell
* migrate reset, reroll, rebirth
* add routes to v4 version
* fix tests
* fixes
* api.updateUser
* remove .only
* get user -> userLib
* refactor inbox.vue to work with new data model
* fix return message when messaging yourself
* wip fix bug with new conversation
* wip
* fix remaining ui issues
* move api.registerLocal, fixes
* keep only v3 version of GET /inbox/messages
* rename hasAccess to canJoin for challenges
This is so the function won't be used accidentally for other
purposes, since hasAccess could be misinterpretted.
* add isLeader function for challenges
* allow challenge leader to join/modify/end challenge when they're not in the private group it's in
* delete duplicate test
* clarify title of existing tests
* add tests and adjust existing tests to reduce privileges of test users
* fix lint errors
* remove pointless isLeader check (it's checked in canJoin)
* Added Contributor Titles to Names on Hover
* Added Contributor Titles to Names on Hover
* added contributor title text on hover
* added contributor titles on hover in chat
* added contributor titles to text on hover
* Delete .project
* new inbox client
* add tests for sendPrivateMessage returning the message
* update DELETE user message tests
* port v3 GET-inbox_messages
* use v4 delete message route
* sendPrivateMessage: return sent message
* fix
* prevent quest progress message in party chat when user is resting in the inn
* improve comment
* update tests now that the test group includes a new member (sleeping quest participant)
* adjust a test to fix lint failure (and make the test better)
* fix order of element assignments in test array
* Added smartbanner code to suggest iphone/android apps for mobile users
* Installed smartbanner.js as a module and imported css through app.vue
* Changed the logos to use the ones in the existing presskit directory and fixed the import line for the smartbanner component
* Changed smartbanner import to a src include for css and updated js import
* fix(groups): correct timing on updating member quantities
* fix(groups): don't run group cancellation check if we're in invite flow
* fix(groups): update leader when memberCount is 1
* fix(groups): move leader update back--unrelated to group plans fix
* WIP(analytics): add / improve tracking
* fix(groups): revert attempt at tracking on group model
* fix(analytics): track questing based on user data
* each buy-operation now has a getItemType method - typo getItemKey - removed unneeded overrides
* remove commented-out code for purging PMs - no longer needed
https://github.com/HabitRPG/habitica/issues/7940#issuecomment-406489506
* adjust comments
* move cron code when sleeping / resting back into main body of cron code
* rename tests to use consistent terminology for sleeping
* add tests for cron when user is sleeping
* move sleeping tests to same place as non-sleeping test
This matches how the code has sleeping and non-sleeping code mingled.
* replace a broken test with new tests
The deleted test wasn't working correctly. The check that the user's
health hadn't decreased would have worked even if the user wasn't
sleeping because the Daily had been marked completed.
The new tests test both no damage from incomplete Dailies and
that Dailies are reset.
* add tests for Perfect Day buff and rename existing tests for consistent terminology
* remove old test code
* 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
* Added mute end date
* Added indefinite mute for users using slurs
* Fixed user reload. Added no longer muted message. Added format for date
* Fixed lint
* correct curl parameter (-X for request method; -x for proxy information)
* fix typo in error message
* fix mistakes in apidocs for allocating Stat Points
* fix(package): update csv-stringify to version 3.0.0
* chore(package): update lcov-result-merger to version 3.0.0
* chore(package): update karma-sinon-chai to version 2.0.0
* fix(package): update bcrypt to version 3.0.0
* fix(package): update validator to version 10.5.0
Closes#10320
* fix(package): update got to version 9.0.0
* chore(package): update karma to version 3.0.0
* Merge branch 'greenkeeper-css' into greenkeeper
The `noNotifications` string was not being used so changing it for
this purpose makes sense. Non-English users will see meaningful
text even before the new text is translated.
* remove duplicate module.exports statement
* remove commented-out footer in Slack slur notification
There's no need for anything to replace this footer.
* swap order of flag actions to put most critical first
This causes moderators to be notified before the flagged message's flagCount is incremented, because if something happens to prevent the flagGroupMessage Promise from resolving, we still want to mods to see the notification.
* limit chat message flagging ability for new players
Players who created accounts less than three days ago can flag posts
but that does not contribute to the posts' flagCount. This prevents
a troll from maliciously hiding innocent messages by creating new
accounts to flag them.
* add tests
* fix other tests
* WIP - prevent multiple notifications
* merge promises to one
* update test, iterate each user
* revert changes in `groups.js` - filter duplicate notifications in `convertNotificationsToSafeJson`
* participant list modal opens, nothing displayed yet
* display participants!
* only need to filter
* change button to link
* prevent scrolling back up when modal opens
* style link as h4
* move css
The default scroll sensitivity of the task columns is 30 px from the bottom of the screen. The collapsed spells drawer renders 32 px from the bottom of the screen intercepting most drag events. Increases the scroll sensitivity to double the height of the blocking element.
Also ignores the Yarn lockfile. `yarn --ignore-engines` builds successfully and tests pass with Node 10.6.0 and MongoDB 4.0.0.
* Fix joinedChallenge achievement being awarded when creating a challenge
* Modify test to check that achievement is not awarded for creating a challenge
* WIP(groups): add shared completion prop
Also fix an issue where the Needs Approval toggle would not read/save
correctly.
* fix(groups): save group options on task create
Also, correct count of assigned members when viewing user is among
assignments
* fix(groups): display correct messages in two places
* fix(tasks): eliminate console error related to filtering
Also localize a group plans string
* WIP(groups): implement single completion for approval workflow
* WIP(groups): Add shared completion handling to no-approval-needed flow
* WIP(groups): cover approval flow case for all-assigned
Also save new field on initial task creation
* fix(tasks): use default sharedCompletion value when creating tasks
* WIP(tests): non-working draft test
* Added completed todo to group query
* WIP(group-tasks): fix bugs, add tests
* refactor(group-tasks): deleteMany op, add more tests
* refactor(group-tasks): move shared completion handling to lib
* WIP(group-tasks): broken refactor
* WIP(group-tasks): await all the things
* Turned complete master task to save
* WIP(group-tasks): show completed
* fix(filtering): don't try to filter if no list is passed
* refactor(group-tasks): load completed to-dos on demand, not at start
* fix(group-tasks): don't double up on repeat visits
* fix(group-tasks): include brief explanation in dropdown
* fix(group-tasks): improve wording some more
* prints first error message only
* update signup error messages, missing password not working (wip)
* remove alerts, show notEmpty, first error only per param, update unit test
* move changes to client side
As reported in #10502, adding a 1 pixel right margin to *all* nodes with
the member-stats class will affect the display when you click on the
avatar as well, which will then break the layout because of that
additional margin.
Instead of adding the margin to .member-stats in general, let's just add
it to the condensed version so that it really just addresses the
flickering on Chrome/Chromium as reported in #10379.
I've tested whether the flickering still happens via a small
xdotool-loop (just to make sure I don't get too shaky with the mouse):
for i in $(seq 500 508); do xdotool mousemove "$i" 250; sleep 5; done
The flickering doesn't happen anymore and the layout in the party
members overview and the stats overview when you click on the avatar is
no longer distorted.
Signed-off-by: aszlig <aszlig@nix.build>
Fixes: #10502
* Turning H2s into anchors to add hand cursor and to create addressable page fragments
adding ref to target individual entries
adding scroll handler to make sure expanded result is in view.
* combining click handler directives as per CR
* changing question display to always render, then hide via CSS, vs only render when state changes.
* updating pug template to include heading in each URL fragment
* simplifying logic & moving to vue-bootstrap accordion since multiple open panels is not required
* adding pointer cursor to FAQ headings
* moving initial hash checking to data prop instead of mounted so it does not trigger oddities on on hash change (re-mount)
* using new pug HTML for bootstrap collapse
* removing extraneous markup
* updating styling to match existing page
* removing fancier than necessary markup, and attendant styles
* using more standard event property
* Added session check before route changes, but express isn't finding route
* Added a logout component. Changed route to logout on server. Typing 'logout' in URL will logout of Vue + Express
* Removed commented text from previous version
* Updated logout function to comply with formatting and eliminate unused blocks
* Added package-lock.json back
* package-lock.json
* recreated package-lock file
* fix(auth): allow logout from direct visit to /logout path
* fix(merge): clean up more misc changes
* fix(merge): remove extra file
* fixing typos in comments. yes, I am that kind of nerd
* replacing push-notify with node-apn in deps and in pushNotifications.js
* updating calling code and tests to use node-apn
* updating APN configs to new format
* migrating team ID and key ID to config.json
* update code to use env variables and add correct topic
* 10282: Added code for blocking party and guild invitations from blocked players, added tests
* 10282: fixed test label
* Update POST-groups_invite.test.js
removed `it.only` which was used for testing
* added 1px margin-right to .member-stats
* added unit test for flicker prevention style
* remove .only() from unit test
* rewrote margin test using computed style
* initial refactor
* add scoredUp and scoredDown values for habits history entries, one entry per habit per day
* fix lint and add initial migration
* update old test
* remove scoreNotes
* dry run for migration
* migration fixes
* update migration and remove old test
* fix
* add challenges migration (read only)
* fix challenges migration
* handle custom day start
* update tasks in migration
* scoring: support cds
* add new test
* fix(group-plans): improved member count accuracy
* fix(migration): don't leave server running after completion
* fix(migration): don't update Stripe for non-Stripe methods
Also fixes a linting issue.
* fix(lint): no comma dangle here
* fix(async): put async token in relevant spot
* fix(lint): still more linting
* fix(async): better handling for async and promises
Also adds additional logging where discrepancies are found.
* feat(migration): provide CSV output
* fix(promises): better pause/resume
* fix(migration): don't update already canceled subs
* fix(groups): also address quantity/memberCount discrepancies
* fix(migration): also log quantity issues
* fix(migration): equation was reversed
* refactor(migration): condense logic, add error catch
* fix(migration): fix root cause of failed quantity update??
* fix(lint): gratuitous parens
* fix(test): expect group to be updated db-side
* fix(migration): actually update quantities?
* fix(groups): roll back unneeded Stripe lib change, refactor migration
* add timestamp to moderator Slack messages
* fix test errors
* import moment, condense formatting
* add timestamp to author_name variable
* update test to include timestamp, fix footer matching
* change ISODate to Date
* update test to include timestamp
* Remove outdated server readme
* Open correct group modal from header
* Update party button after joining party
* Review: fix invite members not working without reload
* Remove invite-modal from group page to prevent duplicates
* Pass correct group to invite modal
* removing the 24px top margin on .modal-dialog .title so boss HP and difficulty line up
* stop overloading title so much and use a properly-scoped style
* removing unnecessary temp vars
* using SCSS color vars as per CR
* using relative font size measurements instead of absolute pixels, and adding popover override CSS to not break quest shop & invite notifications
* removing redundant font declarations
* Fixes asynchronous cron bug that allows cron to run twice for a user within seconds of eachother.
fixes#8991
* Fixing tests.
* Updating assignment to keep user and res.locals.user in sync.
* WIP(report): subscriber task histories
* fix(report): old object ref, return promise, pause/resume
* fix(report): handle 0 Habits 0 Dailies
Also add data for master total of history entries
Added a 'habitica:update-challenge' call to mirror the 'clone-challenge' call. This properly sets the 'cloning' flag and makes things more consistent.
This fixes the a bug related to #10419 described in the #10419 thread
* added responsive scss to allow modals to respond to changing window size
* Remove unecessary space
* moved scss around
* remove unnecessary space
* Adjust left and right panels to be more responsive + moved css for buyQuestModal into its respective vue file (startQuestModal css wasn't working in its vue file... I can't figure out why)
* removed important to get rid of extra scrollbar
* moved css all to one file
* Revert commenting out some cron subscription tests
This reverts commit 47c488967c.
We're going to properly fix these tests, so let's start by reverting the
commit that temporarily disabled these tests in the first place.
Signed-off-by: aszlig <aszlig@nix.build>
* tests/cron: Fix restoring clock on test failure
Ah, the joys of global state... >:-(
Whenever some test failed which has mocked the time using
useFakeTimers(), other test that are run after that test would fail (or
even time out) as well, which is a bit confusing to debug.
Some of the tests even had a cleanup routine in afterEach() but most of
them didn't, so I rearranged them in a way so that we have a clock
variable for *all* of the subtests, which initially is null and then a
cleanup handler (also for *all* of the subtest) calls clock.restore() if
the value isn't null.
In order to avoid calling clock.restore() twice, I have removed all the
clock.restore() calls at the end of the tests setting the clock to a
specific value.
Signed-off-by: aszlig <aszlig@nix.build>
* tests/cron: Fix test for 3-month gift subscription
So this is the actual culprit of the test failures that emerge during
the first two days of a month:
The test group "for a 3-month gift subscription (non-recurring)" creates
a User object available for every test case, which has a subscription
for 3 months beginning at the current time/date.
During each test case the fake timer is set to the second day of the
month to be tested. For the first and second month it's unproblematic
because the subscription is still active, no matter whether the
dateTerminated is set to the first day or the last day of a month.
However, the third month is problematic here, because whenever the
subscription lasts until the first day of the third month it has already
ended after the second day and thus the test fails because the actual
implementation of cron sets plan.consecutive.count to zero (which is
what it's supposed to do).
In order to fix this, I've set dateTerminated for the User object to the
15th of the current month so the subscription lasts long enough to not
trigger the test failure (and also make time zones irrelevant, because
right now there is no TZ offset which is more than half of a month,
especially not while running the test suite).
Signed-off-by: aszlig <aszlig@nix.build>
* remove parallel saves from the code
* fix more unit tests
* do not save users when sending message in buyGift (saved later)
* fix test
* reinstall
* fix tests
* fix tests
* removing duplicate translation key
* fixing typos
* extracting quest prerequisite check. adding check for previous quest completion, if required
* fixing (undoing) static change, adding tests
* more typos
* correcting test failures
* honoring quest prerequisites in quest invite API call. updating format of il8n string replacement arg
* no longer using apiError, use translate method instead (msg key was not defined)
* adding @apiError to docblock as requested in issue
* removing checks on quest invite method. small window of opportunity/low risk
* feat(gdpr) only store necessary data for social login
* feat(gdpr) also store email for social users
* fix(social auth): store emails array instead of single email
* fix(emails): do not get name from old facebook info
* add migration to remove extra data from social profiles
* update migration description
* fix tests
* fix typo in migration file
Whenever one is hovering an item from another user, the bonuses of these
items are shown for the own user. So for example if you're a mage and
view a Royal Magus Robe of another mage, the class bonus is 6.
However if you're a warrior, the class bonus displays as 0 because the
attributes grid is always using the stats for the own user even if
viewing equipment of a different user.
I've fixed this by moving the user object to the properties in
attributesGrid and passing the current user from every other Vue file
that's using attributesGrid.
Not sure whether this is the right approach, as I'm no expert in Vue.js
but some testing with the client now shows the correct values.
Signed-off-by: aszlig <aszlig@nix.build>
* fix(challenges): creator should not join challenge automatically
* change behavior on the client side as well
* update tests and fix membercount
* update tests
* fix tests
* Make nav drop-down cleaner/scrollable
* Stop overriding bootstrap navbar
* Move user menu to top bar in mobile
* Restructure/style first drop-down item
* Add ALL the pretty colors
* Apply menu drop-down re-structure to all menu drop-downs
* Replace curly brace lost during rebase
* Replace divs with semantic markup
Replace `<div>` tags with `<nav>`, `<aside>`, and a list for the nav items.
* Use grid layout
Replace flexbox with CSS grid layout. The right-hand side item is now in its own
grid cell, so the text wraps inside its cell at smaller screen widths.
Undo `<nav>` tag.
* Sort CSS
Sort the remaining CSS property declarations.
* Fix right alignment issue in Safari
Remove `justify-self: end` to fix the right alignment issue in Safari.
* Fix vertical alignment in Edge
Add `align-self: center` but only for MS Edge.
Also removed `position: relative` on the wrapper element for the tabs.
As the help item isn't using absolute positioning anymore we don't need
to set relative positioning on the parent element.
The parsing in the redirects module was simply determining the base host
via trimming off everything up to //, so a BASE_URL like
"http://localhost:3000" will result in the host name "localhost:3000",
which isn't a valid host name.
So the problem here is that BASE_URL_HOST is used for determining
whether the client should be redirected and it's comparing the hostname
of the request object with BASE_URL_HOST.
For example if we have the aforementioned BASE_URL, we get to the
following comparison:
req.hostname !== BASE_URL_HOST
Which expands to:
"localhost" !== "localhost:3000"
So in order to get rid of the port number, we now use url.parse() to get
the right host name.
Signed-off-by: aszlig <aszlig@nix.build>
Some tests were disabled in ba799c67f9 and
10567d81e2, because they tend to
frequently time out after 8 seconds.
Instead of disabling the tests (which IMHO is bad, because tests are
there for a reason), we're now increasing the timeout to 30 seconds just
for these tests.
As requested by @paglias, I've marked the timeout functions with a @TODO
comment, so that the slow tests or the functionality they're testing are
eventually refactored.
I also needed to change the arrow notation for the test cases to use the
function keyword, because otherwise we don't have this.timeout()
available.
Signed-off-by: aszlig <aszlig@nix.build>
Cc: @paglias
Whenever the client starts up, the following is emitted in the Firefox
console:
Invalid URI. Load of media resource failed.
All candidate resources failed to load. Media load paused.
This happens because the <source/> tags are preinitialized with a src
attribute of "".
So what we're doing instead is initialize the <audio/> element without
any children and add the children as soon as the first audio file needs
to be played. This also has the advantage that we can determine at
runtime whether the browser supports Ogg/Vorbis or whether we should
fall back to MPEG layer 3 so only one source element is needed.
Signed-off-by: aszlig <aszlig@nix.build>
So far if a task contained Markdown, a system message like this would
have been posted to the group chat:
foo has claimed "Some [link](http://example.org/)"
Also, if the Markdown contained backticked code fragments, the whole
text would be displayed in red except the code part.
The reason for this is because the system message is already in Markdown
and a backticked task text would result in the following Markdown:
`foo has claimed "Foo `bar`"`
Here there are two code blocks, one with `foo has claimed "Foo ` and
another which only has `"`.
This is fixed by simply changing the userIsClamingTask translation
string to not wrap the task text inside a code block, as per @Alys
suggestion.
Signed-off-by: aszlig <aszlig@nix.build>
isBuyingDependentOnPrevious () method checks if item.key of quest is in a list of quests whose unlock condition is not dependent on the completition of previous quest.
* Temporarily disable ctrl-enter to send Guild messages after paste
Disable Ctrl-Enter after pasting, because some users are experiencing issues with accidentally sending their messages after pasting.
* Code style fixes for "Temporarily disable ctrl-enter to send Guild messages after paste"
* Fix issues with variable location
* Fix variables for accidental chat submission features
Moving vatiables for the chat submit timeout to their own variable so they won't be overwritten
* Fix code formatting issues with accidental chat submission code
* Remove leading space from variables to fix lint issues
* Rarranged payment index functions
* Moved gem function
* Increased buy gems test coverage
* Reduced length of functions. Reduced cognitive complexity
* remove inbox from user/stats routes
* remove inbox from news routes
* change signature for authWithHeaders
* do not load inbox in coupons routes
* do not load inbox in challenge routes
* do not load inbox in some members routes
* do not load inbox in chat routes
* begin implementing global webhooks
* add checklist item scored webhook
* add pet hatched and mount raised webhooks (no tests)
* fix typo
* add lvl up webhooks, remove corrupt notifications and reorganize pre-save hook
* fix typo
* add some tests, globalActivity webhook
* fix bug in global activiy webhook and add more tests
* add tests and fix typo for petHatched and mountRaised webhooks
* fix errors and add tests for level up webhook
* wip: add default data to all webhooks, change signature for WebhookSender.send (missing tests)
* remove unused code
* fix unit tests
* fix chat webhooks
* remove console
* fix lint
* add and fix webhook tests
* add questStarted webhook and questActivity type
* add unit tests
* add finial tests and features
* Updated README.md
Added Team Name and Collaborators
* Updated README.md
* Changed Member List number in Guilds
Changed Member List number in Guilds
* remove habitica2.bat
* Updated README.md
* removing file that only contained a reference to a missing folder
* fixing typo
* using full dates to avoid moment warning in tests
* more typos
* sending an empty string to vue bootstrap tooltip (disabling it) if no challenge short name is set
* Fix challenges export CSV error by checking that users still belong to challenge
* Add test for challenge csv export fix
* Update fix for challenge export CSV bug
* Update tests for challenge export CSV to be more complete
* Refactor a test: change some 'let' variables to 'const'
Uses a variable for the number instead of hard-coding it in the locales files.
Removes some old, unused locales strongs and an associated variable
from when we had a million users.
* Began moving group chat to separate model
* Fixed lint issue
* Updated delete chat with new model
* Updated flag chat to support model
* Updated like chat to use model
* Fixed duplicate code and chat messages
* Added note about concat chat
* Updated clear flags to user new model
* Updated more chat checks when loading get group
* Fixed spell test and back save
* Moved get chat to json method
* Updated flagging with new chat model
* Added missing await
* Fixed chat user styles. Fixed spell group test
* Added new model to quest chat and group plan chat
* Removed extra timestamps. Added limit check for group plans
* Updated tests
* Synced id fields
* Fixed id creation
* Add meta and fixed tests
* Fixed group quest accept test
* Updated puppeteer
* Added migration
* Export vars
* Updated comments
* Added more tests for verifyGemPurchase
* Added more tests for subscribe
* Added user is subscribed check
* Reverted gulp task
* Added existence check
* Client POC
We need to wrap each draggable region it its own div or else the
"draggable" element will conflict with each other. This screws up the
styling but that is totally fixable
* Ah that ref was being used after all, changing back
* Scaffold out a new callback for when we drag these things
Next is going to be the hard part: I need to save the sort order for
these to the database. I don't even know if there is a schema but hey
this is the best place to start
* Firefox caching is the problem: don't actually need the wrapper div
So I guess I should try this in chrome and see how it works then come
back to firefox and figure out what the heck is going on
* Scaffolding out our API call to save the sort order
The endpoint doesn't exist yet so we will need to add that
* Ok we are now calling our API endpoint to reorder these things
Of course it doesn't exist yet so you get a 404 when you try, but that
is ok
* Defining api endpoint, a work in progress
In particular I really had ought to use _id for these too, it appears
that the primary way we detect order doesn't even use "key" at all.
* Switching to using the pinned item UUID
This has much better results, but of course the server and client logic
don't match now. Will have to keep working on my splice to make sure
that they are the same
* I thought this would fix our server/client mismatch but it is not it
Something is really wrong with my logic somewhere, maybe I need to
update the db step?
* Moving this logic to the "user" rather than "tasks" and key off path
Path is unique and is less finiky than dealing with string comparisons
with ids. Unfortunately everything is still not working... I suppose
user.update() doesn't care about the position?
* This client code caused quite a lot of problems if you dragged fast
We don't really need it it seems, so off it goes
* Updating markup and CSS so it actually looks good.
Everything is working horray!!
I did just notice the following bug: the popover text sometimes makes it
very annoying to drag because you can't drop over it@
* Cleaning up my comments in the API section user.js
I had a lot of TODOS that are mostly done now
* Fixing a spacing code standards thing
* Turns out we never use type, so we should remove this from the API call
* Adding pinnedItemsOrder into the user schema
And disabling my call in the frontend before I do any more damage
* Halfway to using pinnedItemsOrder
This isn't working yet but it is not going to break it horribly like it
was before.
* Hooking up inAppRewards to always produce sorted information
It is suspicially working right now even though I have not added the
seasonal stuff logic yet...
* Updating the comments in user.js in movedPinnedItem
It turns out that my bandaid fix to just get the ball rolling perfectly
does what I need it to do when we have a length discrepancy. So we are
getting much closer to the final product, just need lots of testing
* Cleaning up code standards kinds of things
* Yay, this fixes the popover issue
I hope this is the right "vue" way to do things, because I tried a bunch
of other things that definately were not the right way to do it. And
this appears to work too
* ** Partial Work ** Starting tests on api call for draggable items
Doesn't work, doesn't compile so don't include in PR!
* Test failing still...
This is worth a save. The api call grabs the seasonal items too, so we
can't get away from using the common functions and calls here to get the
actual list of items
* Okay have the first test passing
Need to clean up my linter problems though
* Planning out the next two tests and fixing my format problems
* 2nd Test case written, this time with the "more" odd case
* Making sure that we didn't mess with pinned items
* Huh... this test doesn't give me the expected result
Drat, I guess I found a bug
* Throw an error when we put garbage in our api call.
Well, before we got user.pinnedItemsOrder filled with a bunch of "null"
entries which is not ideal. it still worked, but isn't this confusing
enough already?
* Cleaning up the multitude of linting problems thanks gulp :)
* Writing tests for inAppRewards.js, but something is wrong
* Fixing my linting errors in inAppRewards tests
These tests still do not run though, so they may fail and I would not
know
* Applying Negue's fixes to inAppRewards.js test
It never occured to me that we shouldn't try to reach the database while
in the common tests. Well, we shouldn't do that, we should use the
common.helpers instead. Thanks!
* Don't unpin non-gear items
Assumes that multiple of bundles, quests, eggs, potions can be bought
* Added tests
* Changed type checking and made variables global
* Lint fix
* protect all paths in user.pre(save using this.isDirectSelected to see if a field is available
* fix linting
* authWithHeaders: specify user fields to exclude instead of the ones to include, add comments, doc and improve test
* add more options to unit helper generateReq and add tests for excluding fields in authWithHeaders
* remove removePunctuationFromString function from test code
It's not needed now that the test banned words don't contain underscores.
* prevent tests accidentally throwing messageGroupChatSpam
This commit makes the user for most tests have contributor tiers so
that the user can't trigger the messageGroupChatSpam error message
(for posting messages too quickly).
This is useful when some of the tests fail due to broken code
because that makes more messages be posted than expected. If the user
doesn't have tiers, the messageGroupChatSpam error message would be
triggered, which gives misleading information about the test failure.
* add tests for banned swear and slur words posted in mixed case
* allow banned word error message to show bad words in the same case the user typed them
* stop using randomly-chosen real banned words in tests
The test modified in this commit had been using real banned words,
which meant that those words were being displayed to the contributors
when the test failed.
NB the 'check all banned words are matched' test also uses the real
banned words but the test failure messages don't show the words.
* improve translatability of bannedWordUsed error message
* allow Hourglasses and gemCapExtra to increase promptly after a multi-month subscription has renewed
* fix existing Hourglass and Gem Cap tests that were wrong
The scenario originally used for these two tests was a six-month recurring
subscription (you can tell that from the starting offset having a non-zero value).
For recurring subscriptions, we do NOT want to increase the consecutive month
benefits as soon as the sixth month starts because the user has already been
given a full six months' benefits in advance and they might cancel the
subscription before it renews later in the sixth month.
Therefore we want to give the extra benefits at the beginning of the seventh
month (ideally we'd give them mid-month in the sixth month when the renewal
happens but we don't have support for tracking renewal dates).
So, the two changed tests were actually not correct for the case
where the offset started as non-zero.
These tests are correct for one-month recurring subscriptions (when the offset
is never set to anything above zero). The user isn't meant to get any consecutive
month benefits until a multiple of 3 months has been reached.
* add tests for one-month recurring subscription before 3x months are reached
* add tests for 3-, 6-, and 12-month recurring subscriptions
The 3-month tests are the most thorough, stepping through the
expected start and end values of consecutive data for a 7-month
range.
The 6-month tests are a bit less thorough since the same code is
used for all multi-month periods.
The discount Google subscription code is used to ensure we keep
support for it.
The 12-month tests are less thorough still, since again the same
code is used.
I'm about to try some more tests with `useFakeTimers`, which should
be a better way to test the code since they won't rely on me having
set the initial values correctly for each test. :) But I wanted to
work through these cases manually first to ensure my understanding
of how the values should change does actually match the code.
* add tests for 1-, 3-, 6-, and 12-month recurring subscriptions using clock changes to simulate passing months
Also fixed the clock call in an unrelated test because it was forming
the date incorrectly (`unix()` can't be used to create a date).
Also changed email@email.email to email@example.com because
email@email.email is potentially a real email address.
* add tests for 3-month gift subscriptions - no extra consecutive benefits given
* add tests for consecutive benefits for 6-month recurring subscription that has incorrect consecutive month data because it started before issue #4819 was fixed
* fix lint errors
* remove outdated subscription tests
* Add tooltip to character buff icon
* Add tooltips for task streak, challenge and broken challenge
* Add tooltips for task menu and due date
* Challenge icon tooltip displays the challenge short name
* 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
* Added supression support for pet/mount modals and added mount modal
* Moved create animal
* Fixed raise pet logic
* Added suppresion for stable hatch modal
* Fixed click paw and added growl
* Fixed confirm. Fixed mount name
* Suppresed confirmation
* 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
This reverts commit 64e86bad91
because the console was showing errors like this:
[Vue warn]: Error in render: "TypeError: this.user is null"
found in
---> <App> at website/client/app.vue
<Root>
* fixes#10173 - Task page search bar only searches task titles, not Notes (#10173)
* Fixing unit test: Test expect task to have note, but it has notes.
* Added links to contact form
* Fixed encoding link. Added link to tavern. Updated copy
* Converted link to cookie link
* Updated domain format
* Updated links
* Added apikey to cookie
* Adding the ability for admins to revoke/reinstate chat privileges and block/unblock users from the profile page.
fixes#10073
* Updating fix to dynamically load user blocked and chat revoked state for admins.
* Fixing pr according to comments.
* Adding check to give master classer acheivement on any master classer series quest completion
fixes#9461
* Fixing concat bug by assigning the variable after concatenation.
* Fixing retry query.
* Change quest completion modal to only close on user acknowledge of clicking ok or 'x'
and update 'x' to acknowledge the quest completion.
* Removing check on header-close.
* Removing unused variable.
* fix: fix quest shop to not use string addition when buying quests
fixes#10115
* Fixing quest purchase quantity interpretted as a string on the server side.
* Adjusting pull-request according to comments.
* Updating according to PR comments.
* Update getClass() for users who have not yet selected a class
* Added tests for members.getClass()
* fix linter errors
* Update test
* Update import in test to point to correct module
* use hasClass() getter where appropriate
* Fix linter error
* Bring buy bg set button in line with title
* Make background sets pretty
* Add checkbox to filter backgrounds
* Review: replace background filter checkbox with toggle
* Remove dashed line from toggle-switch label
* Test: add comma to make es-lint happy
* Move toggle tooltip into toggle-switch template
* Make toggle-switch label optional
* Review: Remove toggle-switch margin
* Added popover stats to costume equipment on the stats page of a profile (#9280)
* Changed popover position to bottom for equip and costume items.
* Fixed indent on line 160
* Changed escaped double quotes to single quotes for readability
* update column.vue, getters/task.js, getters/user.js and add unittests and helpers
* add vue-test-utils pkg + unit test for column.vue
* add unit test column.vue
* update unit tests
* fix linting errors
* downcase updating an email to be consistent with creating
* add tests to ensure downcase of email for create/update
* create migration to downcase existing User objects
* delete 'only'
* change gmail to example
* add trailing comma from lint error
* search for emails with at least one capital letter
* fix query in order to search for any email with at least one capital letter
* batch process effected users with at least one capital in email
* update script for batch process effected users
Remove restriction on mystery/special inventory items that prevents
non-subscribed users from seeing the items. Organize the imports on the
page.
Resolves: Issue #9228
* Show keys to pets immediately
* Ensured keys to pets dissapear after use
* Added resdirect to stable after purchase
* Added mount check and updated keys to mounts and to both
* Added api calls
* Added check for beastmaster progress
* Added mount check for release mounts. Added pets and mount check to release both
* Added actions
* Added catch to common tests
* Added beast count and reload
* Removed extra console log
* `/task/user` `GET` endpoint takes plurals of task types as allowed
parameters, plus another custom `completedTodos` type
* `/tasks/group/:groupId` and `/tasks/challenge/:challengeId`
`GET` endpoints task plurals of task types as allowed parameters
* add tasklist getter
* add unit test + refactor for getters
* add task order sorting + update unit tests
* remove direct access to store.state.tasks
* add tag and search filter back to column.vue + unit tests
* add unit test for task order setting function
* add task filters to helper file + modify taskColumn state access to getter
* update column to get values at runtime. TODO set active filter at runtime
* add TaskColumn init state + daily-due-default
* add check for task type daily before set/reset dailyDueView
* remove unused sortBy import in column.vue
* remove unused sortBy
* pr review requested updates
* pr review clean up updates
* Updated from origin and added invite error fixes
* Update test for capitalization issue
* New error display
Changed app.vue to display error message using error.response.data.message
* made style change for pet item class to have more margins.
* made style change for pet item class to have more margins.
* files got added
* encapsulated the items as stated in #9903
* #9903 moved the css to stable -> petitem.vue for better encapsulation.
* saving pngs
* update on files
* updated files as requested in PR!
* Revert "saving pngs"
This reverts commit a38ea664e1.
* made css changes just to pet slot
* #9982 removed redundant css
* #9982 applied scss to mount slots as well.
* #9982 refactored scss to be in one place.
* #9982 changed selector
* Removed challenge group duplication
* Removed duplication of joined challenge
* Moved helpers to challenge library
* Passed group to function
* Fixed group response
* 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
* refresh not working - show avatar transformation
* call store-action from mixin, use mixin from app.vue, add user-target in spells-mixin,
* fix avatar tranformation on user - clean up
* move default message
* fix purchase of cards
* fix casting
* include class bonus in sorting
* wip - show more information in the attributes grid
* attributes tooltip + dialog redesign
* fix stat calculation
* fix spacings
* show class in equip-gear-modal
* fix buy-modal attributes-grid, clean up css
* show attributes popover in profile-stats overview
* add class / purchase type colors to colors.scss - replace colors by variable - clean up
* translate strings
* replaced an outdated link //habitrpg.wikia.com
Since http://habitica.wikia.com is the official link. Also, there are still incorrect paths in the footer menu, such as "Go to Social > Challenges" and others, when 'Challenges' is already on the menu bar.
* fix Party to Guilds _mistake
Here is a simple mistake, because of what does not pass the verification
Adjusts column widths for 'drop' type notifications to prevent .text from overlapping .icon-item.
Adds new 'flavorMessage' property to Snackbar notifications, which overrides standard computed message.
Vertically center XP gain icon/amount.
Fixes unrelated typo in i18n key name.
* 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
* Adding support for loading more members for Groups
Addresses issue #9720
Member modal component was only loading the maximum limit for queries
made to _getMembersForItem in /members, except with Challenges, which
was able to display a "Load More" button to retrieve another set of
users from the Challenge.
Made a few changes to how the GET request was being made when querying
for more members, added an easier way to know whether or not to display
the Load More button, and extracted some of the actions that were
too tightly coupled with the membersModal.vue.
* Fixes for failing lint tests
* Removing unnecessary async/await usage
* Fixing party view in header section
* Resolving missed conflict
* Adding necessary data for View Party in index header for web client to load party members
* dailies history date added in scoreTask instead of cron
* fix lint issues
* changes based on feedback. Undo cron code deletion and deleted iteration on scoreTask
* fix lint issues
* add task history entry in cron for dailies that weren't completed
* add history entry after value is fully evaluated
* prevent re-showing buy-modal after buying a card / fix class-badge in member-selection
* show notifications on card purchase
* move string to generic.json
* translation param "profileName"
* Added cache for user styles on chat
* Added loading on new message and other minor checks
* Added null checks
* Updated chat tests
* Added costume preference to chat
* Removed single profile cacheing for new chat messages
* Remove owned gear from cache
* Updated stats to only use buffs
* 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
* Added clone api
* Added new clone UI
* Fixed challenge clone
* Fixed lint and added mongo toObject
* Removed clone field, fixed type, fixed challenge task query
* Auto selected group
* Accounted for group balance when creating challenge
* Added check for if user is leader of guild
* Added leader existence check
* Added fix for leader and prizecost equal to
Since the client side code and server side code run independently, the
docker compose process needed to be updated to reflect this change.
This fix included updating the docker-compose files' versions.
* change "Keep/Remove It" to "Keep/Remove Them" when asking about all challenge tasks while leaving a challenge
* change "Leave" button on groups to "Leave Guild" or "Leave Party"
This is because the button is underneath the challenges so this
clarifies that it is referring to the group, not a challenge.
* change "Keep/Remove Them" to "Keep/Remove Tasks"
* Sleep status is tracked by analytics when toggled.
* Modify test: test that analytics is called with 'sleep' event and data passed includes the user's new sleep status
* describe Login Name limitations on registration form and Add Local Auth form
* adjust text in response to this change: c69687f935
* update max length
* update API comments to for `username` restrictions and to use Login Name terminology
We use "login name" rather than "username" in user-visible text
on the website and (usually) when communicating with users because
"username" could be confused with "profile name".
Using it in the docs allows you to search for that term.
* add alphanumeric and length validation for creating new login name (username)
The 'en-US' locale is specified explicitly to ensure we never use
another locale. The point of this change is to limit the character
set to prevent login names being used to send spam in the Welcome
emails, such as Chinese language spam we've had trouble with.
* add error messages for bad login names
* allow login name to also contain hyphens
This is because our automated tests generate user accounts using:
let username = generateUUID();
* allow login names to be up to 36 characters long because we use UUIDs as login names in our tests
* revert back to using max 20 characters and only a-z, 0-9 for login name.
It's been decided to change the username generation in the tests instead.
* disable test that is failing because it's redundant
Spaces are now prohibited by other code.
We can probably delete this test later. I don't want to delete it
now, but instead give us time to think about that.
* fix typos
* revert to login name restrictions that allow us to keep using our existing test code
I'm really not comfortable changing our test suite in ways that
aren't essential, especially since we're working in a hurry with
a larger chance than normal of breaking things.
The 36 character length is larger than we initially decided but
not so much larger that it's a huge problem.
We can reduce it to 20 when we have more time.
* limit username length to 20 chars
* fix tests
* feat(analytics): track challenge and task events
* feat(analytics): add more challenge events
Also tweaks data for better troubleshooting utility
* refactor(analytics): include IDs for challenges/groups
* refactor(analytics): term for award challenge is "close"
* Fixed party member loading
* Fixed quest details
* Fixed party creating
* Fixed challenge habit restore streak permissions
* Fixed fetch recent messages for party
* Adjusted category box placement for challenges
* Fixed zindex for input on group
* Changed reset streak restriction and allowed for adjust streak
There was a change in how the code is run locally and part
of this change included using port 8080. This change includes
the port forwarding for said port in the example file for Vagrant
* Attempt to use party data from the store rather than always fetching it from the API
* Move init code to shown() to prevent unnecessary network requests
* Use store party data in getGroup action if possible to save an API call
* Use store data rather than API call for party in challengeModal; remove unnecessary code in guilds:getGroup action
* Create party:getParty action and employ it in Group and ChallengeModal
* Use store instead of action return for party data
* Change how party data is stored
* Able to see all non class related items in market
* Fix lint errors
* Able to see all non class related items in market
* Fix lint errors
* add test for showing contributor gear
* Added previously owned items to test with eslint exception
* Add support for `multiDaysCountAsOneDay == false` to evasion
`if (dailiesDaysMissed > 1) dailiesDaysMissed = 1;` causes the evasion for-loop to only evaluate once even if `multiDaysCountAsOneDay == false`. This statement isn't necessary because `if (multiDaysCountAsOneDay) break;` will cause the for-loop to evaluate only once if `multiDaysCountAsOneDay == true`. Removing this statement makes the `dailiesDaysMissed` variable unnecessary.
* Moves break statement out of conditional
Also moves the new Keys text strings to the same place as the old ones in the locales file.
Also fixes minor typos in code that was preventing the new text from being displayed.
* Show click on hatching potion when egg is clicked
* Fix translation parameter name
* Show egg as active when clicked
* Remove itemDragStart event handler from egg items
* Change isHatchable to take in potion and egg objects
* Add margin to item popover content
* increased top padding to match main header
referring to issue 9678
https://github.com/HabitRPG/habitica/issues/9678
* adjusted the z value to appropriate levels
z-index adjusted from 99999 to 999
* fix(shops): include seasonal gear in Market class lists
* fix(market): display non-seasonal broken special items
Also fixes a bug where if a current seasonal item was broken, it would show up twice.
* feat(promo): Buy-1-Get-1 Gift Subs
* feat(promo): add explanatory text to subscription screens
Also adds some add'l test coverage and creates a test context for this event
* Added notification for when leader is updated
* Abstracted challenge member search component
* Added challenge member search modal to challenge detail
* Added group search
* initial commit to not show shield when previewing two-hand weapon
* revert error made
* update to fix all combinations of equipping / trying two-handed weapons
* clarify conditional logic
* refactor to let avatar check for twoHanded display/hide logic
* add case when avatar doesn't have weapon equipped
* Fixed block and add icon not showing and the ordering of the buttons. Also fixed and added tooltips for buttons.
* Changed unnecessary change of color in svg icon files and changed tooltip attribute to not be empty
* testing additional event trigger for sendMessage
* moved keyup event to newmessage
* added keyup event to tavern vue too
* removed number.toFixed, changed to placeholder and step
* initial commit to not show shield when previewing two-hand weapon
* revert error made
* update to fix all combinations of equipping / trying two-handed weapons
* clarify conditional logic
* refactor to let avatar check for twoHanded display/hide logic
* list special gear by the `specialClass` - fixes#9485
* only disable the currencly label + value not the amount input - fixes#9492
* disable transformations on equipment previews - fixes#9497
* show boss strength - fixes#9522
* pin time travelers animals - closes#9382
* clean up + package-lock ?
* fix quest info
The `.FlyingPig` css class necessary to re-center the pig in its square
is no longer applied when the square is greyed out. So I am adding that
to the greyed out square. It seems to not have any affect on the other
pets.
* Fix issue #9534 - changed the character-name from $white to $header-dark-background
* changes to #9534 - changed character-name color from -dark-background to -color.
* character-name color is back to #9534
* changed character-name color to -200
* Changed colors for character name and level details #9534
* add another check if previous gear is owned
* respect gear purchase order
* catch error with miscalculation of equipment number floor
* add integration test for proper equipment purchasing order
* fix syntax
* add 'previousGearNotOwned' string
* rewrite logic for different starting levels for wep vs others
* separate and add tests for armor and weapon
* rename variable for clarification
* skip check if itemIndex is NaN
* change obscure NaN check for readability
* change conditional from checking NaN to Int
* Validate that everyX values are integers bounded by 0 and 9999
* Added client side check
* Updated tests
* Added migration for bad dailies
Near idential to the other task migration.
* fix(typo): camelCase function call
* Added initial user projecting in auth and fixed projection for get user tasks
* Added fields to score route
* Added another field to get tasks
* Added group fields to user
* (ISSUE-9353) Fix pinned item alignment
- Get rid of justify-content: space-between to allow flex-start default to be used
- Add margin to direct children (item-wrappers)
* Issue-9353: Change selector to & > div instead of just > for more explicit selection of direct child divs
* Fix rewards item spacing to match Zeplin mockups
- Make sure horizontal/vertical spacing between items is 16px
- Add use of grid if supported, else use flex
* Fixed bug that allows users to complete todo and daily multiple times
* Added tests
* Fix syntax
* Fix existing tests that rely on multiple complete or uncomplete
* Undoes removal of website/client/README.md
* Change sessionOutdated string to reflect separate client needs
* Fix should update history test by changing lastCron
* Prevent options from jumping when selected due to border being added/removed based on active option. Instead, always have a border on the option but set its color when active
* Use gray instead of white border in order to match background so that it isn't visible while unselected. Add margin-bottom back
* Make sure the locked option style remains unchanged
- Nest .locked in .customize-options .option to get specificity
- Override border, border-radius, and margin-top for .locked
- Set the override values to what would be applied without other style changes
* Updated userItemsNotEnough string
* Added a variable to be passed to the deleteSocialAccountText string. This variable name is `magic_word` and is set as DELETE where used
* modified incorrectDeletePhrase to use a variable rather than translatable string for the word DELETE. Updated the DELETE-user test and the user api
* Changed noSudoAccess from translatable string to static
* Changed enterprisePlansEmailSubject from a translatable string to a static string within groupPlans.vue
* Fixed test problems with translation fixes
* Added no sudo access string to api messages
* changed plain string to apiMessage for no sudo access messages
* show `selectMemberModal` to send a card, even if the user doesn't have a party yet
* market - prevent filter reset on pinning items
* hide buy amount for gear, backgrounds, mystery_set, card, rebirth_orb, fortify, armoire - fix mystery set preview in timetravelers
* purchase confirmation on gem / hourglass purchases
* fix lint
* modify sort options for party members
* add unittest for membersModalComponent sort
* updates as requested in PR
* removed duplicates for `class` and `background` from flavour text
* fix linting error thrown by travis ci
* Bugfix: declare variable locally
* Bugfix: fix syntax error
* Bugfix: regex char-class with alternatives
The old implementation used character classes instead of
alternatives. As a consequence, the regex would match:
- a_warrior_0
- r_warrior_0
- m_warrior_0
- o_warrior_0
- r_warrior_0
- |_warrior_0
- h_warrior_0
- ...
The regex will now match:
- armor_warrior_0
- head_warrior_0
- shield_warrior_0
* Remove flag from system messages, throw an error if system messages are flagged
* Modify unflag system message test to check if flagging a system message throws an error
* Move email from nconf to top
You can buy multiple quests from the buy modal, but the quanitity is
never passed to the server. So the client thinks that you are buying the
number you said you did, but the server only buys one regardless. This
can lead to syncing problems down the road.
This is because they're causing problems in housework guilds (alcohol
is used for cleaning) and since it's coming up to Christmas a lot of
guilds are starting to have permissible conversations about drinks,
rum balls, etc.
We might put these back after Christmas but make specific exceptions
for the housework guilds.
When a more advanced word blocker is introduced, we'll be able to
ban alcohol words only in the Tavern. For irony.
* Added challenge member search to progress dropdown
* Added leave challenge modal
* Allowed editing for challenge leader only
* Pevented users from editing challenge task info
* Set default progress default to daily
* Removed reward filters from user challenge progress
* allow banned word / swearword blocker to apply to all public guilds, with specified exceptions
* add another guild
* add more guilds to those that do not have the bannedWords blocker applied
* fix lint errors
* #9354 Indicate that Orb of Rebirth is instant
Clarified the text
* #9354 Indicate that Orb of Rebirth is instant
Reverted changes in all but locales/en
* Update appFooter.vue in attempt to fix#9336
Make whole social circle clickable.
Replace div with `a` tag allowing whole circle to become a link.
* Indent and reformat "Not ready yet" Instagram button.
* fix(style): Fix margin of headers in inventory page
Set the `mb-0` class in h1 header to `mb-4`.
Set the class if `h2` header to `mb-3`.
* fix(style): Fix margin of headers in shops section
Set the `mb-0` class in h1 header to `mb-4`.
Set the class of `h2` header to `mb-3`.
* fix(style): Fix margin of headers in shops adn time traveler section
Set the `mb-0` class in h1 header to `mb-4`.
Set the class of `h2` header to `mb-3`.
* Change chooseClass modal opt out button and tooltip
- Remove hover tooltip from opt out
- Fix centering of choose class button
- Add some margin between opt out and choose class buttons
- Make cursor on opt out text the pointer to make it obvious it's clickable
* Alphabetical order class selector
* Modify relative dueIn time on tasks to be in days
- Normalizes the current time and task due time to the ends of their respective days.
- Returns 'today' if the dates are the same day else uses moment's humanize function to allow for weeks, months, years and so on.
* Modify task due date to appear grey when due the next day
* Prevented title editing on personal page
* Fixed claim/unlclaim from user task page
* Removed task from local on delete
* Immediately show unassigned bar
* Add move to group tasks
* Fixed group member count increase
* Added upgrade when group plan is canceled
* add missing tooltips
* makes sure due date is update correctly, fixes#9436
* do not collapse checklist when casting spells, fixes#9345
* start to fix spells drawer
* fix drawer requiring two clicks to open
* start to fix modals
* fixed cards paddings
* fix notifications not being marked as read
* add tests for reading a notification
* fixed indentation and added tests for reading multiple notifications
* register from home page using enter key
* update bootstrap-vue to 1.0.0-beta.9 - remove all individual bootstrap components and use BootstrapVue into Vue
* change modal action names from show::modal to bv::show::modal
* check if drops are undefined
* fix modal widths - sellModal now using input instead of dropbox
* upgrade to bootstrap 4.0beta
* include package-lock changes
* fix app menu dropdown position
* upgrade bootstrap to beta2 (was missing grid offset and other fixes) - refix header menu position
* fix tags popup (auto width to max not working) - fix filter panel width (adding width: 100% works until max-width)
* show hide logo on different screensize (new css breakpoints - http://getbootstrap.com/docs/4.0/utilities/display/ )
* fix package-lock?
* fix active button style / app header toggle button
* fix package-lock !
* update package lock after merge - new mixin "openedItemRows" to save the "show more/show less" in stable
* mixin naming style
* fix buyQuestModal marginTop
* fix customMenuDropdown position
* fix userDropdown items
* Implemented repeat after completion
* Added tests for repeat after completion in shouldDo.test.js
* Remove lastTicked
* Undoes removal of website/client/README.md
* start updating colors for tasks controls
* finish updating controls colors
* change hoevr behavior
* change transition duration
* update color with transition
* refactor menu wip
* wip
* upgrade vue deps
* fix warnings
* fix menu
* misc fixes
* more fixes
* fix badge
* fix margins in menu
* wip tooltips
* tooltips
* fix checklist colors
* add badges
* fix quick add input
* add transition to task controls too
* add batch add
* fix task filtering
* finish tasks badges
* fix menu
* upgrade deps
* fix shop items using all the same image
* fix animation
* disable client tests until we remove phantomjs
* revert changes to tasks colors
* fix opacity in task modal inputs
* remove client unit tests from travis
* wip task dropdown
* fix z-index for task footer/header
* fixes and add files
* fixes
* bigger clickable area
* more space to open task dropdown
* droddown position
* fix menu position
* make sure other dropdowns get closed correctly
* fixes
* start to fix z-index
* draggable = false for task dropdown
* fix for dropdown position
* implement move to top / bottom
* fix push to bottom
* typo
* fix drag and drop
* use standard code
* wider click area for dropdown
* unify badge look
* fix padding
* misc fixes
* more fixes
* make dropdown scrollable
* misc fixes
* fix padding for notes
* use existing code instead of new props
* test get party challenges by party ID
* tavern challenge tests; failing tests with ID 'party' or 'habitrpg'
* allow finding challenges by groupid 'party' or 'habitrpg'
* use single quotes in strings
* Changes made to satisfy #8163. _cronSignature is set to current time when cron starts so that if cron fails to set _cronSignature to 'NOT_RUNNING' for any reason a new cron can be started after a set amount of time (1 hour for now)
* fix lint errors
* changed cronTimeout to CRON_TIMEOUT
* Changed variable names and comments to be more clear
* Fixed stub for failing test so that it matches new mongo db update call signature
* First pass at unit tests, error messages and some other things need to be determined
* Fixed a tab that snuck in :/
* Fixed lint issues (issues with spaces)
* Fix infix operator spacing
* Created constant. Make sure cron failure test verifies that it is failing for the right reason
* Fixed lint errors
* Removed no longer used uuid import
* Remove gulp/* and gulpfile from ESLint ignores
* Update .eslintrc in local gulp folder
* Start work on refactoring gulp files
* add radix
* Add line-specific eslint exceptions
* removed redundant eslint file for gulp
* add more exceptions
* Add exceptions to main gulpfile.js
* added parseInt to stats.gp so it can add the new value
* added radix parameter to fix lint issue
* revert changes in scoreTask.js
* convert restoreValues into numbers before setting to users.stats
* Add more checks for user achievements
* Began to add ajax request for bailey
* Prevented purchase of locked item
* Refactored notifications to have unique id and use actions
* Added feature banner when gear is bought
* Removed debug code
* Mark group notifications as read
* Fixed lint issues
* Added gem icon to purchase all
This is disabled by default in Firefox for <input> elements.
It can also be enabled document-wide by adding spellcheck=true to the <html> tag, but I haven't done so because I don't know if there might be elements on the page where spell checking is not warranted.
See also: https://developer.mozilla.org/docs/Web/HTML/Global_attributes/spellcheck
* Moved pictures of merch items from assets/images/merch/ to /website/static/merch
Image src in merch.vue is linked to the new path.
* Rebased and fixed.
* Reverted changes of package-lock.json
* fix(various): small issues
* Rename "Gold-Purchasable Quests" to "Masterclasser Quest Lines"
* Use "getting_organized" instead of "organization" as task category
* Use pixel gem instead of SVG gem for Market
* Recanvas shop sprites for Fall 2017 seasonal items
* chore(news): update Bailey
* 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
* Added unqequip for hair styles
* Added quest rewards to quest completed modal
* Fixed display of task approvals
* Ensured the user is welcomed before showing login notification
* Added new message modal
* fixed manager functions
* Fixed group edit on group plan
* move emails images to website/static/emails and remove old files
* remove old client tests
* remove more files
* add sprites back
* cleanup gulp
* cleanup gulp
* remove old files
* more fixes
* pin bootstrap-vue
* disable old test
* remove old tasks
* fix apidoc
* client/tasks/user: (create dropdown) change icon color on menuitem hover
Previously the color was only changing when you hovered over the
text or icon.
This change changes the icon color when you hover anywhere over
the `menuitem`
* client/shops/market: fix search field in market
* Hide drawer sliders if number of items for type is empty
* Move drawer-help-text icon down to line up vertically with text
* Add TODO for error thrown when trying to sell special item types
* client/tasks/taskModal: display all selected tags for task
* i18n/groups: religous to religious
* client/shops/market: Add error message to empty drawer slider
* Create new locale file to hold inventory locales
* client/tasks/user: Revert change to create dropdown
* Revert tag changes
This will be picked up in a separate PR.
* Fix missing space before function paren
* hide hatching modal before opening the hatched modal
* fix Options not sticking: Costume, Auto Equip
* Hall of Heroes - Collapse Items & Auth
* prevent wrapping currency icon+text
* fix spacing of remaining gems (if two digits)
* fix logo in safari (removed <mask />)
* update seasonal shop items on purchase
* Prevented purchasing of locked quest
* Fixed category filters for challenges
* Added armoire equipment directly to user
* Halfed the time notifications display
* Added quest accept/reject to party page
* Added removing invites
* Addeed messages for empty gems to icon
* Added member for challenge members
* Fixed task cloning ending
* Fixed group task assignment
* Added small hack to prevent scrolling issues
* Fixed lint
* Client: fix Apidoc and move email files (#9139)
* fix apidoc
* move emails files
* quest leader can start/end quest; admins can edit challenges/guilds; reverse chat works; remove static/videos link; etc (#9140)
* enable link to markdown info on group and challenge edit screen
* allow admin (moderators and staff) to edit challenges
* allow admin (moderators and staff) to edit guilds
Also add some unrelated TODO comments.
* allow any party member (not just leader) to start quest from party page
* allow quest owner to cancel, begin, abort quest
Previously only the party leader could see those buttons. The leader still can.
This also hides those buttons from all other party members.
* enable reverse chat in guilds and party
* remove outdated videos from press kit
* adjust various wordings
* Be consistent with capitalization of Check-In. (#9118)
* limit for inlined svg images and make home leaner by not bundling it with the rest of static pages
* sep 27 fixes (#9088)
* fix item paddings / drawer width
* expand the width of item-rows by the margin of an item
* fix hatchedPet-dialog
* fix hatching-modal
* remove min-height
* Oct 3 fixes (#9148)
* Only show level after yesterdailies modal
* Fixed zindex
* Added spcial spells to rewards column
* Added single click buy for health and armoire
* Prevented task scoring when casting a spell
* Renamed generic purchase method
* Updated nav for small screen
* Hide checklist while casting
* fix some text describing menu items (#9145)
* 4.1.3
* use `selectGearToPin` instead of updateStore in migration-script (#9102)
* Tags redesign in edit-task modal (#9122)
* Truncate tags list to maximum number of tasks
This commit truncates the list of tags in the edit task modal and
displays the remaining selected tasks as a number.
* Align tags-select dropdown with "Tags" label
* Add tags popup component
* Use solid purple for tags-select dropdown
* Remove shadow when tags-select is active
* Add border-radius to tags-select
* Re-add previously disabled transitions
* Remove unused template element
* Add Clear Tags button to footer of tags popup
* Decrease column size for tags to better match design
* Truncate tag name to avoid overflows
* Add tag name as title to show full name on hover
* Grow inline tags select from left to right
* Style none button
* Add spacing to streak reset button to line up with tags select
* Add top offset to tags dropdown toggle to line up with label
* Ability to collapse checklists (#9158)
* ability to collapse checklists
* typo
* show warning to use the mobile apps (#9152)
* Oct 4 fixes (#9159)
* Added gem purchase note
* Added notification count
* Added party reload
* Added description when user can no longer purchase gems this month
* Prevent modal from showing when pruchasing recently purchased items
* Added progress bar
* Prevented non leader from loading approvals
* Added group billing
* Release fix (#9161)
* Merge Develop onto Release (#9123)
* Some random quick (#9111)
* Switch group button directions
* Allowed admins to export challenges
* Added scoping to some stable styles
* Fixed challenge cloning
* Tasks tags (#9112)
* Added auto apply and exit
* Add challenge tag editing
* Fixed lint
* Skill fixes (#9113)
* Added local storage setting for spell drawer
* Added new spell styles
* Fixed typo
* Reset local creds if access is denied (#9114)
* various fixes: group leader's name at top of edit drop-down; Members List; etc (#9117)
* fix text describing location of subscription/gem gift box
* disable Copy As To-Do in Tavern, guilds, party because it's not working
* change members label on group pages to Member List
* remove outdated info about seeing number of Gems available to buy
* allow Danger Zone to be seen by players without local authentication
Also add an hr because the Danger Zone heading was crammed up against the button above it.
* put current group leader's name at top of Leader change drop-down
* Client Fixes (#9120)
* unduplicate logout code
* re-enable debug menu
* fix pets badge and equipping mounts
* close gift modal after sending gems
* armoire notifications
* Oct 1 fixes (#9121)
* Added default tags to task
* Added seasonal gear check and show spooky
* Disabled spooky sparkles
* Fixed challenge remove tasks modal
* Hid checklist
* Added group gems modal
* Purchase with amazon
* Added check for user health
* Added missing notification file
* 4.1.1
* 4.1.2
* Merge develop into release (#9154)
* Client: fix Apidoc and move email files (#9139)
* fix apidoc
* move emails files
* quest leader can start/end quest; admins can edit challenges/guilds; reverse chat works; remove static/videos link; etc (#9140)
* enable link to markdown info on group and challenge edit screen
* allow admin (moderators and staff) to edit challenges
* allow admin (moderators and staff) to edit guilds
Also add some unrelated TODO comments.
* allow any party member (not just leader) to start quest from party page
* allow quest owner to cancel, begin, abort quest
Previously only the party leader could see those buttons. The leader still can.
This also hides those buttons from all other party members.
* enable reverse chat in guilds and party
* remove outdated videos from press kit
* adjust various wordings
* Be consistent with capitalization of Check-In. (#9118)
* limit for inlined svg images and make home leaner by not bundling it with the rest of static pages
* sep 27 fixes (#9088)
* fix item paddings / drawer width
* expand the width of item-rows by the margin of an item
* fix hatchedPet-dialog
* fix hatching-modal
* remove min-height
* Oct 3 fixes (#9148)
* Only show level after yesterdailies modal
* Fixed zindex
* Added spcial spells to rewards column
* Added single click buy for health and armoire
* Prevented task scoring when casting a spell
* Renamed generic purchase method
* Updated nav for small screen
* Hide checklist while casting
* fix some text describing menu items (#9145)
* Merge Develop onto Release (#9123)
* Some random quick (#9111)
* Switch group button directions
* Allowed admins to export challenges
* Added scoping to some stable styles
* Fixed challenge cloning
* Tasks tags (#9112)
* Added auto apply and exit
* Add challenge tag editing
* Fixed lint
* Skill fixes (#9113)
* Added local storage setting for spell drawer
* Added new spell styles
* Fixed typo
* Reset local creds if access is denied (#9114)
* various fixes: group leader's name at top of edit drop-down; Members List; etc (#9117)
* fix text describing location of subscription/gem gift box
* disable Copy As To-Do in Tavern, guilds, party because it's not working
* change members label on group pages to Member List
* remove outdated info about seeing number of Gems available to buy
* allow Danger Zone to be seen by players without local authentication
Also add an hr because the Danger Zone heading was crammed up against the button above it.
* put current group leader's name at top of Leader change drop-down
* Client Fixes (#9120)
* unduplicate logout code
* re-enable debug menu
* fix pets badge and equipping mounts
* close gift modal after sending gems
* armoire notifications
* Oct 1 fixes (#9121)
* Added default tags to task
* Added seasonal gear check and show spooky
* Disabled spooky sparkles
* Fixed challenge remove tasks modal
* Hid checklist
* Added group gems modal
* Purchase with amazon
* Added check for user health
* Added missing notification file
* 4.1.1
* 4.1.2
* Merge develop into release (#9154)
* Client: fix Apidoc and move email files (#9139)
* fix apidoc
* move emails files
* quest leader can start/end quest; admins can edit challenges/guilds; reverse chat works; remove static/videos link; etc (#9140)
* enable link to markdown info on group and challenge edit screen
* allow admin (moderators and staff) to edit challenges
* allow admin (moderators and staff) to edit guilds
Also add some unrelated TODO comments.
* allow any party member (not just leader) to start quest from party page
* allow quest owner to cancel, begin, abort quest
Previously only the party leader could see those buttons. The leader still can.
This also hides those buttons from all other party members.
* enable reverse chat in guilds and party
* remove outdated videos from press kit
* adjust various wordings
* Be consistent with capitalization of Check-In. (#9118)
* limit for inlined svg images and make home leaner by not bundling it with the rest of static pages
* sep 27 fixes (#9088)
* fix item paddings / drawer width
* expand the width of item-rows by the margin of an item
* fix hatchedPet-dialog
* fix hatching-modal
* remove min-height
* Oct 3 fixes (#9148)
* Only show level after yesterdailies modal
* Fixed zindex
* Added spcial spells to rewards column
* Added single click buy for health and armoire
* Prevented task scoring when casting a spell
* Renamed generic purchase method
* Updated nav for small screen
* Hide checklist while casting
* fix some text describing menu items (#9145)
* Added gem purchase note
* Added notification count
* Added party reload
* Added description when user can no longer purchase gems this month
* Prevent modal from showing when pruchasing recently purchased items
* Added progress bar
* Prevented non leader from loading approvals
* Added group billing
* Truncate tags list to maximum number of tasks
This commit truncates the list of tags in the edit task modal and
displays the remaining selected tasks as a number.
* Align tags-select dropdown with "Tags" label
* Add tags popup component
* Use solid purple for tags-select dropdown
* Remove shadow when tags-select is active
* Add border-radius to tags-select
* Re-add previously disabled transitions
* Remove unused template element
* Add Clear Tags button to footer of tags popup
* Decrease column size for tags to better match design
* Truncate tag name to avoid overflows
* Add tag name as title to show full name on hover
* Grow inline tags select from left to right
* Style none button
* Add spacing to streak reset button to line up with tags select
* Add top offset to tags dropdown toggle to line up with label
* Client: fix Apidoc and move email files (#9139)
* fix apidoc
* move emails files
* quest leader can start/end quest; admins can edit challenges/guilds; reverse chat works; remove static/videos link; etc (#9140)
* enable link to markdown info on group and challenge edit screen
* allow admin (moderators and staff) to edit challenges
* allow admin (moderators and staff) to edit guilds
Also add some unrelated TODO comments.
* allow any party member (not just leader) to start quest from party page
* allow quest owner to cancel, begin, abort quest
Previously only the party leader could see those buttons. The leader still can.
This also hides those buttons from all other party members.
* enable reverse chat in guilds and party
* remove outdated videos from press kit
* adjust various wordings
* Be consistent with capitalization of Check-In. (#9118)
* limit for inlined svg images and make home leaner by not bundling it with the rest of static pages
* sep 27 fixes (#9088)
* fix item paddings / drawer width
* expand the width of item-rows by the margin of an item
* fix hatchedPet-dialog
* fix hatching-modal
* remove min-height
* Oct 3 fixes (#9148)
* Only show level after yesterdailies modal
* Fixed zindex
* Added spcial spells to rewards column
* Added single click buy for health and armoire
* Prevented task scoring when casting a spell
* Renamed generic purchase method
* Updated nav for small screen
* Hide checklist while casting
* fix some text describing menu items (#9145)
* Only show level after yesterdailies modal
* Fixed zindex
* Added spcial spells to rewards column
* Added single click buy for health and armoire
* Prevented task scoring when casting a spell
* Renamed generic purchase method
* Updated nav for small screen
* Hide checklist while casting
* fix item paddings / drawer width
* expand the width of item-rows by the margin of an item
* fix hatchedPet-dialog
* fix hatching-modal
* remove min-height
* enable link to markdown info on group and challenge edit screen
* allow admin (moderators and staff) to edit challenges
* allow admin (moderators and staff) to edit guilds
Also add some unrelated TODO comments.
* allow any party member (not just leader) to start quest from party page
* allow quest owner to cancel, begin, abort quest
Previously only the party leader could see those buttons. The leader still can.
This also hides those buttons from all other party members.
* enable reverse chat in guilds and party
* remove outdated videos from press kit
* adjust various wordings
* Prevented filters from closing when editing tags
* Fixed group plan upgrade
* Add check for class change
* Fixed scrolling stopping on bailey
* Added server side results for armoire
* Added persistend equipment drawer toggle
* Updated reactivity in amazon payments
* Some random quick (#9111)
* Switch group button directions
* Allowed admins to export challenges
* Added scoping to some stable styles
* Fixed challenge cloning
* Tasks tags (#9112)
* Added auto apply and exit
* Add challenge tag editing
* Fixed lint
* Skill fixes (#9113)
* Added local storage setting for spell drawer
* Added new spell styles
* Fixed typo
* Reset local creds if access is denied (#9114)
* various fixes: group leader's name at top of edit drop-down; Members List; etc (#9117)
* fix text describing location of subscription/gem gift box
* disable Copy As To-Do in Tavern, guilds, party because it's not working
* change members label on group pages to Member List
* remove outdated info about seeing number of Gems available to buy
* allow Danger Zone to be seen by players without local authentication
Also add an hr because the Danger Zone heading was crammed up against the button above it.
* put current group leader's name at top of Leader change drop-down
* Client Fixes (#9120)
* unduplicate logout code
* re-enable debug menu
* fix pets badge and equipping mounts
* close gift modal after sending gems
* armoire notifications
* Oct 1 fixes (#9121)
* Added default tags to task
* Added seasonal gear check and show spooky
* Disabled spooky sparkles
* Fixed challenge remove tasks modal
* Hid checklist
* Added group gems modal
* Purchase with amazon
* Added check for user health
* Added missing notification file
* fix text describing location of subscription/gem gift box
* disable Copy As To-Do in Tavern, guilds, party because it's not working
* change members label on group pages to Member List
* remove outdated info about seeing number of Gems available to buy
* allow Danger Zone to be seen by players without local authentication
Also add an hr because the Danger Zone heading was crammed up against the button above it.
* put current group leader's name at top of Leader change drop-down
* Some random quick (#9111)
* Switch group button directions
* Allowed admins to export challenges
* Added scoping to some stable styles
* Fixed challenge cloning
* Tasks tags (#9112)
* Added auto apply and exit
* Add challenge tag editing
* Fixed lint
* Skill fixes (#9113)
* Added local storage setting for spell drawer
* Added new spell styles
* Fixed typo
* Reset local creds if access is denied (#9114)
* fixed some columns on smaller screens
* changed mystic hourglass check
* Checked for bad data
* Groupped pets and mounts
* Added show more
* Fixed lint
* Fixed lint
- prevent the user seeing a confirmation about paying 3 gems when enabling the class system (which is free)
- rename changeClass function to changeClassForUser to avoid confusion with changeClass function
- make change class confirmation translatable
- changed "gems" to "Gems" in locales string
* fix link to Data Display Tool
* prevent the Copy As To-Do button appearing in the inbox because it isn't working
* allow mods/staff to delete any chat message
* prevent the Flag/Report button appearing in the inbox because it isn't working
* on class change: remove owned gear from pinned items
* move dragging item-info closer to the cursor (food / hatching potion)
* remove v-once at attributesPopover (if the parent component is recycled the old data stays active)
* prevent popover to show data of an item that was removed - but the popover stays opened
* start work on porting the reset password page
* add new api route for setting a new password after a reset
* wip client page
* port tests
* wip
* fix linting
* skip tests
* Fixed layering of avatar
* Fixed navbar padding on small screens
* Dropdowns go left
* Adjusted member details styles
* Fixed task tag display
* Added toggle to buy gems
* Began moving presskit
* Fixed easing and validating immediately
* Added hover state to login and fixed transitions for social buttons
* Fixed more style issues
* Fixed overflow
* Added email warning
* Show login button on mobile
* Some column adjustments for mobile
* Fixed email/username confusion
* adjust how User > Profile is referred to
* change "Create" to "Add Task" in a Challenge's page
* remove commented-out code for making a Group Plan cost Gems (there should be no Gem cost)
* split 'create' locales string into multiple strings for different purposes
- Allows text to be changed individually for each purpose.
- Assists translators in determining the best translation.
- Makes it easier to find locations in code for each string.
* remove "public" option for Group Plan creation modal
* allow all users to see challenge participant progress
* allow a user (admin or non-admin) to flag their own message
Initially implemented in https://github.com/HabitRPG/habitica/issues/8005
Use case for a non-admin needing to flag their own message:
- a new user posts a question
- a socialite answers
- the user posts again and reveals that they're under 13
- the socialite flags all of the user's messages and all replies to the user including the socialite's own reply (it's a requirement that all messages to and from under-aged users be hidden and some socialites know this)
* change NPC message for Tavern: "Rest in the Inn" > "Pause Damage"
* prevent a chat message being hidden until it's been flagged more than once
* allow non-Tavern (non-"Public") challenges to have zero gem prize
Also changes message about gem prize to say "Public Challenges" instead of "Tavern Challenges"
* finish committing merge conflict
* Discover challenges
* Fixed hero loading
* Moved add task button
* Fixed bailey showing
* Added logs for bad sub data
* Fixed blurb editing
* Added confirmation for deleteing message
* Reset invite modals on invite
* fixed group member sorting
* Fixed chat time styles
* Fixed hover on liked
* Fixed like count
* Added reverse
* Fixed editing party
* Added leader conditions
* Added search
* Added loading
* Reset members when leaving party
* Rounded pending
* Fixed overflow on collecting quests
* Added to invite friends
* Hid summary from party
* Fixed button styles
* Fixed button class
* Removed okay button
* Fixed renav for profile modal
* Added subscription back to menu
* Fixed static link
* Added daily due setting
* Added local auth adding
* Fixed centering of text
* Removed message locally
* Added count for new message
* Added style fix for profile pet
* Fixed achievement popovers
* Fixed white boxes
* Added plain color backgrounds
* fixed challenge mutability
* Fixed challenge editing
* Added notation for large numbers
* Add color text to guild sizes
* Removed membership filters from discover challenges
* Added invites to group
* Cmd + enter send message
* Made leader clickable
* Updated group validation
* Added cancelling autocomplete
* Added mention icon
* Added removing member
* Removed extra string
* adjust wording and time format for Custom Day Start time confirmation
- explains that this is the EARLIEST possible time for cron
- allows user to see the exact earliest time
* remove unnecessary hyphen from login date in Profile; added whitespace after colons
* allow Hall of Heroes to be seen by non-admin users (except for admin interface)
Also removes a level of code indentation that seemed to be incorrect.
* clarify that Orb of Rebirth costs 0 gems after level 100
Previously, the modal showed just a gem icon with no number, which was misleading.
Now it shows explicitly 0 gems.
* fix spelling mistake (Challeges > Challenges)
* allow equipment to be sorted by Perception
Also change Con > CON, Per > PER, etc for consistency with abbreviations used in other locations.
* fix(notifications): click to clear
* fix(chat): no italic/gray typing in Tavern
* fix(tutorial): tighter Justin modal
* fix(modal): revert changes to avatar editing
* fix(avatar): let edit modal be big
* Added show member modal when hero is clicked
* Added drag for checklist and fixed display system messages
* Fixed party modal showing from group page
* Delete new message key
* Adjusted column sizes for chat
* Fixed key
* Removed lingering checklist
* Added another party data check
* Added move cursor on hover
* Removed task locally
* Prevented user from being able to delete an active challenge task
* Reset tasks when viewing member progress
* Prevented challenge owners from adding checklists
* Hide challenges columns with no tasks
* Add error translations
* Added markdown to challenge description
* Allowed leader to rejoin challenge
* Replaced description with summary
* Fixed delete logic
* Added author
* Added loading message
* Added load more
* Added default sub
* Fixed remove all
* Added lint
* remove `classSelected` on adding new pinned gear
* use show::modal on buyModal / selectMembersModal instead of v-if=item
* show::modal for buyQuestModal - fix bundles class
* fix buy potion
* fix open selectMembersModal (after changing to shop::modal)
* Fixed analytics when party is not defined:
* Waited to set Stripe
* Added popovers to danger zone
* Added date format to next cron
* Redirect user back to home for static
* Removed old settings
* Fixed show bailey
* Fixed close button on inbox
* Fixed sending blank message
* Changed input to text area in inbox
* Fixed deleting messages in inbox
* Allowed user to delete other user message in inbox
* Fixed joined date
* Fixed count styling
* Fixed display of pet and mount
* Removed white box when using base_0 items
* Fixed your profile to show when clicking from menu
* Prevented user from pinning already purchased backgroud
* Added user last log in
* Added date refresh for yesterdailies modal
* Updatd eyewear
* Fixed start a quest button
* Fixed styles on home page footer
* Added checklist sorting
* Added support for if card type is missing computed field
* Fixed linting
* remove console.log calls used for debugging
* open member modal when clicking on user name or avatar in chat
* misc fixes to strings, payments, ...
* simplify code
* secure statsComputed
* 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
* reset yesterdailies array after cron has run
* start to fix gifting
* remove unused code, move encodegift
* wip
* fix styles and bugs
* fix error if amazon is slow to load its script
* fix error notifications not showing up
* not locking pre-owned gear - pin removed gear on revive
* fix createAnimal (check for function) - hide pet-popover while dragging food
* fix dragging popover text color
* fix drop toasts
* selectMembersModal: load members on item change
* remove excess brace on settings > subscription screen
* prevent User icon > Settings > Subscription page from crashing when subscription has termination date
* stop subscription modal from pitching subscription to a subscriber
* change placeholder text from Username to Login Name for consistency with other login/register forms
* fix test for POST-tasks_user -- streak and dateCompleted weren't being tested correctly
* prevent tag selector from appearing in edit screen for a challenge's own tasks
* restore Restore Streak when editing a user's Dailies (including their own copies of Challenge and Group Plan Dailies)
* remove failing streak test
* Adjusted styles and added loading for private messages
* Allowed for assigning during group task creation
* Fixed white logos and start overflow
* Added state styles to home
* Fixed position
* Updated avatar purchasing
* show quests and open quest dialog on click
* extract questDialogContent/Drops to separate components & use those in startQuestModal & buyQuestModal
* fix market search
* remove & readd pinned gear on revive
* remove listener once destroyed
* feat(gems): User menu Gems prompt
* feat(purchases): Gems modal
* feat(purchasing): Subscription side of modal
* fix(modals): analytics and dropdown styling
* Fix formatting for level 100 cap message
* Fix position for attribute points counter
* Fix text overflow in points box by increasing column width from 8 to 12
* Fix tests: Add userV to expected response in response middleware
* Added new message count
* Added route change for group plan
* Added fix for quest value of 0
* Fixed guild summary limit, guild and challenge height
* Added task sorting
* Added api buy armoire
* Fixed linting
* add automatic user syncing when user._v does not match with server
* fix google signup
* fixes to user sync
* check for next cron on activity
* add comment
* Added task sync after joining challenge
* Added gem purchasing
* Updated member modal style
* Added community guidelines to all groups
* Added group plans redirect
* Began add new front page design
* Fixed challenge loading on mount
* Fixed upgrade
* Added default summary
* Fixed small nav bar styles
* Added more unlock options to avatar editor
* Added more home page finishes
* Fixed login incentives header
* Added achievement hover
* Removed grassy background from editing modal
* Fixed loading of other user equipment
* Prevented non admins from using habitica official
* Fixed challenge loading and leader changing on group reload
* Added community guidlines link
* Added challenge cloning
* Fixed heroes editing
* pass the timezoneoffset to the server
* implement yesterdaily modal timer
* fix typos
* todo
* task editing: checklist should not overlay the tags box
* make tags selector use two columns
* show all tags
* do not allow users to go to /login and /register if logged in
* Added flagging to show to admins
* Fixed filters in my guilds
* Fixed login incentives style
* Added inital rage bar
* Added categoires to get group
* Updated profile stats page
* Added stat allocation
* Updated tests to include categoires
* Fixed lint issue
* Added another lint fix
* fix spacing between rewards and items
* fix rewards description
* rewards cost in bold
* fix gp notifications
* fix dailies gray text
* fix cancel in task edit modal
* tags: use AND not OR for filtering
* fix tasksDefaults so that monthlies can be created correctly
* tags: usable if no task selected, saving checklist and tags saved the one being added without requiting to press enter
* remove tags from tasks when they are deleted
* fix tags removal when multiple tags are deleted and fix tags editing
* Added avatars to inbox
* Added ordering of inbox messages
* Fixed blurb not converting to string
* Added message to member modal
* Added quest invites
* Moved filters to server
* Separated private message model
* Added markdown to profile
* Add color backgrounds
* Added broken challenge flow
* Added summary field to getgroups
* Fixed group form information loading
* Updated autocomplete to use chat
* Fixed npc styles
* Fixed onload mentions
* remove buyModal from all views / move to app.vue - show party member selection if card was bought
* add .btn style to 'show more' / 'show less'
* prevent adding duplicate pinned items - reset pinned gear on rebirth
* remove hourglass in items
* fix unequip gear from drawer
* fix bought item notification
* fix background in avatar - avatar position in buyModal
* fix(static-page): Community Manager links
* feat(modals): Bailey news
* feat(footer): link to Hall of Heroes
Also makes a number of strings translatable instead of hardcoded.
* fix(notifications): simplify drop messages
* Reset user when clicking profile nav
* Added editprofile
* Add scroll to conversations and scroll to bottom on messages
* Fixed profile click
* Added notification mixin
* Fixed challenge edit assignment
* Guild list item now returns summary
* Fixed tier icons
* Fixed quest invitaion check
* Fixed extra loading of party members in modals
* Removed background from avatar in tutorial
* Changed port back
* Fixed task adding
* Fixed party invite accepting
* Fixed message sending and scrolling
* Fixed profile clicking
* Hids needs work
* Added group plan page images
* Added category to editing groups
* Added quest box fix
* Added tier styles
* Changed port back to 8080
* Fixed npc style
* use store action to purchase gem by gold
* only show party members in header if enough width available / use overflow hidden
* fix featuredItems buyModals
* fix special items listing - open modal on special spells
* don't open the buymodal on locked items
* fix lint
* 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
* Links stay white on hover
* Fixed task icon color
* Disabled plus button when needed
* Fixed difficulty color
* Fixed task reward color
* Updated create styles
* Fixed group plan link
* Fixed second group test modal
* Added login incentives
* Fixed group notification clear
* Show baily correctly
* Styled armoire notification
* Fixed contributor achievement styles
* Fixed death
* Fixed drop styles
* Fixed invited friend modal
* Fixed joined challenge achievement style
* Fixed joined guild style
* Fixed level up styles
* Updated low health styles
* Fixed bailey styles
* Updated quest completed
* Added soem conditionals to hide modals
* Added rebirth styles
* Fixed rebirth enable styles
* Fixed streak styles
* Fixed testing modals
* Fixed ultimate gear achievement
* Fixed won challenge
* Set user to welcomed if created on mobile
* Removed old default tasks
* Began adding more options to avatar
* Added change class
* Inbox to messages
* Moved profile to menu
* Added user modal for viewing a user and send message
* Fixed conversations
* Fixed lint
* Fixed challenges sending to server
* Added challenge progress view
* Fixed group sync after pay
* Fixed some group accepting features
* Fixed initial chat loading
* Fixed some exitence errors
* Added user names to assigned
* Added upgrade link
* Began adding new payment flow
* Added default tasks
* Updated avatar styles
* Updated tutorial styles
* Rebuilt notifications and styles
* Updated upload script
* Fixed lint
* Added default tasks back to mobile and added updated tests
* More test fixes
* lock other classes gear
* fix avatar in equip-gear-modal
* fix seasonal shop
* seasonal : new gear type order
* fix pin gear (and get new gear on buying)
* API: /shops/market-gear - refactoring pinnedGearUtils - move _isPinned to common/libs
* use shops.getMarketGearCategories to list the marketGear
* use shops.getMarketCategories instead of API-call
* mark gear reward items as locked
* purchase time-travelers stuff + update view + use method instead of http-api + add missing mammoth shop image
* Time Travelers Shop: open/closed state
* time travelers: show gear preview + hide sidebar if closed
* update resized images
* fix lint
* remove Earnable Quests from quests shop
Earnable Quests could be put back later but with an explanation
for how you can earn them. The Quest Shop isn't well set up for
that at the moment.
* change names of some equipment items
NOTE: The `...Capitalized` strings all have lower-case versions
(e.g., "weapon" and "weaponCapitalized"). I suspect we should
change or (perhaps better) get rid of the uncapitalized version
but I'm not sure what other effects that might have (e.g., haven't
searched for exactly where it's used; don't know what it would do
to the mobile apps). Suggest looking into that after launch. If
the old, uncapitalized strings appear elsewhere during our site
testing, we should probably change them to the Capitalized version
then, or if lowercase is essential, create new strings (e.g.,
"weaponUncapitalized" - that will be much easier later than just
"weapon" for searching for where it's used!)
* change order of Equipment types on the inventory page
http://i.imgur.com/64D5jEk.png
* Footer style fixes
* Limited string display
* Fixed background reload
* Began adding more avatar items
* Fixed challenge updated cats and official to be seen by admins
* Fixed min prize
* Fixed required fields
* Added my challenges and find challenges to menu
* Removed nav to party page when have no party
* Updated user and notifications icon
* Added accept, reject and messages
* Added selfcare
* Underline links
* Added forgot password
* Fixed task adding
* Disabled habit options that should be
* Added markdown to tags
* Added confirm to delete
* Fixed cancel/delete style
* Fixed rounding
* Added gold icon
* Fixed task icon styles
* Fixed margin botton
* Fixed some repeat styles
* Fixed custom reward style
* Hide like count 0
* Added new tavern images
* Redirect to party page after create
* Hid leader options from non leaders
* Removed manager options from non group plan
* Fixed some nav styles
* Fixed overlay color
* Prevented edit data from being transfered to create
* Added hover state for spells
* Add performance fixes for chat avatars
* Fixed merge conflicts
* Updated fron navigation
* Fixed reg gryphon logo
* Began adding gem modal functionality
* Added purchase gems with gold
* Fixed restore
* Replaced description with summary
* Spells that target tasks fix
* Added initial challenge task load
* Fixed lint issue
* feat(modals): near-complete Choose Class modal
Also fixes avatar alignment in the Equip modal.
* feat(classes): send API requests from choose modal
* feat(classes): full functionality on choose modal
* WIP(classes): refactor class functions
* refactor(avatar): more intelligible sprites margin
* fix(imports): correct import syntax
* create new summary field for challenges
* finish implementating summary for challenges, add some support for guilds
* make small improvements to challenges code
* fix lint errors
* add more code to support summaries for guilds (still more needed)
* fix existing tests by adding summary field
* make existing tests pass
* WIP make "Public Challenges" text translatable
* change "leader" locale key to "guildOrPartyLeader" to make searches for it easier
* remove v-once from h2 headings
* remove failed attempt to localise text in <script>
* add quick-and-dirty error checking for guild not having categories
* make "Public Challenges" text translatable
* rename final ...PlaceHolder strings to ...Placeholder (lower-case "h") for consistency with existing Placeholder strings
* wip: client: i18n
* remove maxAge from cookies to get same expiration ad localStorage
* set cookies expiration to 10 years
* moment: load translations in browser, moment: only load necessary data, remove jquery, remove bluebird
* ability to change language
* fix logout
* add some requiresLogin: false to static pages
* fix tests
* Prevented spells menu from apearing below lvl 11
* Expanding clickable casting area
* Persisted spell drawer close
* Added edit form modal to party
* Added spell toggle
* Added markdown notification
* Prevented casting on challenge and group tasks locally
* Quick fix for self cast
* Fixed lint issue
* shows message in Equipment shop when you've bought all class gear
* change Spells to Skills in visible text
* show correct message in stable when you don't have any Saddles
* Fixed login/reg styles and on submit
* Fixed duedate display in yesterdailiy modal
* Prevented tutorial from showing after logged in has past created
* Hide premium shirts from creating
* Fixed level up notification
* Updated categoires
* Updated justin message
* Fixed notification changes
* Fixed guild nav in join guild modal
* Added buygems modal
* Removed avatar page click
* Fixed group plan nav
* Fixed death issue
* Fixed party header styles
* 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
* Fixed gem styles
* Fixed party challenge logic
* Fixed category sending
* Filtered habitrpg
* Fixed updating group
* Added new empty state badge
* Added information to create group
* Fixed large icons
* Fixed name collision
* Load chat on sent
* Removed report own message
* Fixed some minor styles
* Removed extra mods
* Hide class badge
* Fixed chat alignment
* Fixed taven autocomplete
* Forced full refresh after deletE
* Fixed styles on firefox
* Removed instagram link
* Added information to modal
* Fixed deleteing and task keeping
* Added redirect to challenge detail after created
* Updated challenge item styles
* Added new limit option to challenges
* 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
* Fixed some purchasing issues with backgrounds
* Added more background styles
* Fixed some menu styles
* Initial old client removal
* Added cross-env
* removed bower and fixed lint
* Made interceptor errors use notify
* Removed old client tests and fixed lint
* sort equipment by stats: highest first
* spelling fix: excercise > exercise
* change wording for login link on register screen
* remove incorrect Items heading from Quests Shop
* fix missing "Recovery + Support Groups" guild category text and remove whitespace from keys
* fix text for guildInformationPlaceHolder
* 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
* Refactor api description for auth.js with @apiParam groups
* Refactor apiDoc toward better consistency
* Fix missing groups for get requests
* Fix missing groups for other request methods
* Added stripe payment for group plan
* Began adding amazon
* Added amazon payments for group
* Added get group plans route
* Added group plan nav
* Added initial task page
* Added create and edit group plans
* Added initial approval header and footer
* Added assignment and approved requirement
* Added minor text fixes
* Added inital approval flow
* Added approval modal
* Removed always true
* Added more styles for filters
* Added search
* Added env vars
* Fixed router issues
* Added env to social login
* Fixed merge conflict
* 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
* highlight egg on dragging a potion - hide popover while dragging - flat show more button
* Show EquipGearModal on Item-Click - misc fixes
* disable dragging
* hide egg notes while dragging
* rename headgear to helm
* sort equipment by name & attributes
* set welcome-dialog flag
* show feeding notification
* select animals on click
* add hatchable popover back
* fix stable sortby A-Z
* remove property brackets
* Added api token to page
* Fixed wiki link
* Added categoires
* Removed extra create challenge button. Add prize model and user balance deduction
* Added pending filter
* Added member sort
* Added confirmation for leaving
* Filtered tavern
* Added redirect to newly created guild
* Made guild links routerlinks
* Fixed wiki link and added fetch recent messages
* Show backgrounds only on edit. Fixed glasses equip
* Added link to register page
* Added yesterdailies
* Added achievement footer
* Update guild badges
* Added avatar to achievement avatar component
* More guild crests updates
* Achievement footer and avatar added
* Added notification read
* Removed duplicate string
* tasks hover state
* hide column background if task too close
* wip edit tasks
* wip: replace tags
* upgrade bootstrap-vue and fix creare btn for tasks
* difficulty options colors and active label fixes
* fix tags
* change quest banner backgrond
* itemRows in inventory
* use itemRows in inventory/items - showLess/showMore as default labels - extend white space if theres no button available
* hide popover if dragging is active - show dragging info on first click (without to move)
* use itemRows in inventory/stable
* fix some strings
* highlight currently dragging item in inventory/items - auto attach info on click - z-index
* fix shopItem label color
* fix floating npcs in banner
* hatched-pet-dialog in items / stable
* change all ctx to context
* 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
* Removed sticky header
* Fixed group desc and information
* Add flag modal
* Fixed chat sync errors
* Fixed balance display
* Fixed key and close issue
* Updated tavern placeholder
* Added and fixed links
* Removed open user modal from clicking menu
* Added better app loading check
* Removed banner from party
* Allowed for nav when clicking the card
* Fixed member display
* Updated create challenge modal to populate list and to create party/public
* Display members modal
* Added fetch recent messages
* issue 8812 - added the list of bad words matched to the postChat error message.
* issue 8812 - added the list of bad words matched to the postChat error message.
* issue 8812 - some refactoring, fixed relevant tests, and lint rules refactor
* small fix for unnecessary empty array
* added test and did some small refactoring
* lint error fix
* issue 8812 - added the list of bad words matched to the postChat error message.
* issue 8812 - some refactoring, fixed relevant tests, and lint rules refactor
* small fix for unnecessary empty array
* added test and did some small refactoring
* lint error fix
* add test to check the error message contains the banned words used
* improve banned words test
* issue 8812 - added the list of bad words matched to the postChat error message.
* issue 8812 - some refactoring, fixed relevant tests, and lint rules refactor
* small fix for unnecessary empty array
* added test and did some small refactoring
* lint error fix
* issue 8812 - added the list of bad words matched to the postChat error message.
* issue 8812 - some refactoring, fixed relevant tests, and lint rules refactor
* add test to check the error message contains the banned words used
* improve banned words test
* merge with develop - aligned banned slurs check with banned words check
* fix filter button style
* display completed todos
* fix reward control position
* begin to add edit modal
* start adding settings to edit modal
* add task saving, creating and deleting
* fixes
* add tags and repeat frequency for habits
* clicking on links should not open the edit modal
* checklist editing
* repeatables and checklists
* delete checklist items
* add rewards price
* update shrinkwrap
* pin cwait
* 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 challenges section
* Added public fields to guilds
* Added suggestion for habitica help guild
* Added categoires to group
* Added guild category filters
* Added guild filter by member count
* Removed console.log
* Updated group count in tests to account for newly created groups
* Moved static files over to new client
* Added statics, fixed translations and update styles
* More style and vue fixes
* Fixed line endings
* Fixed new stuff converasion and help links
* Changed files to fix Bug 7958:
- website/client-old/.../userCtrl.js#38: removed to keep inventory constant
- website/common/.../changeClass.js#33: removed to stop 'classes' introduction
* Adjustments following Bug Review
- Removed remaining 'foundKey' logic
- Adjusted test logic to reflect feature change
* Reverting userCtrl.js to development version
- Reintroduces "classes" Guide tour
* New version of Fixes#7958
- Changed logic to only notify user the first time they choose a class
- Changed message to represent this change in logic
- #LINT: Cleaned interface for changing class
- New method: enableClasses() -- because, really, should we be calling User.changeClass({}) from the UX?
- New method: payForNewClass() -- handles prompting the user to confirm that they want to change class
* Remove new User Flag, use flags.tour.classes
* Whoopsie. Fix PR conflict.
* Changed files to fix Bug 7958:
- website/client-old/.../userCtrl.js#38: removed to keep inventory constant
- website/common/.../changeClass.js#33: removed to stop 'classes' introduction
* Adjustments following Bug Review
- Removed remaining 'foundKey' logic
- Adjusted test logic to reflect feature change
* Reverting userCtrl.js to development version
- Reintroduces "classes" Guide tour
* New version of Fixes#7958
- Changed logic to only notify user the first time they choose a class
- Changed message to represent this change in logic
- #LINT: Cleaned interface for changing class
- New method: enableClasses() -- because, really, should we be calling User.changeClass({}) from the UX?
- New method: payForNewClass() -- handles prompting the user to confirm that they want to change class
* Remove new User Flag, use flags.tour.classes
* Whoopsie. Fix PR conflict.
* Removed Extraneous Flag
* Removed Extraneous Flag
* Changed files to fix Bug 7958:
- website/client-old/.../userCtrl.js#38: removed to keep inventory constant
- website/common/.../changeClass.js#33: removed to stop 'classes' introduction
* New version of Fixes#7958
- Changed logic to only notify user the first time they choose a class
- Changed message to represent this change in logic
- #LINT: Cleaned interface for changing class
- New method: enableClasses() -- because, really, should we be calling User.changeClass({}) from the UX?
- New method: payForNewClass() -- handles prompting the user to confirm that they want to change class
Remove new User Flag, use flags.tour.classes
Whoopsie. Fix PR conflict.
Removed Extraneous Flag
* Fixes handling architecture change
* Updates following Review 20170418-0602
* Remove cause of mocha/no-exclusive-tests lint failure
* (server) Add parties array to store invites
* (server) Lint files
* Update joinGroup, rejectGroupInvite, _inviteByUUID, and remove clearPartyInvitation.js
* Update user schema: detailed 'invitations.parties' attributes
* Code improvement and do not let invite twice
* Check if the user is already invited earlier in the code
* Added message to invitation page, and show all invitations
* Added join party confirmation alert
* Small fixes
* Created test: allow inviting a user to 2 different parties
* Updated tests
* Update invitations.parties on more places
* Small adjustments
* Updates on invitations.party references
* Show all invitations when user is already in a party
* Fixed notifications counter
* Update both 'party' and 'parties' at _handleGroupInvitation
* Updated a test
* Fixed small mistake at _handleGroupInvitation
* More test update
* Update invitation.party when removing single invite and small adjust at view
* 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
* Initial psuedo-code for checking for slurs in messages
* Initial working prototype for blocking posting of slurs. Moved check from group.js to the chat api. Still needs: to permanently revoke chat privileges, to notify the moderators, a better method for checking for the blacklisted words, and a way to get the real list of words to check.
* Permanently revoke chat privileges when attempting to post a slur.
* Removed console logs
* Fixing rebase
* Do not moderate private groups
* Moved slur check to a generic check for banned words function
* Moved list of slurs to a separate file, fixed misplacement of return in ContainsBannedWords() function
* Slurs are blocked in both public and private groups
* Added code to send a slack message for slurs
* Fixed formatting issues
* Incorporated tectContainsBannedWords() function from PR 8197, added an argument to specify the list of banned words to check
* Added initial tests for blocking slurs and revoking chat priviliges
* Uncommented line to save revoked privileges
* Check that privileges are revoked in private groups
* Moved code to email/slack mods to chat api file
* Switched to BadRequest instead of NotFound error
* Restore chat privileges after test
* Using official placeholder slur
* Fixed line to export sendSubscriptionNotification function for slack
* Replaced muteUser function in user methods with a single line in the chat controller file
* Reset chatRevoked flag to false in a single line
* Switched method of setting chatRevoked flag so that it is updated locally and in the database
* First attempt at the muteUser function: revokes user's chat privileges and notifies moderators
* Manual merge for cherry-pick
* Initial working prototype for blocking posting of slurs. Moved check from group.js to the chat api. Still needs: to permanently revoke chat privileges, to notify the moderators, a better method for checking for the blacklisted words, and a way to get the real list of words to check.
* Permanently revoke chat privileges when attempting to post a slur.
* Removed console logs
* Created report to be sent to moderators via email
* Do not moderate private groups
* Moved slur check to a generic check for banned words function
* Moved list of slurs to a separate file, fixed misplacement of return in ContainsBannedWords() function
* Slurs are blocked in both public and private groups
* Added code to send a slack message for slurs
* Fixed formatting issues
* Incorporated tectContainsBannedWords() function from PR 8197, added an argument to specify the list of banned words to check
* Added initial tests for blocking slurs and revoking chat priviliges
* Uncommented line to save revoked privileges
* Check that privileges are revoked in private groups
* Moved code to email/slack mods to chat api file
* Switched to BadRequest instead of NotFound error
* Restore chat privileges after test
* Using official placeholder slur
* Fixed line to export sendSubscriptionNotification function for slack
* Replaced muteUser function in user methods with a single line in the chat controller file
* Reset chatRevoked flag to false in a single line
* Switched method of setting chatRevoked flag so that it is updated locally and in the database
* Removed some code that got re-added after rebase
* Tests for automatic slur muting pass but are incomplete (do not check that chatRevoked flag is true)
* Moved list of banned slurs to server side
* Added warning to bannedSlurs file
* Test chat privileges revoked when posting slur in public chat
* Fix issues left over after rebase (I hope)
* Added code to test for revoked chat privileges after posting a slur in a private group
* Moved banned slur message into locales message
* Added new code to check for banned slurs (parallels banned words code)
* Fixed AUTHOR_MOTAL_URL in sendTxn for slur blocking
* Added tests that email sent on attempted slur in chat post
* Created context for slur-related-tests, fixed sandboxing of email. Successfully tests that email.sendTxn is called, but the email content test fails
* commented out slack (for now) and cleaned up tests of sending email
* Successfully tests that slur-report-to-mods email is sent
* Slack message is sent, and testing works, but some user variables seem to only work when found in chat.js and passed to slack
* Made some fixes for lint, but not sure what to do about the camel case requirement fail, since that's how they're defined in other slack calls
* Slack tests pass, skipped camelcase check around those code blocks
* Fixed InternalServerError caused by slack messaging
* Updated chat privileges revoked error
* fix(locale): typo correction
* Fixed release pets/mounts achievements when fully earned and added unit tests for these changes
* Fixed release pets/mounts achievements to award only when fully earned and added unit tests for these changes, also fixed linting issues
* Updated variable assignments to make more readable
* Revised releaseBoth/Pets/Mounts to include null or undefined checks, also updated unit tests
* fixed integration tests
* Add test to prevent death users recovering health
* Add check for buying potions with zero health
* Validate hp <= 0 to take boss damage into account
* For habit reset logic, changed day check calculation to use user’s timezone instead of server time.
Added unit tests to check following cases:
- Weekly habit reset: Server tz is Sunday, User tz is Monday
- Weekly habit reset: Server tz is Monday, User tz is Sunday
- Monthly habit reset: Server tz is 1st of month, User tz is 2nd of month
- Monthly habit reset: Server tz is end of prev month, User tz is 1st of month
* use moment().zone() instead of utcOffset()
* typo
* Fixed check for daysMissed, added logic for CDS
Added test for CDS, fixed previous tests
* make Bailey correctly explain about Aquatic Friends achievement badge
It's this error again: https://github.com/HabitRPG/habitica/issues/8658
From katzalina in the Report a Bug guild:
"not a priority: Re:Bailey's news 07/05/ it says: both you and you
friend get the aquatic friends badge - I splashed a party member
and did not get the badge (didn't expect to either, until reviewing
the news). Am I experiencing a bug or has there been a systematic
change and the news text doesn't reflect it, yet? Thanks"
* the incorrect message was in an earlier Bailey as well
* add possibility for group to block members from getting gems
* fixes
* fix tests
* adds some tests
* unit tests
* finish unit tests
* remove old code
* Translation string for error notification
* Use function instead of a link for paypal
* Inject notification service, function to check the amount of gems to purchase, function to handle payments with paypal
* Throw error if amount of gems is zero or negative
* Add condition to raise error if amount is negative
* Added gem errors for gifts 0 or less
* Fixed linting and broken test
* Fixed test syntax
* Added back needed strings
* Fixed group locales
* Added initial creator
* Added initial styles and functionality for creator
* More style changes
* Translations and styles
* More active classes
* Removed extra locales
* checking nexDueDate if it's an array before applying .map
* used array created
* change let for 'strict mode'
* Used ajax when canceling from the website (#8697)
* Used ajax when canceling from the website
* Fixed grammar issue
* Payments gem reset (#8712)
* Added gem reset if user does not have date last updated set
* Fixed login of adding updated date
* fix bug that prevented sending of emails to admin addresses (#8832)
* feat(content): June 2017 subscriber items
* chore(sprites): compile
* chore(i18n): update locales
* 3.98.0
* [WIP] client/inventory/stable (#8737)
* Stable: basic layout (based on equipment)
* extract item popover-content as component
# Conflicts:
# website/client/components/inventory/item.vue
* extract item-content as slot - list standard pets with image
* dynamic list petGroups in sidebar / content - with selected / open filter
* itemContentClass for pets
* fix filter - extract filter labels
* Filter: Hide Missing
* fix position of pets
* sort by: A-Z, Color, Hatchable
* refactor animalList - created the list once per type and cache it - sort now works before viewing one or all pets
* custom petItem to show the progress
* list specialPets - rename petGroup to animalGroup (more generic)
* equip a pet
* filter animals by input
* count pets
* list mounts
* hatchable pet popover
* hatchable pet popover #2
* PixelPaw Opacity for not owned and not hatchable pets - change item background for unowned pets
* Hold to hatch the pet - cleanup
* add food drawer + countBadge - special mounts - hide un-owned special animals - fixes
* Sliding Drawer: Buttons to scroll left/right
* Drag&Drop: food on pets
* fix hold to hatch - use mouseleave event
* 'Show All' / 'Show Less' - Animals
* Matts Image + Popover + use image width as sidebar width (removed col-2 / col-10)
* fixes: colors, v-once, drawer-errorMessage, strings
* drawerSlider - split items to pages / add divider / add first item of the next page - ResizeDirective
* ResizeDirective - throttle emits by `v-resize="value"` - fix drawer left padding
* show animals by available content width
* change sortBy button / label
* fix pet colors / backgrounds
* DragDropDirective - grabbing cursor
* remove browser specific prefixes
* fix lint issues
* show welcome dialog
* change translationkey (noFood, already exists)
* used array created
* change let for 'strict mode'
* fixes: show ten pets in a row - show pet / no feeding progress if mount already owned
* fixes: disabled filter instead of hiding them
* fixes: don't hide special pets - same item style for mounts
* fixes: avatar changes of pet / mount
* fixes: unfocus first dropdown-item by css
* fixes: unfocus first dropdown-item by css (remove :focus style)- added "What does my pet like to eat?" popover
* Began adding tavern and party
* Fixed routing conflicts and tavern constant
* Updated button styles
* Added not on quest block
* Added no challenge block
* Began adding quest details
* Began updating group create modal to have party info
* Added create party modal
* Added share userid menu
* Began adding toggle
* Finished toggle styles
* Added start quest modal
* Ported over party ctrl code
* Finished porting over party ctrl code
* Added more quest actions
* Added own quests modal and quest modal details
* Fixed member modal styles and icons
* Added many random style updates
* Small text align fix
* Removed extra update
* Removed config and extra key
* Removed client string extras
* remove unused elements from tasks page
* remove components
* client: tasks: wip
* tasks: order, start styling them
* more tasks works
* habits controls
* more work
* tasks icons
* split columns in their own component
* implement tags for tasks
* wip
* add columns description
* make comment more accurate: members are removed, not banned
They can rejoin with an invitation in a private group or at any time in a public group.
* change windows line breaks to unix line breaks
* change flavour text of Golden Knight collection quest to reduce number of testimonies
* fix grammatical error noticed by mandyzhou
* improve message about not being able to send PMs because we often see people report it as a bug
* update instructions for cancelling Google subscriptions (thanks to Scea for noticing)
* change Delete Completed on-hover message - fixes#8598
* correct the Orb of Rebirth's text about pets and mounts (they are not locked)
* Stable: basic layout (based on equipment)
* extract item popover-content as component
# Conflicts:
# website/client/components/inventory/item.vue
* extract item-content as slot - list standard pets with image
* dynamic list petGroups in sidebar / content - with selected / open filter
* itemContentClass for pets
* fix filter - extract filter labels
* Filter: Hide Missing
* fix position of pets
* sort by: A-Z, Color, Hatchable
* refactor animalList - created the list once per type and cache it - sort now works before viewing one or all pets
* custom petItem to show the progress
* list specialPets - rename petGroup to animalGroup (more generic)
* equip a pet
* filter animals by input
* count pets
* list mounts
* hatchable pet popover
* hatchable pet popover #2
* PixelPaw Opacity for not owned and not hatchable pets - change item background for unowned pets
* Hold to hatch the pet - cleanup
* add food drawer + countBadge - special mounts - hide un-owned special animals - fixes
* Sliding Drawer: Buttons to scroll left/right
* Drag&Drop: food on pets
* fix hold to hatch - use mouseleave event
* 'Show All' / 'Show Less' - Animals
* Matts Image + Popover + use image width as sidebar width (removed col-2 / col-10)
* fixes: colors, v-once, drawer-errorMessage, strings
* drawerSlider - split items to pages / add divider / add first item of the next page - ResizeDirective
* ResizeDirective - throttle emits by `v-resize="value"` - fix drawer left padding
* show animals by available content width
* change sortBy button / label
* fix pet colors / backgrounds
* DragDropDirective - grabbing cursor
* remove browser specific prefixes
* fix lint issues
* show welcome dialog
* change translationkey (noFood, already exists)
* test: test that admin users can update guilds
* test: test admin removeMember privileges
* fix: allow admins to edit guilds
* fix: add edit guild options for admins
* test: test that admin can't remove current leader
* Add error msg for removing current leader
* Taskwoods Quest Line (#8156)
* feat(content): Gold Quest 2016-10
* chore(news): Bailey
* chore(i18n): update locales
* chore(sprites): compile
* 3.49.0
* chore: update express
* Fix for the ReDOS vulnerability
habitica is currently affected by the high-severity [ReDOS vulnerability](https://snyk.io/vuln/npm:tough-cookie:20160722).
Vulnerable module: `tough-cookie`
Introduced through: ` request`
This PR fixes the ReDOS vulnerability by upgrading ` request` to version 2.74.0
Check out the [Snyk test report](https://snyk.io/test/github/HabitRPG/habitica) to review other vulnerabilities that affect this repo.
[Watch the repo](https://snyk.io/add) to
* get alerts if newly disclosed vulnerabilities affect this repo in the future.
* generate pull requests with the fixes you want, or let us do the work: when a newly disclosed vulnerability affects you, we'll submit a fix to you right away.
Stay secure,
The Snyk team
* Documentation - coupon
closes#8109
* fix(client): Allow member hp to be clickable
fixes#8016closes#8155
* chore(npm): shrinkwrap
* test: test isAbleToEditGroup
* Add isAbleToEditGroup to groupsCtrl
* Remove unnecessary ternary
* Fix linting
* Move edit permission logic out to groupsCtrl
* fix: change ternary to boolean
* Fix linting
* Fixed merge issues
* added condition to prevent readCard operations from sending a notification
* created constant array to contain opNames for notifications we want to suppress and adjusted condition to accordingly
* replaced const with var to past karma test
* Changed recurring logic to not use moment-recur plugin for performance reasons
* change only nextDue calculations
add tests to make sure proper nextDue values are calculated
revert schedule.matches logic to original
revert shouldDo.test.js to original
* fix monthly nextDue logic
move tests to shouldDo.test.js
* typos
* revert to original logic. change not needed
* add failure cases
* use new email template when subscription is cancelled from joining a group plan
* use new email template when subscription is cancelled from joining a group plan - needs more code, tests
* change from sending new email as a cancel-subscription option to sending as a group plan join email
Uses a new group-member-join email template instead of old group-member-joining because new template includes mandril conditional merge tags.
Also adds tests and comments. Edits some comments for accuracy and typo fixes.
* adapt group-member-join email template for manual cancel message for iOS and Android subscriptions
* save test user so its profile name can be read by calls to sendTxn
* add documentation for the user model cancelSubscription function
* add constants for strings passed to mandrill email templates
* Use “now” for calculation of the subscription end date instead of plan.dateUpdated
* add test to show previously incorrect logic does not affect sub end date.
* 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
* Updating User API Doc (part 3)
* Updating User API Doc (part 3)
Fixed trailing spaces
* Updating User API Doc (part 3)
Made changes to @apiParamExample to make multi-line (which may have been cause of apiDoc failing)
* Updated quests to add questKey
Semicolons in postinstall commands don't work in Windows.
'&&' works in *nix and in at least some versions of Windows.
This changes the meaning of the postinstall line slightly because
now the later commands won't run if the earlier ones failed but I
don't see that being a problem.
* Make flags.chatRevoked prevent sending private messages (issue #7971)
* Disallow sending gems when messages aren't allowed.
* Created function to check for objections to an interaction to user model and wired it into the API (issue #7971)
* Fixes for issues raised by reviewers.
* Added allowed values to apidoc for api.getObjectionsToInteraction.
* Refactoring of getObjectionsToInteraction and minor API changes.
* fix(objections): address PR comments
* fix(strings): use US English for base edits
* refactor(test): typos and phrasing
* Improved API documentation for hall
* Fixes typos, removes apiHeader definitions and curl example
* Fixes @apiParam and capitalization errors. Moves @apiDefines to website/server/api-doc.js
* add colors palette
* add secondary menu component and style it
* add box shadow to secondary menu
* misc css, fixes for secondary menu
* client: add equipment page with grouping, css: add some styles
* add typography
* more equipment
* stable: fix linting
* equipment: add styles (lots of general styles too)
* remove duplicate google fonts loading
* add dropdowns
* design: white search input background, remove gray from items
* start adding drawer and selected indicator
* wip equipment
* fix equipment
* equipment: correctly bind new properties on items.gear.equipped
* equipment: fix vue binding. version 2
* equipment: fix vue binding. version 3
* back to first fix for equip op, fix for sourcemaps, send http request when an item is equipped, load bootstrap-vue components where needed
* checkboxes and radio buttons
* correctly renders selected items in first postion during the first render
* add search
* general changes, constants part of app state, add popovers
* add toggle switch, rename css
* correct offset
* upgrade deps
* upgrade deps
* drawer and lot of other work
* update equipping mechanism
* finish equipment
* fix compilation and upgrade deps
* use v-show in place of v-if to fix ui issues
* v-show -> v-if
* Start of guild syyles
* fix linting in test/client
* fix es6 compilation in test/client
* fix babel compilation for tests
* fix groupsUtilities mixin tests
* More designs
* Added public guild state
* Added my guilds store
* client: buttons
* client: buttons: fix colors
* Added join and leave
* Began adding new guild form
* Create form updates
* Added search to local data
* Added filtering
* Added initial code for group create
* Added more create checks
* Added more guild routes
* Added styles to guild page
* Added more chat styles
* Began porting over angular functions
* Moved over group service functions
* Added paging
* Updated sidebar
* Updated join/leave and minor text
* Added new sidebar functions
* Updated paging
* Added some form updates
* Added more translations and styles
* Updated shrinkwrap
* Removed features config
* Lint cleanup
* Added member modal
* Added more member actions
* Updated nav
* Fixed filter toggling
* Updated create guild
* Added no guild page
* Added sort select
* Added more styles
* Added update guild form
* Removed extra css and other minor changes
* Many css and syntax fixes
* Fixed color and merge conflic
* Removed paging from my guilds
* Removed extra strings
* Many requests updates
* Small style fixes
* Fixed rebase.
* Removed commented out mail sending to pass linting. Styles from settings.styl still not propagating to app.css
* fix(feedback): address PR comments
* fix(style): linting errors
* Enabled repeatables
* Added every x to weekly
* Updated new recur logic to work with tests
* Added repeatable tests back
* Added custom day start support
* Moved back to zone function
* Added zone back
* Added nextDue field
* Abstracted set next due logic, set offset, and mapped to ISO
* Removed extra codes
* Removed clone deep
* Added summary local
* Fixed every x weekly
* Prevented edit of repeats on
* Added next due date
* Fixed display of next due dates
* Fixed broken tests
* added next due date as today for weekly
* Fixed integration tests
* Updated common test
* Use user's format
* Allow user to deselect all days during week
* Removed let from front end
* Close dropdowns when user clicks outside of them
Fixes#5490
* Remove expandMenu and closeMenu directives and tests
* Remove unnecessary HTML attributes
* Fixes apidoc error with Cast Skill
Changes Body to Query, changed example from POST body
* Updated to remove trailing space
* Wording fix per Lady Alys
* Update user.js
Kicking off another test.
* Update user.js
* client: start working on Inventory/Items
* i18n changes and fixes
* initial displaying of eggs, food and potions + sorting
* add missing files
* remove comment
* show food, eggs and potions
* add label to dropdowns acting as select menus
* popovers
* move badge to slot and component if necessary, general refactor
* fix quantity ordering
* some special items, reorganize
* 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
* add colors palette
* add secondary menu component and style it
* add box shadow to secondary menu
* misc css, fixes for secondary menu
* client: add equipment page with grouping, css: add some styles
* add typography
* more equipment
* stable: fix linting
* equipment: add styles (lots of general styles too)
* remove duplicate google fonts loading
* add dropdowns
* design: white search input background, remove gray from items
* start adding drawer and selected indicator
* wip equipment
* fix equipment
* equipment: correctly bind new properties on items.gear.equipped
* equipment: fix vue binding. version 2
* equipment: fix vue binding. version 3
* back to first fix for equip op, fix for sourcemaps, send http request when an item is equipped, load bootstrap-vue components where needed
* checkboxes and radio buttons
* correctly renders selected items in first postion during the first render
* add search
* general changes, constants part of app state, add popovers
* add toggle switch, rename css
* correct offset
* upgrade deps
* upgrade deps
* drawer and lot of other work
* update equipping mechanism
* finish equipment
* fix compilation and upgrade deps
* use v-show in place of v-if to fix ui issues
* v-show -> v-if
* fix linting in test/client
* fix es6 compilation in test/client
* fix babel compilation for tests
* fix groupsUtilities mixin tests
* client: buttons
* client: buttons: fix colors
* client: finish buttons and dropdowns
* upgrade bootstrap-vue, finish buttons and dropdowns
* fix tasks page layout
* misc fixes for buttons
* add textareas
* fix app menu
* add inputs
* fixes for toggleSwitch
* typography
* checkboxes and radio buttons
* add checkbox icon
* fix equip.js
* extract strings to newClient.json
* add Popover above 'Use Costume' / 'Auto Equip' slider - disable item select if costume-mode and 'useCostume' isn't active
* show "you have disabled your costume" error above the drawer items
* check errorMessage for null
* hide star if costume not enabled
* fix errorMessage (!errorMessage seems not to work for string)
* show minimize / expand icon - always centered by css
* drawer test
* drawer: fix centering on large screens
* fix show more button
* add margin when two dropdowns are next to each other
* adjust the page padding based on the drawer, misc fixes
* drawer fixes
* replace Shield with Shield-Hand Item where appropriate for consistency and clarity
* add space in quest completion modal heading between name of quest and "Completed!"
* clarify Rebirth text - restart your current character, not create a new one
* correct the instructions for editing a group (edit button not pencil icon)
* correct typo in questVice3Completion: breath > breathe
* fix type: Starststemic > Starsystemic
* Added isDue field and isDue set on create
* Added isDue update on update task
* Add isdue calc to score task
* Added isdue calc to cron
* Fixed lint issue
* Added isDue to no set and updated grammar
* Updating APIDOC for issue 8087
* Updating User API Doc (round 2)
cleaned up trailing sapces
* Updating User API Doc (round 2)
Changed mpHeal to mpheal
* Store all approved tasks in an array
* Created bulkScore using score callback
* Removed unnecessary code
* Added verification to run the code only for Approved Tasks
* Created scoreTasks on server and necessary code on client
* Revert "Created scoreTasks on server and necessary code on client"
This reverts commit b786c0e71a.
* Fixed gold/xp earn-lose-earnAgain problem
* Do not read already read notifications
* Removed unnecessary variable
* Display an error when invalid values are given
* Add character values tests for settingsCtrl
* Only check for invalid level values
* Remove unnecessary validation function
* Min level of 1 on user model
* (tests) Removed stubbing on restore
* Adding code to look over the most recent messages to look for spam from a user
* Adding in translatable error message
* Adding 2 tests for spam detection
* Fixing changes requested for pull request
* Adding unit tests for group and fixing requested changes
* Fixing message and tests
* Forgot to remove this import
* Fixing lint errors
* Cleaning up the code and tests to be more readable
* Fixing lint errors
* Fixed linting issues
* Syntax fixes
* Updated grammar
* Added abiltiy to add group managers
* Added ability to remove managers
* Added ability for managers to add group tasks
* Allower managers to assign tasks
* Allowed managers to unassign tasks
* Allow managers to delete group tasks
* Allowed managers to approve
* Added initial ui
* Added approval view for managers
* Allowed managers to edit
* Fixed lint issues
* Added spacing to buttons
* Removed leader from selection of group managers
* Code review updates
* Ensured approvals are only done once
* Added ability for parties to add managers
* Add notifications to all managers when approval is requests
* Removed tasks need approval notifications from all managers when task is approve
* Fixed linting issues
* Hid add managers UI from groups that are not subscribed
* Removed let from front end
* Fixed issues with post task url params
* Fixed string locales
* Removed extra limited strings
* Added cannotedit tasks function
* Added limit fields and notification check by taskId
* Localized string and other minor issues
* Added manager and leader indicator
* Added group notifications refresh on sync
* Added close button for group notifications
* Removed group approval notifications when manager is removed
* Moved leader/manager indicators to after hp
* Added manager fields to groups
* Spelling and syntax fixes
* Prevented ios and android subs from being upgrade to group plans
* Add admin email sender
* Updated admin email
* Updated get user email
* Fixed grammar issue
* Added block when user types a swear word listed in banned words
* Moved banned words check to server
* Removed unused code
* Moved banned words to separate file and fixed grammar.
* Updated chat test
* Changed error to BadRequest
* Fixed regex matching
* Updated test banned word
* Moved banned words and cached regex
* Updated banned word message
* Add ban filter only for tavern
* Added tavern id constant
* Added more tests for banned words
* Added warning to banned words
* Added alert
* Added new regex to capture markdown
* Fixed lint, spelling and importing
* Creating specific api to vend item reference for gifting items to a user through the hall of heroes. closes#8100
* removed 'When in doubt, ask Tyler' from the hall of heroes line
* Moving hall of heroes item path call from server side to client side
* updating let to var
* Addressing PR comments
* 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
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.
* 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.
* 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
Also changes the email addresses in config.json.example to the real addresses so that we can use local install screenshots to tell if the correct address variable has been used.
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)
* 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)
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.
* 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
* Merged in develop
* Show task notes modal on click
* Began adding tests
* Removed extra characters
* Fixed lingering popup
* Added markdown
* Fixed line endings
* Update API Doc #8087
Includes: GET /api/v3/user – POST /api/v3/user/buy/:key
* User API Doc update 1
Changed "GET user" description to a URL to the user model
* Update API DOC User 1
Cleaned up stray spaces
* Updated API Doc for User (part 1)
for GET user:
restored apiDescription from first PR
put link to model into "apiSuccessExample"
* Remove notifications from example responses
* Fixed trailing spaces
* Added a field in Party page with members count and maximum members in party
* Added information of invitations counter
* Limited party to 2 members on server (API)
* Fixed english text
* Consider current number of invitations in the party
* Moved PARTY_LIMIT_MEMBERS to common folder
* Access the PARTY_LIMIT_MEMBERS through groupsCtrl
* Some corrections
* Hide invite button when invite limit is reached
* Added missing trailing comma
* Do not test 'returns only first 30 invites' in a party anymore, but in a guild: party is limited to 30 members, so it would always fail
* Test: allow 30 members in a party
* Test: do not allow 30+ members in a party
* Improved 'allow 30 members in a party' test
* Test: 'allow 30+ members in a guild'
* Added missing trailing comma
* Code style corrections
* Fixed new line position
* Party limit check done inside Group.validateInvitations function
* Improved members count query
* Fixed tests
* Rewrite tests
* Removed import of BadRequest: value became unused
* Added 'await' to remaining 'Group.validateInvitations' functions
* Fixed tests that would always success
* Habits v2: adding counter to habits (cleaned up branch) - fixes#8113 (#8198)
* Clean version of PR 8175
The original PR for this was here:
https://github.com/HabitRPG/habitica/pull/8175
Unfortunately while fixing a conflict in tasks.json, I messed up the rebase and wound up pulling in too many commits and making a giant mess. Sorry. :P
* Fixing test failure
This test seems to occasionally start failing (another coder reported the same thing happening to them in the blacksmiths’ guild) because the order in which the tasks are created can sometimes not match the order in the array. So I have sorted the tasks array after creation by the task name to ensure a consistent ordering, and slightly reordered the expect statements to match.
* Debounce `$scope` updates when typing in chat. (#8485)
Fixes#6462, by saving a bunch of time per frame. See the issue for evidence of
the win.
* fix(nextRewardUnlocksIn): Check-in prize message was always plural --… (#8458)
* fix(nextRewardUnlocksIn): Check-in prize message was always plural -- moving to a non-sentence like structure to fix incorrect grammar.
* fix(countLeft): Check-in prize message was always plural -- moving to a non-sentence like structure to fix incorrect grammar.
* Added support for grouping tasks by challenge (#8469)
* Added support for grouping tasks by chllenge
* Fixed tests and updated default challenge model name
* Fixed broken member test
* Updated setting string
* Changed to shortName
* Began abstracting task grouping
* Added initial task directive code
* Added new directives to help with grouping of tasks
* Removed random console.log
* Leaving a group (#8517)
* Leaving a group or a guild no longer removes the user from the challenges of that group or guild.
* Updating api docs for leaving group to take into account the default path no longer leaving challenges when leaving a group.
* Updating api docs for leaving group to take into account the default path no longer leaving challenges when leaving a group.
* refactored according to blade's comments to not be a breaking change. The api now accepts a body parameter to specify wether the user
should remain in the groups challenges or leave them. The change also adds more tests around this behavior to confirm that it works
as expected.
* Tasks score notes (#8507)
* Added setting and modal for score notes
* Added persistent score notes
* Fixed linting issues and documented new field
* Added max length to task score notes
* Added check for score notes existence
* Combined tasks perferences
* Repeatables (#8444)
* Added initial should do weekly tests
* Added support back in for days of the week and every x day
* Added better week day mapper
* Added initial monthly
* Added every x months
* Added yearlies
* Fixed every nth weekdy of month
* Fixed tests to check every x week on weekday
* Began combining x month with nth weekday
* Added every x month combined with date and weekday
* Fixed lint issues
* Saved moment-recurr to package.json
* Added new repeat fields
* Added UI for repeatables
* Ensured only dalies are affected by summary
* Added local strings
* Updated npm shrinkwrap
* Shared day map constant
* Updated shrinkwrap
* Added ui back
* Updated copy of test cases
* Added new translation strings
* Updated shrinkwrap
* Fixed broken test
* Made should do tests static for better consitency
* Fixed issue with no repeat
* Fixed line endings
* Added frequency enum values
* Fixed spacing
* Upgrade lodash to v4 and lint more files (#8495)
* common: import lodash modules separately
* remove test/content from .eslintignore, fix with eslint --fix content/index
* lint test/content
* lint content/index except for lodash methods
* upgrade server/models
* upgrade server/middlewares and server/libs
* port server/controllers/top-level
* port server/controllers/api-v3
* port views and tests
* client old port lodash and _(, missing _.
* upgrade client-old
* port common/script (root level files only)
* port common/script/fns
* port common/libs
* port common/script/ops
* port common/script/content and common/script/libs/shops.js
* misc fixes
* misc fixes
* misc fixes
* more tests fixes
* fix payments test stubbing, down to 2 failing tests
* remove more instances of lodash wrapping
* fix bug where toObject does not clone object
* fix tests
* upgrade migration or add lodash 4 note
* update shrinkwrap
* fix linting
* upgrade eslint-config-habitrpg
* update shrinkwrap
* recompile shrinkwrap
* chore(i18n): update locales
* Fixed lint issues with model in task services (#8523)
* ApiDoc Group (#8522)
* ApiDoc Group
* Remove space
* Add tags to default tasks (#8419)
* Add ability to add tags to default tasks
* fix missing semicolon
* fix nesting callbacks error
* Add tags to default tasks
* fix default tags
* Start test
* Finish test
* Fix tests
* Move test
* Fix padded-bock
* Fix test
* Fix request
* fix requests
* fix test
* fix lint
* Refine test
* Fix test
* Fix Test
* Fix tests
* Please work :(
* Fix stupid mistake
* Fix lint
* Fixes
* fix function
* fix lint
* fix lint
* Client/inventory WIP (#8527)
* some stable work and faster less recompilation
* user with zero tasks can use the app
* wip work to show loading status of resources
* revert changes to sync
* Client: Guilds Discovery (#8529)
* wip: add guilds discovery page
* add public guilds page
* fix and add tests for the groups utilities mixin
* Properly format a subscription end date according to user preference (#8514)
* Client: Guild page and mix changes (#8533)
* update deps
* add guilds page
* improve karma conf, add tests for actions
* Client: semantic ui -> bootstrap 4 and less -> scss (#8535)
* client: semantic ui -> bootstrap 4 and less -> scss
* start porting components to boostrap
* port header, start porting menu
* port loading screen
* port most of the menu
* port secondary menus
* port guilds and stable
* disable tavern for now, port inbox
* typo
* put back old tavern code
* fix: remove semanticui from gulpfile
* client: add some margin to the avatar
* Group plans subs to all (#8394)
* 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
* mongoose: upgrade to 4.8.6 and remove un-necessary _.clone calls now that toObject clones correctly
* config.json: do not enable APN by default
* Moved show counters to directive (#8537)
* Moved show counters to directive
- hide counters on challenge page
- hide counters on group page
* Changed let to var
* Tasks sort delete fix (#8526)
* Fixed task sorting
* Add sync when group task is deleted
* Added sync when user tasks reorder
* Abstracted show logic and removed task grouping from group page
* Fixed scope typo
* Localized the default challenge short name
* Removed default shortName
* Fixed test for challenge shortName
* client: router: always scroll to the top
* fix(sprites): adjust eggs (#8543)
* adjust apidocs comment to remove unnecessary id parameter with incorrect syntax
* Repeatables fixes (#8538)
* Prevented watch functions from being called when task._edit is removed
* Added start date support on the UI task summary
* Fixed setting of monthly and calculations
* Fixed linting issues
* Added check for existence
* Added existence check
* Ensured correct start date is used on update
* Hid repeat options from anything not a daily
* Added missing locales
* Moved repeatables out of advance options
* Minification fix hide features (#8544)
* Added minification fix
* Hid settings for features we will not release yet
* Hid repeatables UI
* Removed extra file
* Removed repeats every from weekly
* Added start date back
* Hid counter reset when advance is collpased
* Group migrations (#8528)
* Added create group migration
* Add migration for unlimited group subscription
* Add migration to update group members with group plans
* Added error catch
* Added comments
* Group plans copy changes (#8546)
* Added new message for when user has group plan
* Changed subscription wording to group plan
* Updated copy
* Jackalopes (#8547)
* feat(content): add Jackalope rare mount
* chore(news): Bailey for Group Plans
* fix(sprites): correct inconsistent file perms
* Group plans add mount (#8548)
* Added jakcalop mount to group plan members
* Changed pet assignment to mount
* Updated migration to not update canceled group plans (#8550)
* Send group plans subscription message to Slack (#8549)
* feat(Slack): send group plans sub message
* fix(Slack): grab more relevant user data
* 3.79.0
* chore(i18n): update locales
* chore(sprites): compile
* Added create group migration
* Add migration for unlimited group subscription
* Add migration to update group members with group plans
* Added error catch
* Added comments
* Added minification fix
* Hid settings for features we will not release yet
* Hid repeatables UI
* Removed extra file
* Removed repeats every from weekly
* Added start date back
* Hid counter reset when advance is collpased
* Prevented watch functions from being called when task._edit is removed
* Added start date support on the UI task summary
* Fixed setting of monthly and calculations
* Fixed linting issues
* Added check for existence
* Added existence check
* Ensured correct start date is used on update
* Hid repeat options from anything not a daily
* Added missing locales
* Moved repeatables out of advance options
* Fixed task sorting
* Add sync when group task is deleted
* Added sync when user tasks reorder
* Abstracted show logic and removed task grouping from group page
* Fixed scope typo
* Localized the default challenge short name
* Removed default shortName
* Fixed test for challenge shortName
* 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
* client: semantic ui -> bootstrap 4 and less -> scss
* start porting components to boostrap
* port header, start porting menu
* port loading screen
* port most of the menu
* port secondary menus
* port guilds and stable
* disable tavern for now, port inbox
* typo
* put back old tavern code
* some stable work and faster less recompilation
* user with zero tasks can use the app
* wip work to show loading status of resources
* revert changes to sync
* Added initial should do weekly tests
* Added support back in for days of the week and every x day
* Added better week day mapper
* Added initial monthly
* Added every x months
* Added yearlies
* Fixed every nth weekdy of month
* Fixed tests to check every x week on weekday
* Began combining x month with nth weekday
* Added every x month combined with date and weekday
* Fixed lint issues
* Saved moment-recurr to package.json
* Added new repeat fields
* Added UI for repeatables
* Ensured only dalies are affected by summary
* Added local strings
* Updated npm shrinkwrap
* Shared day map constant
* Updated shrinkwrap
* Added ui back
* Updated copy of test cases
* Added new translation strings
* Updated shrinkwrap
* Fixed broken test
* Made should do tests static for better consitency
* Fixed issue with no repeat
* Fixed line endings
* Added frequency enum values
* Fixed spacing
* Added setting and modal for score notes
* Added persistent score notes
* Fixed linting issues and documented new field
* Added max length to task score notes
* Added check for score notes existence
* Combined tasks perferences
* Leaving a group or a guild no longer removes the user from the challenges of that group or guild.
* Updating api docs for leaving group to take into account the default path no longer leaving challenges when leaving a group.
* Updating api docs for leaving group to take into account the default path no longer leaving challenges when leaving a group.
* refactored according to blade's comments to not be a breaking change. The api now accepts a body parameter to specify wether the user
should remain in the groups challenges or leave them. The change also adds more tests around this behavior to confirm that it works
as expected.
* Added support for grouping tasks by chllenge
* Fixed tests and updated default challenge model name
* Fixed broken member test
* Updated setting string
* Changed to shortName
* Began abstracting task grouping
* Added initial task directive code
* Added new directives to help with grouping of tasks
* Removed random console.log
* fix(nextRewardUnlocksIn): Check-in prize message was always plural -- moving to a non-sentence like structure to fix incorrect grammar.
* fix(countLeft): Check-in prize message was always plural -- moving to a non-sentence like structure to fix incorrect grammar.
* Clean version of PR 8175
The original PR for this was here:
https://github.com/HabitRPG/habitica/pull/8175
Unfortunately while fixing a conflict in tasks.json, I messed up the rebase and wound up pulling in too many commits and making a giant mess. Sorry. :P
* Fixing test failure
This test seems to occasionally start failing (another coder reported the same thing happening to them in the blacksmiths’ guild) because the order in which the tasks are created can sometimes not match the order in the array. So I have sorted the tasks array after creation by the task name to ensure a consistent ordering, and slightly reordered the expect statements to match.
* 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
- remove redundant link from footer's Company column (still exists in Community)
- change link to point directly to wiki page instead of to a wiki redirect for:
- static/features page ("3rd Party Tools" section)
- static/extensions redirection
* 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
* Taking all equipped items into account when calculating attributes instead of just head, weapon, sheild, and armor. closes#8185
* Refactored the stat calculations a bit so that all stat calculations are handled in the same location in the same way to try and reduce duplicate logic.
This commit also adds a number of tests to test this new behavior.
* spelling fixes
* Support subscription payment through Google Play Store
* minor fixes to iap subscriptions
* Support subscription payment through Google Play Store
* minor fixes to iap subscriptions
* revert change to test
* add unit tests for google payments
* add integration tests for google payments
* change config formatting for play api
* fix typo in file name
* fix typo in example config
* Improve google payment tests
* fix linter errors
* Updating Tasks and Tags API Doc
* Update Tasks and Tag API Doc
added back * @apiUse ChallengeNotFound
* Update Tasks and Tag API Doc #8447
Corrected NotAuthorized errors to 401
* start migrating to bcrypt
* added method to convert the password to bcrypt when logging in, added method to compare password without knowing the hashing algorhytm, remove default
* travis: try to upgrade to container based infrastructure
* travis: add deps to build bcrypt.js
* travis: add deps to build bcrypt.js
* travis: add deps to build bcrypt.js
* travis: add deps to build bcrypt.js
* use bcryptjs until bcrypt can be installed on travis, see https://github.com/kelektiv/node.bcrypt.js/issues/476
* correct sha1 unit tests
* try different mongodb repo
* try without mognodb services
* try again with bcrypt
* disable request logging in travis
* migrate missing routes
* simplify code
* remove bcryptjs
* fix typo
* fix typo
* fix typo in comment
* add unit tests for new passwords utility emthods
* travis: back to old infrastructure, containers often have timeouts
* add integration test for passwordHashMethod
* update shrinkwrap
* clarify code and add comments
* add integration tests
* fix linting
* fix integration tests
* spells: searing brightness should not affect challenge tasks
* fixed other incorrect group vs challenge task exclusions
* fixed /tasks/clearCompletedTodos test
didn't account for the new group task
* fixed comment omission in tasks/clearCompletedTodos
* change name of Newbies Guild to Habitica Help: Ask a Question guild
* remove ": Ask a Question" from "Habitica Help: Ask a Question" in locations where we are linking to the guild or its wiki page
* Moved amazon tests to folder
* Abstracted amazon payment code and added initial test
* Abstracted cancel and subscribe logic to amazon payment lib
* Added arg checks to checkout
* Added constants. Added more subscription test
* Added with arg checks to cancel
* Fixed linting issues
* Added integration tests for amazon subscribe cancel
* Added integration test for amazon checkout
* Added integration test for amazon subscribe
* Added coupon unit test
* Fixed lint
* Fixed minor test issue and changed header expectations
* Fixed line endings
* Moved critical hit calculation from _addPoints() to _calculateDelta(). Added user as an input argument to _calculateDelta() so for critical hit calculation
* Changed test to expect task value of 1.5 after critical hit
* Revert "Moved critical hit calculation from _addPoints() to _calculateDelta(). Added user as an input argument to _calculateDelta() so for critical hit calculation"
This reverts commit 51b8ab6498.
* Moved critical hit calculation to _changeTaskValue(). Use value stored in user._tmp.crit in _addPoints()
* Test is no longer affected by critical hits
* Removed unneeded comment
* Added WIP test of critical hits
* Want the crit function to return 2 to test critical hits
* Changed crit function to export as a function within an object so that it can be stubbed for testing. References to the crit() function were updated to call crit.crit() instead
* Added test for increased experience on critical hits
* Added notification for approval request in the group leaders language
* Added test for group task meta actions. Added sync when user claims
* Added tests for group task actions. Ensured assigned members are synce when added or removed
* Fixed approval required toggle
* Added support for users with comma in their name
* Fixed sync issue when user is approved and reloads the website
* Added advance options for group rewards
* Added back ticks to group claim message
* Fixed disappearing tasks that need approval
* Up chat limit to 400 for subbed groups
* Fixed line endings
* Updated activie subscription check
* Added group isSubscribed function
* Changed to isAfter
* Issue 8341 updating subscriber json and subscription settings page with gifting a subscription directions
* Issue-8341 updating the layout of the settings - subscription page
* Issue-8341 removing extra comma from gift subscription copy
* Issue-8341 removing extra spans in subscription jade file
This is being done to remove a redundant string that
contains an email address, in preparation for actioning
https://github.com/HabitRPG/habitica/issues/8385 ("Email addresses
should not probably be translatable")
* Added move route for group tasks
* Added group task reorder to front end
* Added syncing with group task order
* Fixed linting issues
* Added missing exec and abstracted move code
* Added unit test for moveTask
* Remove backdrop property from open modal call to allow click-outside to close, call cancelTaskEdit function on dismissal of edit modal via ESC or click-outside
* Remove commented out code, change catch function to normal (non-arrow)
* Modify task services test mock openModal function, to handle new use of subsequent promise resolution functionality
* Tidy old edit controls away
* Adding new method to user schema that pushes a new notification to the database with an update operation instead of a save. fixes#8264
* fixing test text
* changing the addUserNotificationUpdate method to a static method as requested.
* Renaming to push notification
* fixing comment documentation based on pr comments.
* Changed the update statement to do a multi update and added a validation step. Added tests for both these cases.
* Updating pushNotification method to allow a query to be passed instead of an array of userIds to make it more flexible.
* Removing createdAt field from tests as it's no longer used.
* Removing only from test suite
* fix: throws an error when the server receives a post chat request with a message containing only whitespace.
* Adding a test confirming behavior around messages that only contain newlines.
* Removing accidental only that was left on a test
* avoid setting profile name to not found
* only set profile name when empty
* profile.name is required
* set profile name before validation
* fix and add tests
* Added read me and Inbox Page
* Fixed inbox linting
* Added converstaion route
* Added temp data and style
* Added social page and nav
* Fixed Inbox routes
* Added basic layout for Tavern Page
* Improved docker, bower
* npm install missing mocha
* Fix for 'npm install -g npm@4' not resulting in a functional npm
* Improve speed of 'docker start' by withholding directories not used by image environment
* Reverting changes to bower.json
* adding quest owner specific rewards. closes#2715
* Updating model to prevent this from being a breaking change.
* Removing duplicate translatable string and readding accidentally deleted portion
* capitalizing according to pr.
* fixing according to comments on pr
* removing final mistakes
* fixing whitespace
* re-adding the onlyOwner field that got deleted when the index.js file was moved and fixed console errors.
* moving cleaning of empty obejct for quest owner updates into quest owner updates method
* Fixing so tests pass by updating variable name and removing unnecessary parameter definition.
* adding a new test and refactoring client side code to use controller method.
- decapitaliseed "A" in "Create A Group"
- converted non-ascii apostrophes to single-quote for consistency with other strings
- removed a double space within a string
- removed Windows line endings on every line
- converted all leading four spaces to two spaces (normally wouldn't do that but since every line was already touched by the line ending change, why not)
* Added all ui components back
* Added group ui items back and initial group approval directive
* Added approval list view with approving functionality
* Added notification display for group approvals
* Fixed linting issues
* Removed expectation from beforeEach
* Moved string to locale
* Added per use group plan for stripe
* Added tests for stripe group plan upgrade
* Removed paypal option
* Abstract sub blocks. Hit group sub block from user settings page. Added group subscriptin beneifts display
* Fixed lint issue
* Added pricing and adjusted styles
* Moved text to translations
* Added group email types
* Fixed typo
* Fixed group plan abstraction and other style issues
* Fixed email unit test
* Added type to group plan to filter our group plans
* Removed dev protection from routes
* Removed hard coding and fixed upgrade plan
* Added error when group has subscription and tries to remove
* Fixed payment unit tests
* Added custom string and moved subscription check up in the logic
* Added ability for old leader to delete subscription the created
* Allowed old guild leader to edit their group subscription
* Fixed linting and tests
* Added group sub page to user sub settings
* Added approval and group tasks requests back. Hid user group sub on profile
* Added group tasks sync after adding to allow for editing
* Fixed promise chain when resolving group
* Added approvals to group promise chain
* Ensured compelted group todos are not delted at cron
* Updated copy and other minor styles
* Added group field to tags and recolored group tag.
* Added chat message when task is claimed
* Preventing task scoring when approval is needed
* Added approval requested indicator
* Updated column with for tasks on group page
* Added checklist sync on assign
* Added sync for checklist items
* Added checkilist sync when task is updated
* Added checklist sync remove
* Sanatized group tasks when updated
* Fixed lint issues
* Added instant scoring of approved task
* Added task modal
* Fixed editing of challenge and group tasks
* Added cancel button
* Added add new checklist option to update sync
* Added remove for checklist
* Added checklist update
* Added difference check and sync for checklist if there is a diff
* Fixed task syncing
* Fixed linting issues
* Fixed styles and karma tests
* Fixed minor style issues
* Fixed obj transfer on scope
* Fixed broken tests
* Added new benefits page
* Updated group page styles
* Updated benefits page style
* Added translations
* Prevented sync with empty trask list
* Added task title to edit modal
* Added new group plans page and upgrade redirect
* Added group plans redirect to upgrade
* Fixed party home page being hidden and home button click
* Fixed dynamic changing of task status and grey popup
* Fixed tag editing
* Hid benifites information if group has subscription
* Added quotes to task name
* Fixed issue with assigning multiple users
* Added new group plans ctrl
* Hid menu from public guilds
* Fixed task sync issue
* Updated placeholder for assign field
* Added correct cost to subscribe details
* Hid create, edit, delete task options from non group leaders
* Prevented some front end modifications to group tasks
* Hid tags option from group original task
* Added refresh for approvals and group tasks
* Prepend new group tasks
* Fix last checklist item sync
* Fixed casing issue with tags
* Added claimed by message on hover
* Prevent user from deleting assigned task
* Added single route for group plan sign up and payments
* Abstracted stripe payments and added initial tests
* Abstracted amazon and added initial tests
* Fixed create group message
* Update group id check and return group
* Updated to use the new returned group
* Fixed linting and promise issues
* Fixed broken leave test after merge issue
* Fixed undefined approval error and editing/deleting challenge tasks
* Add pricing to group plans, removed confirmation, and fixed redirect after payment
* Updated group plan cost text
* included privateMessageGiftIntro in privateMessageGiftGemsMessage to take care of spacing error and make it easier for translators
* fixed spacing error in gems gift message and adjusted relevant tests
* removed privateMessageGiftIntro and privateMessageGiftSubscriptionMessage since they are no longer in use
* transferGems: use receiver language translation for PM strings #7722
* chore(test): DRY up transfer gems test
* chore(test): Allow check for language in translation assertion
* chore(test): Add test that member locales are used in transfer gems msg
* sendMessage: optionally take also the message in sender's language
when present, it is stored in the sender's inbox instead of the version
in the target language.
* transferGems: prepare pm in both languages #7722
* sendMessage: take an object for the second parameter instead
* payments: made two more gift strings translatable
* buyGems: send both translations for gifted gems
* buyGems: send push notifications in target user's locale
* createSubscription: send both translations for gifted subs
* createSubscription: send push notifications in target user's locale
* transferGems: send push notifications in target user's locale
* tests: adjust payment tests for translation changes
* added function doc for sendMessage
* tests: added bilingual test for buyGems
* feature: updating group.removeMember api to send an email to a user when an invite was rescinded or when no message was provided by the performing user.
* Adding validation that the email is being sent to the right user.
* fixing linting error
* Adding the unopened mystery items to the call to get not obtained subscriber items. closes#7712
* refactoring according to pr
* Refactoring according to pr. moved time-travelers to it's own file and added new tests.
* pull apart achievements into different subcategories
* achievs previously hidden to others if unachieved are now always shown
* achievs previously always hidden if unachieved are now always shown
* pull apart ultimate gear achievs
* add achiev wrapper mixin
* add achiev mixin for simple counts
* add achiev mixin for singular/plural achievs
* add simpleAchiev mixin and support attributes
* always hide potentially unearnable achievs if unearned
* contributor achiev now uses string interpolation for readMore link
* transition to basic achiev grid layout
* fix npc achievement img bug introduced in c90f7e2
* move surveys and contributor achievs into special section so it is never empty
* double size of achievs in achievs grid
* achievs in grid are muted if unachieved (includes recompiled sprites)
* fix streak notification strings
* add counts to achievement badges for applicable achieved achievs
* list achievements by api
* fix achievement strings in new api
* unearned achievs now use dedicated (WIP) 'unearned' badge instead of muted versions of the normal badges
* fix & cleanup achievements api
* extract generation of the achievements result to a class
* clean up achievement counter css using existing classes
* simplify exports of new achievementBuilder lib
* remove class logic from achievementBuilder lib
* move achievs to common, add rebirth achiev logic, misc fixes
* replace achievs jade logic with results of api call
* fix linting errors
* achievs lib now returns achievs object subdivided by type (basic/seasonal/special
* add tests for new achievs lib
* fix linting errors
* update controllers and views for updated achievs lib
* add indices to achievements to preserve intended order
* move achiev popovers to left
* rename achievs lib to achievements
* adjust positioning of achieve popovers now that stats and achievs pages
are separate
* fix: achievements api correctly decides whether to append extra string for master and triadBingo achievs
* revert compiled sprites so they don't bog down the PR
* pull out achievs api integration tests
* parameterize ultimate gear achievements' text string
* break out static achievement data from user-specific data
* reorg content.achievements to add achiev data in related chunks
* cleanup, respond to feedback
* improve api documentation
* fix merge issues
* Helped Habit Grow --> Helped Habitica Grow
* achievement popovers are muted if the achiev is unearned
* fix singular achievement labels / achievement popover on click
* update apidoc for achievements (description, param-type, successExample, error-types)
* fix whitespace issues in members.js
* move html to a variable
* updated json example
* fix syntax after merge
* upgrade node to version 6
* upgrade npm to v4
* update shrinkwrap
* use npm 4 in travis
* use mongoose 4.6.4
* update shrinkwrap
* fix async test and upgrade mongoose
* fix amazon test
* remove debugging code
* working tests with separate server
* update coupon code
* mupdate mongoose
* nvm: relax node version in .nvmrc
* fix: confirm no user objects reference a group before deleting it when the member count reaches 0
* Updating mongo queries to return promises and use the select statement.
* Implementing retries on failed user updates when finishing a quest. fixes#8035
* Refactoring mongo db retries to use the same as code path as original call and moving retries to count based over time based.
* Adding tests for retry logic and updating retries to happen recursively
* Moving callbacks to promises and other tweaks according to pr.
* Chaging mongoose promise to use .catch() functionality
* If all retries fail, the system will now throw an error instead of returning an error message.
* New notification feature that notifies a user when their group invite is accepted. fixes#7788
* Updating to a modal instead of a popup notification
* Making a generic modal template and using it for notifications of group invitation acceptance.
* Working with paglias's comments for doing translation server side.
* Final changes based on pr comments.
* Send a message to the party chat when a quest is aborted
* Added test cases for sending a message to party when quest is aborted
* Restore Group.prototype.sendChat after aborted quest test
* Add localization strings
* Change name of Equipment section
* Add costume section to member modal
* Add costume section to member modal
* Add current pet and current mount info
* Reorder Sections and Separate Active Mounts/Pets
* switch ng-show with ng-if
* Add `noActiveMount` to pets.json
* Breaking Stuff
* Add petservices.js to the manifest
* Remove Extra Parenthesis
* Progress towards backgrounds
* Add semicolons
* Add background information
* Add all methods in petServices to userCtrl and memberModalCtrl
* Add avatar settings
* Add semicolons
* Revert "Add avatar settings"
This reverts commit 6e8cca9736.
* Remove active-pet-and-mount
* Remove Content from memberModalCtrl
* Update costumeServices.js
* Make costumeservices.js more readable
* Update costumeServices.js
* Update costumeService logic
* Remove unused strings
* Fix include statements
* move service
* Update pet/mount logic
* fixes
* Fix background logic
* initial work
* new client: working navigation and tasks showing up
* finish header menu and add avatar component
* fix sprites in new client
* initial header version
* initial styling for top menu
* more progress on the header menu
* almost complete menu and avatar
* correctly apply active class for /social and /help
* fix header colors and simplify css
* switch from Roboto to native fonts
* remove small avatar and add viewport
* fixes
* fix user menu with and progress bars
* fix avatar rendeting
* move bars colors to theme
* add site overrides
* fix tests
* shrinkwrap
* fix sprites path
* another try at fixing the sprites path
* another try at fixing the sprites path
* Added party sync and request sync events
* Changed party member sync to be handled locally
* Optimized assignment to only use member variables
* Removed party sync event
This test seems to occasionally start failing (another coder reported the same thing happening to them in the blacksmiths’ guild) because the order in which the tasks are created can sometimes not match the order in the array. So I have sorted the tasks array after creation by the task name to ensure a consistent ordering, and slightly reordered the expect statements to match.
I haven't pluralised this by using "month(s)", because the phrase "a 3 month subscription" is acceptable in English. Translators may use pluralisation as desired, although note that the same wording will be used for 1 month subscriptions.
* Added all ui components back
* Added group ui items back and initial group approval directive
* Added ability to mark tasks as requires approval. Added approvals ctrl. Added get approvals method to tasks service
* Added approval list view with approving functionality
* Added error to produce message when task requests approval
* Added notification display for group approvals
* Fixed notification read and adding task
* Fixed syncing with group approval required
* Added group id to notifications for redirect on client side
* Fixed approval request tests
* Fixed linting issues
* Removed expectation from beforeEach
* Moved string to locale
* Added eslint ignore
* Updated notification for group approved, added new icons, and updated styles
* Hid group plan ui
* change food to normal; add variables to choose type of food; add canBuy, canDrop to cake
* reinstate ability to control canBuy and canDrop separately
* Added payment to groups and pay with group plan with Stripe
* Added edit card for Stripe
* Added stripe cancel
* Added subscribe with Amazon payments
* Added Amazon cancel for group subscription
* Added group subscription with paypal
* Added paypal cancel
* Added ipn cancel for Group plan
* Added a subscription tab and hid only the task tab when group is not subscribed
* Fixed linting issues
* Fixed tests
* Added payment unit tests
* Added back refresh after stripe payment
* Fixed style issues
* Limited grouop query fields and checked access
* Abstracted subscription schema
* Added year group plan and more access checks
* Maded purchase fields private
* Removed id and timestampes
* Added else checks to ensure user subscription is not altered. Removed active field from group model
* Added toJSONTransform function
* Moved plan active check to other toJson function
* Added check to see if purchaed has been populated
* Added purchase details to private
* Added correct data usage when paying for group sub
* Only unequip Gen 1 pets/mounts when releasing pets/mounts
* Changed mount declaration to match releasePets
* Check if a pet/mount is a drop type instead of checking for its name in the list of pets
* Changed references to pet and mount to petInfo and mountInfo for consistency with releasePets and releaseMounts
* Test that releasePets, releaseMounts, and releaseBoth do not unequip quest pets
* Fixed test names, and tests verify that a pet/mount is/is not a drop pet/mount on release
* Removed unneeded comments
habitica is currently affected by the high-severity [ReDOS vulnerability](https://snyk.io/vuln/npm:tough-cookie:20160722).
Vulnerable module: `tough-cookie`
Introduced through: ` request`
This PR fixes the ReDOS vulnerability by upgrading ` request` to version 2.74.0
Check out the [Snyk test report](https://snyk.io/test/github/HabitRPG/habitica) to review other vulnerabilities that affect this repo.
[Watch the repo](https://snyk.io/add) to
* get alerts if newly disclosed vulnerabilities affect this repo in the future.
* generate pull requests with the fixes you want, or let us do the work: when a newly disclosed vulnerability affects you, we'll submit a fix to you right away.
Stay secure,
The Snyk team
Notifications of other things (HP, GP, etc) have a regular format of
"+/- NUM THING". For example:
function gp(val, bonus) {
_notify(_sign(val) + " " + coins(val - bonus), 'gp');
}
However, the recent quest collection/damage notifications do not. This
attempts to regularize the reporting by adding in the "missing" space.
Signed-off-by: Kees Cook <kees@outflux.net>
* Added initial group tasks ui
* Changed group compnent directory
* Added group task checklist support
* Added checklist support to ui
* Fixed delete tags route
* Added checklist routes to support new group tasks
* Added assign user tag input
* Added new group members autocomplete directive
* Linked assign ui to api
* Added styles
* Limited tag use
* Fixed line endings
* Updated to new file structure
* Fixed failing task tests
* Updatd with new checklist logic and fixed columns
* Updated add task function
* Added userid check back to tag routes
* Added back routes accidently deleted
* Added locale strings
* Moved common task function to task service
* Removed files from manifest
* Added initial group tasks ui
* Changed group compnent directory
* Added checklist support to ui
* Added assign user tag input
* Added assign user tag input
* Added new group members autocomplete directive
* Added new group members autocomplete directive
* Removed group get tasks until live
* Linked assign ui to api
* Added styles
* Added server code for claiming a task
* ADded group task meta and claim button
* Adjusted styles, added local, and added confirm
* Updated claim with new file structures
* Fixed merge issue
* Removed extra file
* Removed duplicate functions
* Removed extra directive
* Removed dev items
* fix(subscriptions): round up months
* fix(subscriptions): resub improvements
Don't allow negative extraMonths; flatten new Dates to YYYYMMDD
* fix(subscriptions): remove resub Gems exploit
Also standardizes some uses of new Date() to remove potential race condition oddities.
* fix(subscriptions): bump consecutive months...
...even if the user didn't log in then, if subscription has been continuous through that period
* test(subscriptions): cover fix cases
Also refactor: use constant for YYYY-MM format
* refactor(subscriptions): don't stringify moments
* Added initial group tasks ui
* Changed group compnent directory
* Added group task checklist support
* Added checklist support to ui
* Fixed delete tags route
* Added checklist routes to support new group tasks
* Added assign user tag input
* Added new group members autocomplete directive
* Linked assign ui to api
* Added styles
* Limited tag use
* Fixed line endings
* Updated to new file structure
* Fixed failing task tests
* Updatd with new checklist logic and fixed columns
* Added purchased info to group and prevented non purchased group from seeing new group tasks
* Updated add task function
* Added userid check back to tag routes
* Marked tag tests as pending
* Added comments to pending tests
* Added back routes accidently deleted
* Added locale strings
* Other clarity fixes
* Moved common task function to task service
* Removed files from manifest
* Fixed naming collision and remove logic
* Removed group get tasks until live
* Fixed test to check update task. Removed extra removeTask call. Synced updated checklists. Added purchased to noset
* Fixed delete group task
The mis-formatting of the variable was causing an error when when a user tried to use the "forgot password" feature.
The Linguists have been informed of the need to fix the string in Transifex.
* refactor: Move translate test utility to helpers directory
* Add kind property to webhooks
* feat: Add options to create webhook route
* refactor: Move webhook ops into single file
* refactor: Create webhook objects for specific webhook behavior
* chore(tests): Add default sleep helper value of 1 second
* feat(api): Add method for groups to send out webhook
* feat(api): Add taskCreated webhook task creation
* feat(api): Send chat webhooks after a chat is sent
* refactor: Move webhook routes to own controller
* lint: Correct linting errors
* fix(api): Correct taskCreated webhook method
* fix(api): Fix webhook logging to only log when there is an error
* fix: Update groupChatRecieved webhook creation
* chore: Add integration tests for webhooks
* fix: Set webhook creation response to 201
* fix: Correct how task scored webhook data is sent
* Revert group chat recieved webhook to only support one group
* Remove quest activity option for webhooks
* feat: Send webhook for each task created
* feat: Allow webhooks without a type to default to taskScored
* feat: Add logic for adding ids to webhook
* feat: optimize webhook url check by shortcircuiting if no url is passed
* refactor: Use full name for webhook variable
* feat: Add missing params to client webhook
* lint: Add missing semicolon
* chore(tests): Fix inccorect webhook tests
* chore: Add migration to update task scored webhooks
* feat: Allow default value of webhook add route to be enabled
* chore: Update webhook documentation
* chore: Remove special handling for v2
* refactor: adjust addComputedStatsToJSONObject to work for webhooks
* refactor: combine taskScored and taskActivity webhooks
* feat(api): Add task activity to task update and delete routes
* chore: Change references to taskScored to taskActivity
* fix: Correct stats object being passed in for transform
* chore: Remove extra line break
* fix: Pass in the language to use for the translations
* refactor(api): Move webhooks from user.preferences.webhooks to user.webhooks
* chore: Update migration to set webhook array
* lint: Correct brace spacing
* chore: convert webhook lib to use user.webhooks
* refactor(api): Consolidate filters
* chore: clarify migration instructions
* fix(test): Correct user creation in user anonymized tests
* chore: add test that webhooks cannot be updated via PUT /user
* refactor: Simplify default webhook id value
* refactor(client): Push newly created webhook instead of doing a sync
* chore(test): Add test file for webhook model
* refactor: Remove webhook validation
* refactor: Remove need for watch on webhooks
* refactor(client): Update webhooks object without syncing
* chore: update webhook documentation
* Fix migrations issues
* chore: remove v2 test helper
* fix(api): Provide webhook type in task scored webhook
* fix(client): Fix webhook deletion appearing to delete all webhooks
* feat(api): add optional label field for webhooks
* feat: provide empty string as default for webhook label
* chore: Update webhook migration
* chore: update webhook migration name
* vue: use our own store in place of vuex
* vue store: add getters, watcher and use internal vue instance
* vue store: better state getter and credits to Vuex
* vue store: $watch -> watch
* vuex store: pass store to getters and fix typos
* add comments to store, start writing tests
* fix unit tests and add missing ones
* cleanup components, add less folder, fetch tassks
* use Vuex helpers
* pin vuex version
* move semantic-ui theme to assets/less, keep website/build empty but in git
* import helpers from vuex
* Start adding google login
* fix local js issue
* implement syntax suggestions
* fix delete social tests
* Add service for authentication alerts
* fix social login tests
* make suggested google sign in changes
* fix accidentally deleted code
* refactor social network sign in
* fix incorrect find
* implement suggested google sign in changes
* fix(tests): Inject fake Auth module for auth controller
* fix(test): prevent social service from causing page reload
* fix loading user info
* Use lodash's implimentation of find for IE compatibility
* chore: increase test coverage around deletion route
* chore: clean up social auth test
* chore: Fix social login tests
* remove profile from login scope
* fix(api): Allow social accounts to deregister as user has auth backup
* temporarily disable google login button
* wip: vuex structure
* add missing files
* client: do not fail dev build on eslint error
* eslint does not block compilation, mount app when data is ready
* eslintrc.js -> eslintrc
* feat(event): begin Fall Festival 2016
* feat(event): Seasonal Shop Fall 2016
* fix(test): season specific food
* chore(news): add Bailey
* fix(season): correct Sorceress & timetrav
* add vuex, cleanup client directory and create example components
* disale sample unit test
* disable import for non existing file
* correct regexp for unit tests, add simple test to avoid error, add babel-polyfill for Vuex
* add line wrongly removed, update regexp
* Updating a task now sends only data that's actually needed (Fixes#7846)
Updating a task with a huge history lead to 'request entity too large' errors since the client attempted to send all data associated with a task, regardless of whether that data could be changed or not. With this change, the post request is now omitting the following fields:
challenge
completed
createdAt
group
history
id
reminders
tags
type
updatedAt
userId
* Changes according to review (use _.omit)
* add files for new client side and reorg gulp tasks
* add deps and script for new client
* fix webpack paths so that building works
* fix static assets not copied into prod build
* fix linting
* add eslint deps and re-enable it in webpack
* add most missing deps for client side and split .babelrc for client
* reorganize .eslintignore
* update client tests paths and .gitignore
* uncomment code
* client: move App component
* client: update oaths in App component
* fix client tests and add more deps
* add client side tests to npm test
* fix typo in depencency name
* update more deps
* fix karma.conf.js and upgrade phantomjs
* fix dep and move karma.conf to subdirectory
* update karma.conf.js position in Gruntfile
* try downgrading phantomjs
* Fixup client tests (#8032)
* Use phantom 2
* fix(tests): Fix refresher test
* gitignore translation mock
* Update karma version
* disable e2e tests for new client from build
* write vue templates with pug
* add basic routing
* remove unnecessary Function.bind shim
* remove unused dependency
* making an api chnage so the seasonal shop will only return items that the user has never owned instead of all items the user doesn't currently own
* fixing commit so shop doesn't show already owned items
* recommenting out seasonal shop message as it's currently closed
* separate stats and achievs tabs, move 'enable class system' button to stats
* move stats layout stuff from profile.jade to stats.jade
* shuffle stats page into more columns
* separate stats and achievs in expandable navbar submenus
* add multiple options for stats.jade: col1, col2, all; fixes weirdly crowded members modal
* make stats and achievs strings consistent
* remove mobile checks in profile.jade
* fix merge issue
* fixes the commit that shows actual task values when task edit is canceled.
This reverts commit 3d64f2b849.
* removing _edit references from fields of a task that can't change and are always set
* removing _edit from task.type as type cannot change while editing.
* Addressing comments by blade
* starting
* adding tests to prove the expected behavior occurs around force starting a quest. part of #7653
* fixing up tests and adding functionality to remove user from quest if they are not in the questing party
* adding code to handle when the user is deleted and added a test around that situation
* fixing up comments
* Updated collection quest tests for no found items.
Single-item quests state [user] found no [items]. instead of [user] found nothing. If a
quest has two items, the chat message is [user] found no [item1] and no [item2].
* Collection quest messages changed from [user] found nothing to [user] found no [item]
* Tests for no collection quest items found changed to [user] found 0 [item1], 0 [item2]
* Changed chat messages for no found collection quest items to [user] found 0 [item1], 0 [item2]
* Sort items alphabetically in multi-item quests so that it always returns the same string
* Formatting updates to conform to test specifications (for collection quest progress reports with no items found
* Simplified handling of items not found: any items not found are added to the list of found items with quantity 0 for reporting in the group chat. This also causes all items to appear, in the list, even if only one type is found in a multi-item quest.
* Test the group chat message when no items are found in multi-item quests. Test succes no longer depends on the order items are listed.
* Avatar model can be set to have eyes open, eyes shut, or left to default by specifying the sleep parameter in generatedAvatar to be false, true, or null (respectively).
* Explicitly check true and false and switched to using triple equals for equality comparisons for avatar sleep setting.
* fix: correct translation strings for pet/mount names
* chore: expose potion and egg key, not object in pet content api
* fix: Update feed route to use potion and egg objects
* refactor: Update feed route to use petInfo
* Use pet/mount text method for name
* correct feed route
* Pull out animal content into separate files
* Correct variable names
* Add tests for stable, eggs, and hatching potions content
* Add content test back into npm test
* add tests for beastMaster, mountMaster, and triadBingo achievements
* add tests for challengeWon, streak, ultimateGear, rebirth, and contributor achievements
* add achievement service that has openModal function
* achievement test pass again
* fix indentation, rename openModal to more descriptive displayAchievement
* add unit tests for achievements service
* initialize user.preferences.suppressModals in specHelper.newUser
* update achievement tests to account for new notification service
* add new achievementServices file to manifest.json
* fix tests
* award wonChallenge achiev like other achievs
* differentiate between small and normal achiev modals
* refactor achievementService.displayAchievement() to take options param
* Fixes#7933
Changes
Default tags changed to
- "Work"
- "Exercise"
- "Health + Wellness"
- "School"
- "Teams"
- "Chores"
- "Creativity"
Changes made only to the en and en_GB locales
UUID: 30983c37-52c3-415d-977c-38af6c7db91c
* Reverting changes to en_GB locale
* Reverting format change
* Added initial code for creating and reading group tasks
* Separated group task routes. Separated shared task functions
* Added taskOrder to group
* Minor style fixes
* Fixed lint issues
* Added unit tests for task manager
* Updated task helper functions
* Fixed history test
* Fixed group task query
* Removed extra var
* Updated with new file structure
* Updated noset values
* Removed unecessary undefineds, fixed comments, Added apiignore
* Separated group task routes. Separated shared task functions
* Added unit tests for task manager
* Added initial groups assign route and tests
* Added sync assigned task to user
* Added unassign route and unlink method
* Added remove and unlink group task
* Updated linking and unlinking. Add test for updating task info
* Added delete group task and tests
* Added sync on task update and tests
* Added multiple users assignment
* Updated unassign for multiple users
* Added test for delete task with multiple assigend users
* Added update task for multiple assigned users
* Fixed issue with get tasks
* Abstracted syncable attributes and add tests
* Fixed merge conflicts
* Fixed style issues, limited group query fields, and added await
* Fixed group fields needed. Removed api v2 code
* Fixed style issues
* Moved group field under group sub document. Updated tests. Fixed other broken tests
* Renamed linkedTaskId and fixed broken alias tests
* Added debug middleware to new routes
* Fixed debug middleware import
* Added additional user id check for original group tasks
* Updated challenge task check to look for challenge id
* Added checklist sync fix
* Update faq.json line - description of mechanic outdated
Changed
<---Tap on a Pet, and then select \"Feed Pet\"!
--->Click on a type of food, and then select the pet you want to feed!
because clicking on the pet first does not work anymore, clicking on the pet first selects it for use.
As described by MeikeMertsch here: https://www.transifex.com/habitrpg/habitrpg/translate/#de/faqjson/60117132
* Update faq.json
* Allowing the flagging of messages that were written by user accounts that have since been deleted
* replacing ternary operator with else if, else paradigm
* formatting fixes
* fixing message in tests
* throw a 401 error if user tries to update his/her email to an email that exists already
* Make error message generic so we don't violate users' privacy. Added test case.
* Syntax fixes
* select only the _id field when searching for users with the same email. Return found document as javascript object.
* add basic party loading message code; doesn't work yet
* fixup party loading messages, remove rpg-style messages
* move party-loading messages back into groups.json
* party-loading message logic returns a string instead of a number
* Align guild gems box with other page elements
Fixes#7796.
* Fix issues caused by aligning guild gems box
* Remove unnecessary comment
* Connect gem total box and plus/add gems button
When the add gems button is displayed, set border-radius on touching
corners between the two buttons to 0, so that they are displayed as a
unit rather than two separate buttons.
* making requests to accept or reject a request fail because the invite is invalid clear the invite from the user so it doesn't require admin intervention. part of #7653
* Adding await
* api: return computed stats for members responses
* add integration tests for computed stats
* add unit tests for computed stats
* clarify test name
* add missing query parameter to test case
* reset test database before running API tests for the Hall
* feat(migrations): Naming Day and Take This
* fix(migration): more goodies, better query
* fix(migration): query in wrong migration
* fix(migration): don't award goodies repeatedly
* fix(migrations): move logic to query
* fix(migrations): better field lookup
* fix(migrations): use timeouts
* voluntarily leaving a party removes the user from the quest the party is involved in. part of #7653
* addressing pr comments, removing lodash dependency and unecessary comment
* using the existing update object instead of group.save to avoid duplicate behavior
* finalizing tests
* Add API call for market inventory
* changes to shop api calls
* optimize shop categories
* add API call for quests
* add api call for time travelers shop
* fic buying items in shops
* fix linting errors
* shop adjustments for iOS app
* add tests to shops
* fix syntax issues
* Code formatting
* correct indentation
* add tests for api routes
* fix time travelers and seasonal
* Increase test coverage for shop routes
* refactor: Pull out trinket count in time traveler route
* refactor: Clarify instructions for seasonal shop script
* lint: Remove extra new line
* Adjust shops common test
* add new "allCompletedTodos" option to API for returning all completed To-Dos at once - fixes#7301
* make minor fixes to allCompletedTodos option
* change allCompletedTodos option to _allCompletedTodos and add a BETA comment
* feat(content): Armoire and BGs 2016-07
* fix(backgrounds): resize Dilatory Castle
Also fixes a long-overlooked issue where the Egg Hunt quest remained available long after its event ended.
* feat(realtime-chat): add Pusher library to the server
* feat(realtime-chat): only for private groups
* feat(realtime-chat): add authentication endpoint for Pusher
* feat(realtime-chat): client proof of concept
* fix typo in apidoc
* feat(realtime-chat): redo authentication and write integration tests
* remove firebase code
* fix client side tests
* fix line ending in bower.json
* feat(realtime chat): use presence channels for parties, send events & disconnect clients if user leaves or is removed from party, automatically update UI
* pusher: enable all events in the background
* fix pusher integration tests
Documentation included the chatId in the url, but the api does not use it. Adding the chatId will cause a 404 error. The api marks all chats in the guild as read; not individual chats.
closes#7742
* Accounting for class bonus when sorting equipment by stats. closes#7701
* Fixing unintended impact on last page and including special classes
* Addressing comments
* Fix Social Push notifications
* Fix code formatting issues
* Fix commented issues
* Fix Syntax errors
* update push notify dependency
* specify push-notify version
* change how apn key is loaded
* feat(push-notifications): improve logging
* feat(push-notifications): disable v2 push notifications
* test(push-notifications): add unit tests and improve integration ones
* fix(push-notifications): throw when required params are missing
* fix(tests): correct descriptions and remove wrong comment
* fix(push-notifications): trim APN key
* fix(apn): log feedback only if it has data
* fix(apn): load cert and key differently
* fix(tests): correctly load apn during tests
* download creds from S3 and create AWS lib
* convert s3 buffer to a string
* fix(apn): remove console.log and do not use cert twice
* invert key and cert, disable failing test
* invert key and cert
* fix(auth): correctly redirect to logout page if localstorage is corrupted
* fix(auth): do not break site if localStorage has invalid JSON
* fix(karma): use $window instead of windo
* disable failing karma tests
* fix(tests): Provide mockwindow for tests
* fix(tests): Call habitrpgShared without $window
Replaces the Pirate Cove with the Guild Leaders & Challenge Creators Guild.
Describes backgrounds as connecting instead of tiling.
Makes capitalisation of various words consistent.
Closes#7636Closes#7651
This commit creates a new button on the equipment page that allows the user to group their equipment type (body location) instead of simply by class.
* send email when admin unflags post
* Improved email acquisition code, minor changes to sent email
* Refactor getGoupUrl into its own method
* added unit test for getGroupUrl
* improved test and getGroupUrl
* move remaining files frm /common/script/public to website/public
* remove localstorage
* add back noscript template and put all javascript in the footer
* fixes client side tests
* remove double quotes where possible
* simplify jade code and add tests for buildManifest
* loading page with logo and spinner
* better loading screen in landscape mode
* icon on top of text logo
* wip: user.notifications
* notifications: simpler and working code
* finish implementing notifications
* correct loading screen css and re-inline images
* add tests for user notifications
* split User model in multiple files
* remove old comment about missing .catch()
* correctly setup hooks and methods for User model. Cleanup localstorage
* include UserNotificationsService in static page js and split loading-screen css in its own file
* add cron notification and misc fixes
* remove console.log
* fix tests
* fix multiple notifications
* WIP(drops): get drops out of _tmp
* fix(notifications): no watch for drops/mystery
* fix(ops): only two response values
* fix(test): update op expectation
Also update API docs for modified route.
* fix(lint): remove trailing space
* fix(test): update integration check
Tag removal functionality was broken. Turns out the issue was simply
that we weren't removing the tag from the local `task` object, so the
tag was removed, but readded upon sync/pressing save.
Closes#7412
* Updated logic to not assign armoire incorrectly
* Updated test and added new test to ensure armorie is not enabled prematurely.
* Fixed linting issue
* Removed toObject from being called when called on the server
Updates the style of the herobox to use the default cursor on this page instead of the pointer cursor that is defaulted by the hero-box class.
This is in relation to: https://github.com/HabitRPG/habitrpg/issues/7066
2016-04-12 16:41:00 -07:00
13071 changed files with 394760 additions and 200627 deletions
[Please see these instructions for reporting bugs](https://github.com/HabitRPG/habitrpg/issues/2760)
[Please see these instructions for reporting bugs](https://github.com/HabitRPG/habitica/issues/2760)
# Pull Request
[Please see these instructions for adding a pull request](http://habitica.wikia.com/wiki/Using_Habitica_Git#Pull_Request)
[Please see these instructions for adding a pull request](http://habitica.wikia.com/wiki/Using_Your_Local_Install_to_Modify_Habitica%27s_Website_and_API)
[//]: # (Before logging this issue, look through common problems at https://github.com/HabitRPG/habitrpg/issue If you find your issue there, read at least the first post to see if there is a workaround for you)
[//]: # (Before logging this issue, please post to the Report a Bug guild from the Habitica website's Help menu. Most bugs can be handled quickly there. If a GitHub issue is needed, you will be advised of that by a moderator or staff member -- a player with a dark blue or purple name. It is recommended that you don't create a new issue unless advised to.)
[//]: # (Github is primarily used for reporting bugs. If you have a feature request, use "Help > Request a Feature" so that the feature request can be vetted by the larger Habitica community)
[//]: # (Bugs in the mobile apps can also be reported there.)
[//]: # (To report a bug in one of the mobile apps, please report it in the correct repository. Android: https://github.com/HabitRPG/habitrpg-android, iOS: https://github.com/HabitRPG/habitrpg-ios)
[//]: # (If you have a feature request, use "Help > Request a Feature", not GitHub or the Report a Bug guild.)
[//]: # (For more guidelines see https://github.com/HabitRPG/habitrpg/issues/2760)
[//]: # (For more guidelines see https://github.com/HabitRPG/habitica/issues/2760)
[//]: # (Fill out relevant information - UUID is found in Settings -> API)
General Info
[//]: # (Fill out relevant information - UUID is found from the Habitia website at User Icon > Settings > API)
### General Info
* UUID:
* Browser:
* OS:
### Description
[//]: # (Describe bug in detail here. Include pictures if helpful.)
[//]: # (Describe bug in detail here. Include screenshots if helpful.)
#### Console Errors
[//]: # (Include any JavaScript console errors here.)
[Habitica](https://habitica.com) is an open source habit building program which treats your life like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor.
We need more programmers! Your assistance will be greatly appreciated.
For an introduction to the technologies used and how the software is organized, refer to [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica#Coders_.28Web_.26_Mobile.29) - "Coders (Web & Mobile)" section.
For an introduction to the technologies used and how the software is organized, refer to [Guidance for Blacksmiths](http://habitica.wikia.com/wiki/Guidance_for_Blacksmiths).
To set up a local install of Habitica for development and testing, see [Setting up Habitica Locally](http://habitica.wikia.com/wiki/Setting_up_Habitica_Locally), which contains instructions for Windows, *nix / Mac OS, and Vagrant.
Then read [Guidance for Blacksmiths](http://habitica.wikia.com/wiki/Guidance_for_Blacksmiths) for additional instructions and useful tips.
## Debug Scripts
In the `./debug-scripts/` folder, there are a few files. Here's a sample:
```bash
grant-all-equipment.js
grant-all-mounts.js
grant-all-pets.js
```
You can run them by doing:
```bash
node debug-scripts/name-of-script.js
```
If there are more arguments required to make the script work, it will print out the usage and an explanation of what the script does.
To set up a local install of Habitica for development and testing on various platforms, see [Setting up Habitica Locally](http://habitica.wikia.com/wiki/Setting_up_Habitica_Locally).
Shared resources useful for the multiple Habitica repositories, that way all the repositories remain in-sync with common characteristics. Includes things like:
* Assets - sprites, images, etc
* CSS - especially, esp. sprite-sheet mapping
* Algorithms - level up algorithm, scoring functions, etc
* View helper functions that may come in handy for multiple client MVCs
* Item definitions - weapons, armor, pets
## Compiling spritesheets
Because of some wonkiness with Heroku, the spritesheet compilation is not part of the production build process and must be done manually when new images are added by running:
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.