Commit Graph
156 Commits
Author SHA1 Message Date
VinhandWyatt Johnson 414a4c2a42 [CORL-421, CORL-415] Live Comments on Stream (#2379)
* 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
2019-06-28 23:20:10 +00:00
51b142035e [CORL-183] Invite Users (#2349)
* feat: initial UI impl

* feat: attach react devtools hook in development

* feat: working mutations

* feat: polished the invite modal with mutation

Co-authored-by: Vinh <vinh@wikiwi.io>

* feat: added check

* feat: improve the invite server impl

* feat: admin invite interface improvements

* fix: update tests

* feat: moved invite UI to admin

* fix: include email enabled as condition for invite

* feat: added admin tests

* feat: added tests for invite complete flow

* fix: review
2019-06-28 22:51:42 +00:00
Wyatt JohnsonandGitHub 76033118e5 [CORl-278] Perspective Model (#2337)
* feat: support switching the perspective model

* feat: support changing the model on admin

* fix: linting

* fix: removed defaulted value
2019-06-28 22:10:32 +00:00
VinhandWyatt Johnson 413f3e2f1e [CORL-166] Live Updates on Mod Queues (#2368)
* 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
2019-06-21 17:01:07 +00:00
Nick FunkandVinh 0e247ba383 [CORL-163] Add feature button to moderation cards (#2367)
* 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
2019-06-20 23:11:02 +02:00
Wyatt JohnsonandGitHub 9d1f03115f [CORL-381] Featured Comments (#2335)
* feat: initial serverside featuring support

* Update schema.graphql

* feat: add feature comment to moderation dropdown

* feat: feature comments on the stream embed

* fix: tests

* fix: optimize loading and fix tests

* feat: hide featured tab when empty

* feat: introduced flattening

* fix: snapshots

* fix: spacing

* feat: added a dark variant to popover

* feat: add featured comments tooltip

* fix: better tests

* feat: added tag counts

* chore: changed string to enum

* fix: removed unused translation

* fix: changed schema for String -> TAG

* feat: split comments -> comments, featuredComments

* fix: adapt client to new endpoints

* feat: use featured comment counts

* test: featured count handling

* fix: snapshots and optimistically approve comment during feature

* fix: remove unnecessary assertion

* feat: approve featured comments

* fix: make optimistic update less reliant on existing data
2019-06-14 16:27:25 +00:00
Nick FunkandWyatt Johnson 662f5ce314 [CORL-409] Prevent users from ignoring staff members (#2355)
* 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
2019-06-13 17:24:50 +00:00
Wyatt JohnsonandGitHub ed4e5fa2a8 [CORL-399] Hide Non-Visible Comments (#2344)
* feat: added support for hiding non-visible comments

* fix: updated copy

* feat: refined style
2019-06-06 22:24:02 +00:00
KiwiandWyatt Johnson 8cfced464b chore: rename accept comment to approve comment (#2341) 2019-06-06 18:58:11 +00:00
Cristian DeanandKiwi 39d7540987 [next] Add pt-BR translation (#2338)
* Add pt-BR translation

* Add pt-BR translation on server
2019-06-05 18:04:07 +02:00
Wyatt JohnsonandGitHub 132ffdb2dc [next] Ancestors (#2333)
* feat: simplified ancestor management

* fix: removed old comment
2019-05-31 23:02:43 +00:00
Wyatt JohnsonandGitHub 6bd3e093b3 [CORL-157] Ignore Users (#2328)
* 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
2019-05-31 22:41:20 +00:00
Wyatt JohnsonandGitHub 1302ea1918 [CORL-147] Lazy Story Creation + Proxy (#2302)
* feat: added toggle for lazy stories and proxy

* feat: improve story loading logic
2019-05-31 22:28:40 +00:00
KiwiandGitHub dce60c5eab [CORL-349] Show banned user info (#2319)
* feat: stream banned state ui

* fix: button color

* fix: banned permissions

* test: add tests and hide edit

* fix: show reaction button and adapt snapshots

* fix: snapshot
2019-05-23 01:48:10 +02:00
KiwiandGitHub 6da97c57d7 [CORL-314] Rename to Coral (#2318)
* chore: rename talk to coral

* fix: lint and unit tests

* fix: snapshot
2019-05-22 21:32:24 +02:00
Wyatt JohnsonandKiwi 3ba10fd15f [CORL-224] Flag Details (#2293)
* feat: flag details

* fix: review

* feat: implement flag details in admin

* test: test flag details
2019-05-15 18:50:47 +02:00
Wyatt JohnsonandKiwi d4b8e5ef70 [CORL-281] Metrics (#2298)
* feat: iunitial metrics implementation

* fix: graphql endpoint was throwing errors.

* feat: add metrics env variables to readme
2019-05-10 00:26:24 +02:00
Wyatt JohnsonandKiwi df57b4eb17 [next] Email (#2261)
* feat: suspending, banning, now propogation

* feat: added email rendering + localization support

* fix: fix related to lib

* refactor: moved juicer to queue task

* refactor: cleanup of job processor

* refactor: improved error messaging around failed email

* feat: initial forgot passwor impl

* fix: fixed rebase errors

* feat: send back Content-Language header with requests

* feat: added ban email

* feat: implemented forgotten password API

* fix: linting

* feat: support more emails

* fix: promise patches

* feat: initial confirm email API

* feat: added rate limiting

* feat: added URL support

* feat: added email docs

* fix: updated docs

* chore: documentation review

* fix: fixed build bug

* feat: implement forgot password in auth popup

* test: add tests + fixes

* chore: rename StatelessComponent to FunctionComponent

* fix: types and test fixes

* chore: upgrade deps

* fix: THANK YOU TESTS FOR SAVING MY A**

* chore: reorder imports

* chore: remove obsolete !

* feat: implement accounts bundle

* refactor: review suggestion

* fix: rebase upgrade error

* fix: rebase bug

* feat: reset password link support

* test: add tests for account password reset page

* fix: remove redirect uri

* fix: revert local state changes
2019-05-09 22:54:56 +02:00
KiwiandWyatt Johnson ab938985e4 [CORL-294] Moderate a single story + quick search (#2286)
* feat: allow passing a `storyID` to `Query.moderationQueues`

* feat: moderate by story

* feat: implement search story combobox

* feat: add translations

* fix: tests

* fix: duplicate id

* fix: rename file

* chore: add more comments

* fix: add missing translation

* review: use query parameter "q" instead of url path

* chore: move placeholder logic inside, maybe this makes it clearer :-D
2019-04-26 14:23:46 +00:00
Wyatt JohnsonandGitHub 205e6fcd08 [next] Reaction Sort (#2260)
* feat: stream sort description to use reaction conf

* feat: use full custom translation string for the sort label
2019-04-23 20:50:02 +00:00
Wyatt JohnsonandGitHub dbbc1af42e [CORL-155] User Suspending and Banning (#2247)
* 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
2019-04-22 22:57:32 +00:00
Wyatt JohnsonandKiwi 08e8e61e88 [next] Search (#2251)
* 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
2019-04-02 18:09:15 +02:00
KiwiandWyatt Johnson d217fedf9c [CORL-171] Comment Tags (#2248)
* feat: staff badge

* feat: added tag support on the server

* feat: use tags

* fix: server tests
2019-03-29 22:29:17 +00:00
KiwiandWyatt Johnson 618646e71c [CORL-138] Stories (#2242)
* 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
2019-03-22 23:13:05 +00:00
KiwiandWyatt Johnson 538e1fca9d [CORL-139, CORL-140] Community (#2239)
* 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
2019-03-22 20:13:11 +00:00
Wyatt JohnsonandKiwi e70f6f5c7f [CORL-144, CORL-143] Nudging (#2236)
* feat: added nudging beheviour to server

* fix: review fixes

* fix: fixed missed change

* fix: fixed sitewide permission error

* feat: implement client side nudging

* test: add feature tests
2019-03-22 18:09:22 +01:00
Wyatt JohnsonandKiwi 647227e66c feat: renamed me -> viewer (#2238) 2019-03-21 19:37:35 +01:00
KiwiandGitHub 41db413bea [CORL-158] Open/Close stream inside of configure tab (#2223)
* feat: Open or Close stream inside of configure tab

* feat: default disable/close commenting message

* fix: adjusted tests
2019-03-19 18:30:44 +01:00
7501155078 [CORL-161, CORL-240] Message Box (#2222)
* feat: Message Box

* test: do all the testing stuff

* fix: removed old messageBox

* Update src/core/client/stream/tabs/configure/components/MessageBoxConfig.tsx

Co-Authored-By: wyattjoh <wyattjoh@gmail.com>

* fix: addressed space error
2019-03-19 00:08:22 +01:00
KiwiandGitHub 9eb5afbb2b [CORL-159, CORL-160] Stream Config Tab (#2219)
* feat: Implement stream configuration tab

* feat: split profile & configure into separate bundles

* chore: better role logic

* fix+chore: add test cases, implement expectAndFail, refactor tests

* chore: add some comments

* chore: Update src/core/client/framework/lib/form/helpers.tsx

Co-Authored-By: cvle <vinh@wikiwi.io>

* feat: support new graphql mutations/schema

* fix: ci fixes

* fix: improvement to revision loading

* fix: updated some tests

* fix: adapt client to changes

* fix: remove obsolote isClosed in UpdateStory

* ci: increase no_output_timeout for build
2019-03-18 22:07:52 +01:00
Wyatt JohnsonandKiwi d37333be89 [CORL 133] API Review (#2197)
* refactor: removed unused subscription code

* refactor: removed management api's

* refactor: cleanup of connections

* refactor: refactored comments edge

* refactor: simplified connection resolving

* feat: added story connection edge

* fix: added story index

* feat: added user pagination and user edge

* fix: added filter to comment query

* fix: removed unused resolvers

* fix: creating a comment reply should require auth

* refactor: cleanup of graph files

* feat: removed display name, made username non-unique

* fix: fixed tests

* fix: fixed tests

* fix: added more api docs

* fix: fixed bug with installer

* refactor: fixes and updates

* fix: added linting for graphql, fixed schema

* feat: added docker build tests

* fix: upped output timeout

* fix: fixed stacktraces in production builds

* fix: removed `git add`

- `git add` was causing issues with
    partial staged changs on files

* feat: improved error messaging for auth

* refactor: cleaned up queue names

* fix: merge error
2019-03-12 15:12:21 +01:00
KiwiandGitHub 37959f9398 [CORL-130] Handle non-visible comment status (#2213)
* 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
2019-03-05 19:15:33 +01:00
KiwiandGitHub 4e043638f6 [CORL-239, CORL-128] Support disabled commenting and closed stories in Stream (#2205)
* feat: closed story + disabled commenting

* test: add feature test and fix bugs

* fix: snapshot

* fix: isClosed can't be null

* fix: remove duplicate DeepPartial type

* fix: border color
2019-03-04 23:27:46 +01:00
KiwiandGitHub 625809b42c [CORL 212] Implement CharCount Restriction feature (#2204)
* 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
2019-03-04 22:49:04 +01:00
KiwiandGitHub 60f5b7e3c0 [CORL-282] Handle server errors in client (#2196)
* feat: Handle server errors in client

* refactor: use enum ERROR_TYPES

* chore: better comment

* fix: lint

* fix: also look in queries for custom errors
2019-03-01 21:37:02 +01:00
Wyatt JohnsonandGitHub aa2346b715 [CORL-127] Custom CSS (#2194)
* 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
2019-02-13 20:45:11 +00:00
KiwiandGitHub c91a0fafa5 [CORL-116] Configure sitewide commenting (#2193)
* feat: configure sitewide commenting

* fix: repaired snapshots

* fix: updated snapshots

* test: update snapshots
2019-02-13 18:36:37 +01:00
KiwiandGitHub 51880bcfc9 [CORL-129] Render Community Guidelines (#2191)
* chore: Rename InnerProps to Props

* feat: Render community guidelines

* chore: refactor schema communityGuidelines* settings into it's own type

* test: update snapshots
2019-02-13 18:06:42 +01:00
KiwiandGitHub 53e168ae93 [next] Implement configuration panes (#2173)
* 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
2019-02-07 01:10:51 +01:00
Wyatt JohnsonandGitHub 9fa5900acc [next] Error and Logging Improvements (#2152)
* feat: added locale support for Tenant

* feat: added secret scrubbing to logs

* chore: cleanup logger

* chore: logger improvements

* feat: re-introduce scoped pretty logger

* feat: added initial error support

* refactor: replace trace-error.TraceError with talk.InternalError

* fix: fixed error logging

* refactor: replaced Error with VError

* fix: repaired issue with error management on api

* fix: patched bug with not found handler

* feat: added translations

* feat: added location path to invalid entries

* refactor: refactored error handling on graph

* fix: moved indexing operations to master node

* refactor: added throw for when the message isn't found in testing

* fix: removed duplicate log

* fix: fixed naming on environment variable
2019-02-06 23:42:17 +00:00
Wyatt JohnsonandGitHub 9b0e6ed53b [next] MongoDB Indexes (#2142)
* feat: added mongo indexing support

* fix: fixed typescript issue

* chore: better types

* fix: revert debug stuff

* fix: addressed ts error

* feat: added config option to disable auto-indexing

* chore: reordered imports

* refactor: cleaned up some filepaths
2019-02-06 17:53:34 +00:00
KiwiandWyatt Johnson 7e8ef2189d [next] Admin Authentication (#2155)
* feat: Support sign in via E-Mail, and social logins + permission check

* feat: no permission info

* test: unit test

* test: fix remaining tests

* test: add integration tests

* feat: add admin account completion

* test: auth completion feature tests

* fix: translation

* fix: comment marker design

* fix: linting issues

* chore: address pr review comments

* chore: add comment
2019-02-04 21:26:41 +00:00
Wyatt JohnsonandGitHub 98a8c8dc71 [next] User Mutations (#2133)
* feat: added support for Token's

* feat: added mutations

- updateUserUsername
- updateUserDisplayName
- updateUserAvatar
- updateUserEmail
- updateUserRole

* lint: removed old commented out code

* fix: linting
2018-12-20 22:42:44 +00:00
Wyatt JohnsonandKiwi 01a2ace3f0 [next] User Input Validation (#2125)
* 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
2018-12-20 23:33:23 +01:00
KiwiandGitHub 065cb4b03a [next] Auth Popup v2 (#2101)
* feat: Implement new Sign In view

* feat: Move forgot + resetPassword to new design

* feat: Implement sign up with new design

* fix: narrow gutter

* test: add unit tests

* test: integration tests

* feat: support show / hide password

* feat: support oauth2 flow

* feat: add views for user completion

* feat: implement oauth2 sign up

* test: fix snapshots

* fix: lint

* fix: get more complete mutation response

* fix: removed array of OIDC integrations

* fix: renamed resolver function

* fix: adapt oidc client implementation

* fix: targetFilter should be stream on signup

* fix: removed unneeded message

* fix: moved password into local profile

* fix: made username optional, removed valid null value

* fix: linting

* fix: respect targetFilter

* feat: support user registration mutations

- Added `setUsername`
- Added `setEmail`
- Added `setPassword`
- Added `permit` to `@auth`
- Added `email` to `User`

* fix: fixed issue with query

* feat: added user password update

* feat: complete sign in mutation

* fix: adapt some rebasing gitches

* test: improve tests

* test: unittest for setting auth token

* fix: failing tests

* test: move most tests from enzyme to react-test-renderer

* fix: remove schema warnings in tests

* test: improve window mock

* test: test different social login configurations

* test: test social logins for sign up

* fix: use htmlFor instead of for

* test: more feature tests

* feat: always go through account completion

* test: feature test account completion

* feat: addtional account completion test

* Update start.ts

* chore: refactor auth token retrieval logic
2018-12-20 22:32:04 +01:00
KiwiandWyatt Johnson 1fc49f8e50 [next] Moderate (#2118)
* fix: load .env before building / watching

* feat: Implement AppBar, Brand, and SubBar

* feat: add card ui component

* feat: add modqueue components

* feat: implement modqueue

* feat: add translations

* test: add unit tests

* feat: single comment view

* test: feature / integration tests for modqueue

* test: fix remaining tests

* feature: support TextMatchOptions

* fix: remove body count marker

* fix: remove accidently added package

* feat: testHelper toJSON

* chore: cleanup + comments

* chore: better types

* test: fix test

* chore: refactor decision history test

* chore: tiny fix

* fix: adjust to recent server changes

* fix: marking suspect and banned words

* feat: added moderation queue edge to accept/reject comment payloads

- Simplified moderationQueue returns
- Simplified resolvers

* feat: update counts

* feat: added id's to moderation queue and settings

* fix+test: test count changes, apply fix

* chore: adapt to server change, and remove custom mutation handlers

* fix: use common utils

* fix: purify fix, babel fix

* fix: workaround css treeshake issue and upgrade css plugins

* fix: fixed snapshot

* fix: support empty word lists

* feat: separate client config
2018-12-18 18:00:39 +00:00
Wyatt JohnsonandKiwi e134b4de04 [next] Flag Improvements (#2114)
* fix: applied fix for reaction mutation

* fix: removed comment length flag

* feat: added additionalDetails field to flags

* feat: added other flag type
2018-12-12 22:49:51 +01:00
Wyatt JohnsonandKiwi 8a64e6f62d fix: resolved race loading issues with dataloader (#2117) 2018-12-12 21:54:43 +01:00
Wyatt JohnsonandKiwi 4584c3d4fb [next] Moderation Queues (#2098)
* fix: edit comment fix for reactions

* feat: Comment Queue Counts

- Removed "remove flag"
- Rearranged moderation services
- Rearranged comment counts on stories
- Added moderation queue counts to stories
- Added comments edge
- Improved Cursor/Connection types
- Improved count updators for stories

* feat: added shared comment counts and queues

- Added new AugmentedRedis type
- Added more log calls
- Update counts in shared counter as well
- Return a Query level Moderation Queue

* fix: fixed test
2018-12-07 00:37:33 +01:00
Wyatt JohnsonandGitHub a5c98cd587 [next] Comment Reply Revisions (#2072)
* feat: added revision id support for replies

* feat: use createCommentReply
2018-11-27 21:56:12 +00:00