* chore: update time travelers shop to display seasonal backgrounds
* chore: update time travelers banner (note CSS borken rn)
* chore: fix borken CSS and update logic in shop
* chore: added isSubscribed function, not working
* chore: isSubscribed working but no bg for subscribers
* chore: logic and css updates
* chore: update habitica-images
* chore: add check for trinket
* chore: more time traveler shop logicking
* Add backend support for Hydra mount
- Add Dragon-Hydra to special mounts in stable.js
- Configure as contributor level 7 reward with canFind: true
- Add GIF format support for mount sprites
- Enable admin panel granting capability
* Fix Vue template errors in timeTravelers component
* Fix duplicate template block in timeTravelers component
* add CSS for Hydra mount GIF sprites
Added CSS rules for Mount_Head_Dragon-Hydra and Mount_Body_Dragon-Hydra GIF sprites
* Remove the separate Hydra mount dimension declaration
---------
Co-authored-by: CuriousMagpie <eilatan@gmail.com>
* Reload window after changing password
* Shows password change success message
Displays a success snackbar after a user successfully changes their password. This provides visual confirmation to the user that the password update was successful.
The success message is displayed only once after the page reloads.
* lint fix trailing spaces
* add InvalidCredentialsError with language-agnostic code and update backend & web logout logic
* error.code in API error responses
Updated the error handler to serialize responseErr.code as the JSON error field, falling back to responseErr.name when no code is set.
* fix(lint): whitespace and missing def
* fix(lint): missed one
* add InvalidCredentialsError case for bad token
Add test verifying that auth middleware throws InvalidCredentialsError with code "invalid_credentials" and correct translated message when the API token is invalid.
* fix(test): user fields implicitly required
---------
Co-authored-by: Kalista Payne <sabrecat@gmail.com>
* reset the ApiToken on password changes/resets
* fix/add tests
* fix(typo): test grammar
* update new API Token Strings, removed unused one
---------
Co-authored-by: Kalista Payne <sabrecat@gmail.com>
* chore: update time travelers shop to display seasonal backgrounds
* chore: update time travelers banner (note CSS borken rn)
* chore: fix borken CSS and update logic in shop
* chore: added isSubscribed function, not working
* chore: isSubscribed working but no bg for subscribers
* chore: logic and css updates
* chore: add check for trinket
* chore: more time traveler shop logicking
* chore(git): heckin habitica-images
* refactor(style): indents/readability
* refactor(style): one more line break
* refactor(style): still more indents
* refactor(style): I wonder if lint can help with this stuff
* refactor(style): tighten up
---------
Co-authored-by: Kalista Payne <sabrecat@gmail.com>
* update images on static features page
* small layout changes
* Update feature texts
* layout tweaks
* refactor(client): move to Vite by @phillipthelen
* update images on static features page
* make text more comfortable to read
* update capitalization
* fix(whitespace): add EOF CR
---------
Co-authored-by: Phillip Thelen <phillip@habitica.com>
* fix: add search descriptions capability to items and equipment
* pet search working for mismatched pairs; mount still in progress
* added some comments about current issue to relevant portion of code
* search working on pet and mount names (except flying carpet)
* update comment text
* remove console.log(animals)
* add eggkey back in
* add mountName as property to animal object, amend filter function