* 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
* Create unit tests around the user drawer
CORL-443
* Update comment fixture generation to include reason metadata, action counts
CORL-443
* Add a user status drop down to the user history drawer
CORL-227
* Refactor UserHistoryDrawer tabs and queries for consistency
CORL-234
* Create and empty account history tab in the user drawer
CORL-234
* Create preliminary account history tab queries
Massages the suspension and ban history together into a usable format.
Sorts the ban and suspension history by date, ascending.
Ready to process the history data into components to make up the future
table records.
CORL-234
* Style the user drawer account history records into table format
CORL-234
* Fix typo in admin localization around banned text
CORL-234
* Update suspension record to support templated insertion of timespan
CORL-234
* Create localized parsing of suspension times for account history
CORL-234
* Handle errors when loading the user drawer account history
CORL-234
* Adjust margins of tab content relative to the tab controls
CORL-234
* Extract suspension record time calculations out of component
CORL-234
* Handle when a user has no account history
CORL-234
* Adjust line height to prevent cutting off usernames in community table
CORL-234
* Override hover behaviour for user drawer account history rows
CORL-234
* Adjust default column widths in user drawer - account history
CORL-234
* Use react node type instead of any for component substitution
CORL-234
* Rename TabType to UserTabs
CORL-234
* Use nullable type instead of strict typing using OR's
CORL-234
* Set UserStatusChangeContainer fullWidth default to false
CORL-234
* Combine timed suspension localization into one Localized element
CORL-234
* fix: useMemo on history bar
* Rename UserHistoryDrawerAccountHistory to UserDrawerAccountHistory
Cleans up the agglutination's on these file names.
Probably means we should rename UserHistoryDrawer... to
UserDrawer... everywhere. Will get to that later.
CORL-234
* Reorder imports to match alphabetization preferences
CORL-234
* feat: simplication to action table
* feat: visual tweaks
* chore: added notes for deprecating
* Create unit tests around the user drawer
CORL-443
* Update comment fixture generation to include reason metadata, action counts
CORL-443
* Move testRenderer construction outside of act() operations
CORL-443
* Add a user status drop down to the user history drawer
CORL-227
* Update snapshots to handle status change dropdown full width styling
In other areas we want to override the full width: 100% styling of the
status change drop down. By default, we turn it on. This added a class
to the element that needs to be updated in the snapshots.
CORL-227
* Ignore the user history drawer tests for the time being
Getting an Invariant Violation: Unable to find node on an unmounted component.
when the UserStatusChangeContainer is present on the UserHistoryDrawerQuery.
CORL-227
* Align the user drawer status label and button text
CORL-227
* Update community tests to handle removal of dot icon from user status
CORL-227
* Move the user history drawer into shared location that all admin routes access
CORL-443
* Move the moderate card to the shared components for admin
CORL-443
* Add a user drawer to the community area of the admin section
CORL-443
* Touch up missing tabs in UserRow.css
CORL-443
* Create unit tests around the user drawer
CORL-443
* Move toxicity label to new shared component location to fix rebase
CORL-443
* Update comment fixture generation to include reason metadata, action counts
CORL-443
* Rename userDrawerID to userDrawerUserID
CORL-443
* Clean up imports on user drawer unit tests
CORL-443
* Add coral-test to the jest config paths
CORL-443
* Add todo around creating predictable date times for test fixtures
CORL-443
* Move testRenderer construction outside of act() operations
CORL-443
* feat: improved some password/email fields
- All secret fields are now "hidden" by default
- All email fields now have autocomplete/spellcheck disabled with
correct typings
* feat: add additional email validation
* Create preliminary user history drawer with user fragment
CORL-233
* Set font size for the user details to match spec at 16 px
CORL-233
* Update username font style/size, add horizontal rule for user history drawer
CORL-233
* Set user detail min width to align the copy buttons in user history drawer
CORL-233
* Set min width of the user history drawer to match spec
CORL-233
* Remove min width for detail area and card to allow responsive sizing
Allows the copy buttons to sit just to the right of the user
details text.
CORL-233
* Update snapshots to handle clickable username in moderation comment cards
CORL-233
* Create initial pagination of all comments in user history drawer
Shows all comments with a rubbish "load more" button as we haven't
decided if we want to do a load more button or infinite scrolling
solution.
Flex layout helps it create a scroll bar when needed to traverse through
the comment stream.
CORL-233
* Create preliminary user history drawer with user fragment
CORL-233
* Set font size for the user details to match spec at 16 px
CORL-233
* Update username font style/size, add horizontal rule for user history drawer
CORL-233
* Set user detail min width to align the copy buttons in user history drawer
CORL-233
* Set min width of the user history drawer to match spec
CORL-233
* Remove min width for detail area and card to allow responsive sizing
Allows the copy buttons to sit just to the right of the user
details text.
CORL-233
* Update snapshots to handle clickable username in moderation comment cards
CORL-233
* Let the user history drawer fill full height of page
CORL-233
* Add a close button to the user history drawer
CORL-233
* Preliminarily get all and rejected comments showing in the user drawer
CORL-233
* Create preliminary user history drawer with user fragment
CORL-233
* Set font size for the user details to match spec at 16 px
CORL-233
* Update username font style/size, add horizontal rule for user history drawer
CORL-233
* Set user detail min width to align the copy buttons in user history drawer
CORL-233
* Set min width of the user history drawer to match spec
CORL-233
* Remove min width for detail area and card to allow responsive sizing
Allows the copy buttons to sit just to the right of the user
details text.
CORL-233
* Update snapshots to handle clickable username in moderation comment cards
CORL-233
* Let the user history drawer fill full height of page
CORL-233
* Add a close button to the user history drawer
CORL-233
* Set the user history drawer to fill full height of window
CORL-233
* Convert ModerateCardContainer to a FunctionComponent
CORL-233
* Show spinner while all comments are loading in user history drawer
CORL-233
* Style tabs within the user history drawer to be secondary
CORL-233
* Center load more button in the comments for the user history drawer
CORL-233
* Fix scroll bars on nested flexboxes in the user history drawer
CORL-233
* Tweak styling for the user history drawer comments section
Add margins where necessary.
Style the Load More button to match the comment feed elsewhere.
CORL-233
* Fix background of copy buttons to match the user history drawer
CORL-233
* Preliminarily get rejected comments showing in the user history tabs
Still need to consolidate any duplication between the all and rejected
comments containers/queries, but this works correctly as is.
CORL-233
* Show hover and active background color on moderate card usernames
CORL-233
* Hide load more buttons on comment streams when no comments available
CORL-233
* Handle when no comments are available in user history drawer streams
CORL-233
* Actually show all comments in the user history all comments tab
Previously was filtering out rejected and other pre-mod
status-ed comments.
CORL-233
* Style the user history drawer cards to match the spec
CORL-233
* Add localizations around user history drawer tabs
CORL-233
* Allow a mini mode for moderate cards that are shown in the user drawer
CORL-233
* Style user drawer comment tabs to match the spec
CORL-233
* Update snapshots to account for mini moderate cards
Updates the fact that a separator on regular sized cards
now has an additional class name to turn on the divider's
visible border.
CORL-233
* Add user drawer to the queue instead of childed to the moderate card
Prevents the user drawer from prematurely closing when we approve
all items in the moderate queue.
CORL-233
* Update snapshots to account for user drawer on queues
CORL-233
* Set mini and username defaults more cleanly on ModerateCardContainer
CORL-233
* Rename usernameClicked to onUsernameClicked
CORL-233
* Use callback on loadMore calls within user drawer queries
CORL-233
* Localize the no comment text for the user drawer comment streams
CORL-233
* Localize the user not found callout in the user drawer comment streams
CORL-233
* Remove superfluous curly braces
CORL-233
* Extract user history drawer internals into a distinct query component
CORL-233
* Move comments conditional below useCallback initializations
CORL-233
* feat: fixed consistency issues
* Use a concrete tab type on user drawer comment stream tabs
CORL-233
* Use <hr/> instead of <HorizontalRule>
CORL-233
* Clarify logic for showing horizontal rule after comments in user drawer
CORL-233
* Remover bottom border on user drawer tab bar
CORL-233
* feat: support comment replies
* feat: comment created
* feat: live update top level comments
* feat: live updates on the stream embed
* fix: tests
* chore: refactor FadeInTransition
* fix: add missing translation and a live update bug
* fix: graqphql
* feat: improve loading experiene :-)
* fix: live comment bugs
* chore: adapt translation
* feat: stop live updates when story is closed or commenting is disabled
* test: add tests for stream live updates
* fix: remove forgotten piece of code
* fix: tests
* feat: added cookie support to coral
* feat: adapt client to use cookies
* fix: safari input styles
* fix: lint
* fix: linting
* fix: support clearing cookies properly, oauth
* feat: support cookies for websocket upgrade requests
* fix: lint
* fix: tests
* 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
* Preliminarily add a feature button to the moderate card
Pulls the tags for a comment and checks if any or of type "Featured".
Naively compares the tag code with the string "Featured".
Shows a featured button, but is missing localization for the text.
CORL-163
* Use GQLTag definitions from schema to compute whether comment is featured
CORL-163
* Add functionality to feature/unfeature comments in the moderation area
Hooks up the feature button to two mutations for featuring and
unfeaturing comments on moderation comment cards.
CORL-163
* Add localizations for the feature button on the moderation card
CORL-163
* Fix moderate card snapshot banned and suspect word lists
CORL-163
* Fix issue with feature buttons never showing "Featured" text
Localization on parent of the button was causing an override
in the naming of the feature button text. Removed parent
localization and let the child show the localized text values.
CORL-163
* Update moderate card snapshots with feature button
CORL-163
* Update moderate fixtures and snapshots to handle feature button
Add tags section to fixture data.
Add feature button to moderate snapshots.
CORL-163
* Set a default for feature button's localized text
CORL-163
* Add test to verify feature button is available on moderation cards
CORL-163
* Add tests to verify featured comments show featured button state in moderation
Verify that when a featured comment shows in single moderation view,
that the comment shows appropriate featured button state.
CORL-163
* Update feature button styles to use design tokens
CORL-163
* Replace true | false prop definition with boolean type
CORL-163
* Remove un-necessary beforeEach history location in feature.spec.tsx
CORL-163
* Organize styling for feature button
Move float:right with the rest of the layout options.
CORL-163
* Update the feature comment mutation moderate side to update queues
CORL-163
* Update queue counts when a comment is approved via featuring
CORL-163
* 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
* feat: added server impl of ignore user
* feat: added development error wrapping
* feat: Add arror to popover
* fix: dependencies
* fix: server locals watch paths
* feat: AuthorPopover & Member Since
* chore: refactor stream file organization
* feat: ignore user
* fix: file case
* feat: add support for useLocal hook!
* test: test ignored users
* feat: show story title + moderate this story link
* feat: introduce mini unit
* test: add tests for moderate story link
* fix: snapshot
* fix: lint / test
* fix: unwanted margin
* feat: suspending, banning, now propogation
* feat: adapting to `now`
* feat: support auth for suspension/banned
* feat: added trace-id to requests
* feat: new mutation api with hooks support
* feat: added user status filtering, current field
* feat: Implement filter by status, adapt to new USER_STATUS type, add lookup helper <3
* fix: typo
* fix: tests
* chore: rename banned status to ban status
* test: feature test + lots of test helper improvements e.g. types
* fix: add translation to ban user modal
* fix: translation
* fix: test
* feat: added text indexes, query param to edges
* fix: cleaned up, added createdAt index
* fix: improved indexing support
* feat: integrate search into community and stories
* feat: adorn with search button
* test: add tests
* feat: implement stories
* test: add feature test
* fix: id name
* fix: improve word breaks, column widths
* fix: snapshots
* feat: add min width to status dropdown button
* fix: polishing
* feat: Add table ui component
* feat: community user table
* feat: filters and role change
* fix: add some comments
* fix: user viewer
* fix: snapshots
* test: add tests
* fix: better popover experience
* fix: test
* chore: use enum
* feat: prevent server side setting your own role
* fix: cleanup