* rename hasAccess to canJoin for challenges
This is so the function won't be used accidentally for other
purposes, since hasAccess could be misinterpretted.
* add isLeader function for challenges
* allow challenge leader to join/modify/end challenge when they're not in the private group it's in
* delete duplicate test
* clarify title of existing tests
* add tests and adjust existing tests to reduce privileges of test users
* fix lint errors
* remove pointless isLeader check (it's checked in canJoin)
* Added Contributor Titles to Names on Hover
* Added Contributor Titles to Names on Hover
* added contributor title text on hover
* added contributor titles on hover in chat
* added contributor titles to text on hover
* Delete .project
* new inbox client
* add tests for sendPrivateMessage returning the message
* update DELETE user message tests
* port v3 GET-inbox_messages
* use v4 delete message route
* sendPrivateMessage: return sent message
* fix
* prevent quest progress message in party chat when user is resting in the inn
* improve comment
* update tests now that the test group includes a new member (sleeping quest participant)
* adjust a test to fix lint failure (and make the test better)
* fix order of element assignments in test array
* Added smartbanner code to suggest iphone/android apps for mobile users
* Installed smartbanner.js as a module and imported css through app.vue
* Changed the logos to use the ones in the existing presskit directory and fixed the import line for the smartbanner component
* Changed smartbanner import to a src include for css and updated js import
* fix(groups): correct timing on updating member quantities
* fix(groups): don't run group cancellation check if we're in invite flow
* fix(groups): update leader when memberCount is 1
* fix(groups): move leader update back--unrelated to group plans fix
* WIP(analytics): add / improve tracking
* fix(groups): revert attempt at tracking on group model
* fix(analytics): track questing based on user data
* each buy-operation now has a getItemType method - typo getItemKey - removed unneeded overrides
* remove commented-out code for purging PMs - no longer needed
https://github.com/HabitRPG/habitica/issues/7940#issuecomment-406489506
* adjust comments
* move cron code when sleeping / resting back into main body of cron code
* rename tests to use consistent terminology for sleeping
* add tests for cron when user is sleeping
* move sleeping tests to same place as non-sleeping test
This matches how the code has sleeping and non-sleeping code mingled.
* replace a broken test with new tests
The deleted test wasn't working correctly. The check that the user's
health hadn't decreased would have worked even if the user wasn't
sleeping because the Daily had been marked completed.
The new tests test both no damage from incomplete Dailies and
that Dailies are reset.
* add tests for Perfect Day buff and rename existing tests for consistent terminology
* remove old test code
* removing duplicate keys
* adding chair assets and wiring them to customize screen
* adding customization data for new wheelchair types
* removing an unused locale key and moving the code style override closer to the affected area
* explicitly re-enabilng linting rule
* adding button-sized chair assets
* updating assets to new resolution
* moving chair keys into component data
* Fixing healing light not being castable on server and client sides when user has already full health
Adding integration test for spell cast of healing light when full health
Adding test for heal cast if user has full health
* Fixing ESLint syntax in the spells test files
* Added mute end date
* Added indefinite mute for users using slurs
* Fixed user reload. Added no longer muted message. Added format for date
* Fixed lint
* correct curl parameter (-X for request method; -x for proxy information)
* fix typo in error message
* fix mistakes in apidocs for allocating Stat Points
The `noNotifications` string was not being used so changing it for
this purpose makes sense. Non-English users will see meaningful
text even before the new text is translated.
* remove duplicate module.exports statement
* remove commented-out footer in Slack slur notification
There's no need for anything to replace this footer.
* swap order of flag actions to put most critical first
This causes moderators to be notified before the flagged message's flagCount is incremented, because if something happens to prevent the flagGroupMessage Promise from resolving, we still want to mods to see the notification.
* limit chat message flagging ability for new players
Players who created accounts less than three days ago can flag posts
but that does not contribute to the posts' flagCount. This prevents
a troll from maliciously hiding innocent messages by creating new
accounts to flag them.
* add tests
* fix other tests
* WIP - prevent multiple notifications
* merge promises to one
* update test, iterate each user
* revert changes in `groups.js` - filter duplicate notifications in `convertNotificationsToSafeJson`
* participant list modal opens, nothing displayed yet
* display participants!
* only need to filter
* change button to link
* prevent scrolling back up when modal opens
* style link as h4
* move css
The default scroll sensitivity of the task columns is 30 px from the bottom of the screen. The collapsed spells drawer renders 32 px from the bottom of the screen intercepting most drag events. Increases the scroll sensitivity to double the height of the blocking element.
Also ignores the Yarn lockfile. `yarn --ignore-engines` builds successfully and tests pass with Node 10.6.0 and MongoDB 4.0.0.
* Fix joinedChallenge achievement being awarded when creating a challenge
* Modify test to check that achievement is not awarded for creating a challenge
* WIP(groups): add shared completion prop
Also fix an issue where the Needs Approval toggle would not read/save
correctly.
* fix(groups): save group options on task create
Also, correct count of assigned members when viewing user is among
assignments
* fix(groups): display correct messages in two places
* fix(tasks): eliminate console error related to filtering
Also localize a group plans string
* WIP(groups): implement single completion for approval workflow
* WIP(groups): Add shared completion handling to no-approval-needed flow
* WIP(groups): cover approval flow case for all-assigned
Also save new field on initial task creation
* fix(tasks): use default sharedCompletion value when creating tasks
* WIP(tests): non-working draft test
* Added completed todo to group query
* WIP(group-tasks): fix bugs, add tests
* refactor(group-tasks): deleteMany op, add more tests
* refactor(group-tasks): move shared completion handling to lib
* WIP(group-tasks): broken refactor
* WIP(group-tasks): await all the things
* Turned complete master task to save
* WIP(group-tasks): show completed
* fix(filtering): don't try to filter if no list is passed
* refactor(group-tasks): load completed to-dos on demand, not at start
* fix(group-tasks): don't double up on repeat visits
* fix(group-tasks): include brief explanation in dropdown
* fix(group-tasks): improve wording some more
* prints first error message only
* update signup error messages, missing password not working (wip)
* remove alerts, show notEmpty, first error only per param, update unit test
* move changes to client side
As reported in #10502, adding a 1 pixel right margin to *all* nodes with
the member-stats class will affect the display when you click on the
avatar as well, which will then break the layout because of that
additional margin.
Instead of adding the margin to .member-stats in general, let's just add
it to the condensed version so that it really just addresses the
flickering on Chrome/Chromium as reported in #10379.
I've tested whether the flickering still happens via a small
xdotool-loop (just to make sure I don't get too shaky with the mouse):
for i in $(seq 500 508); do xdotool mousemove "$i" 250; sleep 5; done
The flickering doesn't happen anymore and the layout in the party
members overview and the stats overview when you click on the avatar is
no longer distorted.
Signed-off-by: aszlig <aszlig@nix.build>
Fixes: #10502
* Turning H2s into anchors to add hand cursor and to create addressable page fragments
adding ref to target individual entries
adding scroll handler to make sure expanded result is in view.
* combining click handler directives as per CR
* changing question display to always render, then hide via CSS, vs only render when state changes.
* updating pug template to include heading in each URL fragment
* simplifying logic & moving to vue-bootstrap accordion since multiple open panels is not required
* adding pointer cursor to FAQ headings
* moving initial hash checking to data prop instead of mounted so it does not trigger oddities on on hash change (re-mount)
* using new pug HTML for bootstrap collapse
* removing extraneous markup
* updating styling to match existing page
* removing fancier than necessary markup, and attendant styles
* using more standard event property
* Added session check before route changes, but express isn't finding route
* Added a logout component. Changed route to logout on server. Typing 'logout' in URL will logout of Vue + Express
* Removed commented text from previous version
* Updated logout function to comply with formatting and eliminate unused blocks
* Added package-lock.json back
* package-lock.json
* recreated package-lock file
* fix(auth): allow logout from direct visit to /logout path
* fix(merge): clean up more misc changes
* fix(merge): remove extra file
* fixing typos in comments. yes, I am that kind of nerd
* replacing push-notify with node-apn in deps and in pushNotifications.js
* updating calling code and tests to use node-apn
* updating APN configs to new format
* migrating team ID and key ID to config.json
* update code to use env variables and add correct topic