* wire up suspension modal
* show user suspended callout on stream
* prevent comment actions for suspended users
* set default to 3 hour suspension
* add message field to suspension
* allow custom message for suspension
* show suspend success modal
* fix type errors
* remove unused code
* update styles
* fix fixture for streams
* add suspension ui tests
* fix types
* remove warnings?
* remove snapshot
* fix merge conflicts
* allow custom email message when banning users
* fix typo
* correct message type
* use final-form in suspend modal
* refactor suspend modal to use final-form
* refactor ban modal to use final-form
* refactor userStatusChangeContainer to use useCallback
* feat: improve translated form
* fix: addressed issue caused by i18n refactor
* update getMessage to accept arguments, remove format method
* translate suspend info
* change hour format
* make message a mandatory input for suspend and ban user
* fix types in user table
* Revert "fix types in user table"
This reverts commit d396e90b88bb1bd354c5cdbdd72b6d8f1ab72929.
* fix types for user table
* fix: small review tweaks
* feat: client implementation of subscriptions and modqueue live counts
* fix: unit tests
* feat: live status update in moderation
* feat: live update of new comments in moderation
* chore: View New instead of View More
* feat: fade in transition for new comments
* chore: turn websocket proxy back on
* feat: initial server impl
* fix: make it work :-)
* fix: add box shadow
* chore: make test subscriptions only support 1 top level field following the spec
* fix: linting
* feat: support clientID
* fix: linting
* feat: support commentStatusUpdated subscription
* fix: disabled styles for approve and reject button
* feat: show moderated by system and update flags
* feat: support metrics recording on websocket connections
* fix: handle when same comment enters but leaves again
* Throw error if user tries to ignore a staff member
Throws a UserCannotBeIgnoredError if a user tries to ignore
a user who is a staff member. A staff member in this case is
considered anyone who has a role of staff, moderator, or admin.
CORL-409
* Prevent users from ignoring staff in the user info popover
Creates the staff roles in a constant next to the user model.
Uses this to add a computed property to the user resolver.
CORL-409
* Remove unnecessary async declaration from userIsStaff helper function
CORL-409
* Specify ignoreable on users in client test fixtures
Allows the tests to pass for the required computed property
of ignoreable that is computed by whether a user is a staff
member or not.
CORL-409
* Update more fixtures with ignoreable property on mocked users/commenters
CORL-409
* Consolidate ignore-able calculation into re-usable helper methods
Re-use the logic for whether a role is a staff member to
clearly define when a user is ignore-able or not across the
business logic.
CORL-409
* Set the ignoreable optimisticResponse on comment mutations
We have set the ignoreable value in the graphQL schema, so now
the optimisticResponses are looking for a default value to use
until the data result arrives. Put to false since the ignoreable
value is set on our author, we likely don't want to ignore ourselves.
CORL-409