* 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: 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: 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
* feat: support blue color in message
* feat: Show message when comment is in review
* feat: handle non-visible comment status
* test: add feature test for handling invisible comment status
* fix: apply review
* chore: better comment :-)
* Update isVisible.ts
* feat: adhere to char count settings for posting top level comments
* fix: remove bidi characters during test
* test: add feature tests for charCount
* test: update snapshots
* test: add feature test for updating settings
* feat: use red color and warn icon (from review)
* feat: Implement charCount for reply
* feat: charCount for edit comment
* test: update snapshots
* feat: Handle server errors in client
* refactor: use enum ERROR_TYPES
* chore: better comment
* fix: lint
* fix: also look in queries for custom errors
* feat: moved html-webpack-plugin to custom server templates in production
* fix: fixed templates
* fix: removed sri for the time being
* fix: fixed up tests for new field name
* chore: Rename InnerProps to Props
* feat: Render community guidelines
* chore: refactor schema communityGuidelines* settings into it's own type
* test: update snapshots
* feat: moderation config
* feat: configure banned and suspect words
* chore: upgrade react and test libs to the newest version <3
* chore: upgrade typescript + some refactor
* feat: general, organization and advanced configuration panes
* fix: translation
* feat: speedup fetching markdown editor
* feat: localize markdown editor
* chore: refactor container names
* chore: rename infobox to communityGuidelines
* feat: closing comment streams duration config
* test: add feature tests for configurations
* fix: mock only console.error
* chore: upgrade node
* chore: require node >= 10
* fix: better validation and default values
* feat: Make DurationField a general purpose component and reuse for Edit Comment Timeframe
* test: add unit test for duration field
* fix: patch for bug when built in production
* chore: bump npm version to latest
* fix: adapted Dockerfile to new version of node
* refactor: harmonized seconds/milliseconds to seconds
* fix: resolve bug from merge conflict
* feat: added user validation
* fix: adapt client validation to match servers
* fix: snapshots
* feat: moved validation code to common
* chore: renamed utils/validate to helpers/validate
* fix: applied fix for reaction mutation
* fix: removed comment length flag
* feat: added additionalDetails field to flags
* feat: added other flag type