* 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
* 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
[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)
[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.
@@ -8,4 +10,3 @@ 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 [Guidance for Blacksmiths](http://habitica.wikia.com/wiki/Guidance_for_Blacksmiths).
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).
console.log('Verifiying that images do not exceed max dimensions');
letnumberOfSheetsThatAreTooBig=0;
letdistSpritesheets=sync(`${DIST_PATH}*.png`);
each(distSpritesheets,(img,index)=>{
letspriteSize=calculateImgDimensions(img);
if(spriteSize>MAX_SPRITESHEET_SIZE){
numberOfSheetsThatAreTooBig++;
letname=basename(img,'.png');
console.error(`WARNING: ${name} might be too big - ${spriteSize} > ${MAX_SPRITESHEET_SIZE}`);
}
});
if(numberOfSheetsThatAreTooBig>0){
console.error(`${numberOfSheetsThatAreTooBig} sheets might too big for mobile Safari to be able to handle them, but there is a margin of error in these calculations so it is probably okay. Mention this to an admin so they can test a staging site on mobile Safari after your PR is merged.`);// https://github.com/HabitRPG/habitica/pull/6683#issuecomment-185462180
}else{
console.log('All images are within the correct dimensions');
varanimals=["Wolf-Base","Wolf-White","Wolf-Desert","Wolf-Red","Wolf-Shade","Wolf-Skeleton","Wolf-Zombie","Wolf-CottonCandyPink","Wolf-CottonCandyBlue","Wolf-Golden","TigerCub-Base","TigerCub-White","TigerCub-Desert","TigerCub-Red","TigerCub-Shade","TigerCub-Skeleton","TigerCub-Zombie","TigerCub-CottonCandyPink","TigerCub-CottonCandyBlue","TigerCub-Golden","PandaCub-Base","PandaCub-White","PandaCub-Desert","PandaCub-Red","PandaCub-Shade","PandaCub-Skeleton","PandaCub-Zombie","PandaCub-CottonCandyPink","PandaCub-CottonCandyBlue","PandaCub-Golden","LionCub-Base","LionCub-White","LionCub-Desert","LionCub-Red","LionCub-Shade","LionCub-Skeleton","LionCub-Zombie","LionCub-CottonCandyPink","LionCub-CottonCandyBlue","LionCub-Golden","Fox-Base","Fox-White","Fox-Desert","Fox-Red","Fox-Shade","Fox-Skeleton","Fox-Zombie","Fox-CottonCandyPink","Fox-CottonCandyBlue","Fox-Golden","FlyingPig-Base","FlyingPig-White","FlyingPig-Desert","FlyingPig-Red","FlyingPig-Shade","FlyingPig-Skeleton","FlyingPig-Zombie","FlyingPig-CottonCandyPink","FlyingPig-CottonCandyBlue","FlyingPig-Golden","Dragon-Base","Dragon-White","Dragon-Desert","Dragon-Red","Dragon-Shade","Dragon-Skeleton","Dragon-Zombie","Dragon-CottonCandyPink","Dragon-CottonCandyBlue","Dragon-Golden","Cactus-Base","Cactus-White","Cactus-Desert","Cactus-Red","Cactus-Shade","Cactus-Skeleton","Cactus-Zombie","Cactus-CottonCandyPink","Cactus-CottonCandyBlue","Cactus-Golden","BearCub-Base","BearCub-White","BearCub-Desert","BearCub-Red","BearCub-Shade","BearCub-Skeleton","BearCub-Zombie","BearCub-CottonCandyPink","BearCub-CottonCandyBlue","BearCub-Golden"];// all Gen1 mounts
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.