Commit Graph

475 Commits

Author SHA1 Message Date
Wyatt Johnson 4a94b81230 feat: initial server impl 2020-08-14 13:51:00 -06:00
Tessa Thornton abfcdcc933 [CORL-1249] Add "warn" status (#3100)
* schema and backend for warning users

* allow warning and warning acknowledgement

* include warning actions in user history drawer

* fix fixture

* add copy to warn modal

* style warning on stream side

* localize strings

* update warning form

* fix fixtures

* copy updates

* clean up error messaging

* userefetch for users

* ensure user status is refreshed on warn error

* add details about warning to user status details

* update copy for unacknowledged warning

* fix merge conflict

* update copy

* remove unused code

* clean up warning css

* sort imports

* fix copy in comments

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-08-14 15:44:35 +00:00
Wyatt Johnson d001fcd456 [CORL-1291] Logging Improvements (#3103)
* feat: added settings audit

* fix: added tenantID to audit entry

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-08-14 15:30:32 +00:00
Nick Funk d67c3d2907 Mark and allow word list timed out comments (#3097)
Will mark the comment's metdata as a word list
time out if it happens and also tag them with
suspect or banned word.

Then we show "possible suspect/banned word"
markers on the moderate card so moderators can
manually review them.

CORL-1264

Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
2020-08-11 22:05:50 +00:00
Wyatt Johnson 3398bd12c4 fix: export public flag, fix button (#3098) 2020-08-11 21:49:32 +00:00
Nick Funk 5ffb53d0eb Add media to comment data downloads (#3089)
This will update the admin and user CSV
downloads to include a "Media" column that
will specify the media type and the URL
for the media content.

CORL-1188

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-08-10 20:59:30 +00:00
Nick Funk af842e98ee Move wordlist check after staff approval check (#3094)
This allows staff members to comment anything
they want, even if it's on the banned word list.

CORL-1255

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-08-10 20:42:47 +00:00
Nick Funk 45cd0e6628 [CORL-1248] Allow users to auto-show media in stream (#3086)
* Create preliminary media preferences

Allows user to select whether they want to
automatically show media or not.

CORL-1248

* Fix up the copy around media preferences

CORL-1248

* Rename EmbedPreferences to UserMediaSettings

CORL-1248

* Add error/validation messages to media prefs

CORL-1248

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-08-10 20:12:56 +00:00
Tessa Thornton 288809ee14 add PERMIT argunment to auth directives that should be accessible to suspended or banned users (#3085)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-08-06 17:49:49 +00:00
Wyatt Johnson b97ec638b2 fix: ensure anonymousId or userId is added to the payload (#3075)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-08-06 16:35:02 +00:00
Nick Funk ce7d6969dd Add read more opens new tab feature flag (#3079)
If the feature flag READ_MORE_NEW_TAB is
set, then clicking on "Read more of this
conversation" will open a new tab.

CORL-1246

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-08-05 21:10:55 +00:00
Wyatt Johnson 8ede245a8d feat: added data-coral-count to count elements (#3055)
Co-authored-by: Vinh <vinh@vinh.tech>
2020-08-05 19:10:13 +00:00
Nick Funk ce53134736 [CORL-794] Create a common date formatter (#3073)
* Create a common date formatter

Updates all uses of Intl.DateTimeFormat(...)
with re-usable date time formatter functions.

The formatter functions have default formatting
options, but these can be overridden.

CORL-794

* Include options in useMemo

Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>

* Make date formatting accept single locale string

Makes formatDate and createDateFormatter accept
string | string[] | undefined for the locales
argument.

CORL-794

Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-08-05 15:34:42 +00:00
Wyatt Johnson 9d02391062 [CORL-1239] Swap setTimeout for setLongTimeout (#3071)
* fix: ensure user editable time use setLongTimeout

* fix: fixed wrong type

* fix: fixed snapshots

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-08-04 18:24:31 +00:00
Wyatt Johnson 8aac2d33fc [CORL-1238] Duplicate User Race (#3068)
* fix: added a single retry to user create

* feat: added additional error context

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-08-04 18:09:55 +00:00
Nick Funk 94ff8ff880 fix: replace outdated keys with signingSecrets (#3070)
Looks like this was missed during the migration
of `auth.integrations.sso.keys` renamed to
`auth.integrations.sso.signingSecrets`.

CORL-1159
2020-08-04 11:09:24 -06:00
Tessa Thornton 871d3f80c1 [CORL-1230] corrects logic for editing comments with media attachments (#3063)
* correctly attach media to edited comments

* ensure media can be removed in edits

* fix: updates to support repeat post

Co-authored-by: Kim Gardner <kgardnr@gmail.com>
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
2020-07-31 18:03:54 +00:00
Wyatt Johnson dfdea2b9d2 [CORL-1150] Discussions Tab (#3050)
* feat: Added Site.topStories edge

* feat: Added User.ongoingDiscussions edge

* connect discussions tab to relay

* style discussions tab

* add message if no ongoing discussions

* style site name in story row

* fix: make line-heights relative

* add custom class hooks

* feat: condition display based on feature flag

* add target attribute to story links

* fix: expose some featureFlags

* fix: fixed sorting

* fix: copy fixes

Co-authored-by: tessalt <tessathornton@gmail.com>
Co-authored-by: Chi Vinh Le <vinh@vinh.tech>
2020-07-30 17:18:59 -04:00
Tessa Thornton 7a099bbf05 don't save clientMutationId when creating announcement (#3049)
* don't save clientMutationId when creating announcement

* move mutationId filtering from resolver to mutation

Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
2020-07-29 21:38:12 +00:00
Wyatt Johnson 51112a11c0 [CORL-1219] Media Type Fixes (#3051)
* fix: better graphql types

* fix: fixed tests

* fix: fixed tests
2020-07-29 21:11:53 +00:00
Wyatt Johnson 6e50b28d8b [CORL-1149] Active Stories (#3040)
* fix: removed type assertions in place of stricter types

* fix: fixed bug with module ordering

* feat: support for story activity jsonp route
2020-07-28 16:34:05 +00:00
Tessa Thornton 1f72cdbfb3 ensure preloaded css is actually used (#3047) 2020-07-28 08:42:39 -04:00
Wyatt Johnson 9aa4591655 fix: fixed issue with graphiql (#3043) 2020-07-24 17:19:08 +00:00
Tessa Thornton 25a1dcdf8d fix logic around repeat posts with or without media embeds: (#3042) 2020-07-23 15:36:08 -06:00
Tessa Thornton bbbff98270 pass custom stream css url through to html (#3039)
* pass custom stream css url through to html

* rename streamcssURL to customCSSURL

* only enable custom css query on stream route

* Update src/core/server/app/router/client.ts

Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>

* simplify template for client html

Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
2020-07-22 18:57:47 +00:00
Nick Funk 7f98f13990 Send staff comments to Slack with all comments enabled (#3035)
When we set up a Slack channel, you can select to have
"All comments" sent to the slack channel. If we do this
we want staff comments to come through as well.

This wasn't happening before because there is a `staffCreated`
flag instead of `created` when a staff member comments.

So we change the trigger return type to an array, and when
a staff comment appears, return `staffCreated` as well as
`created` so the all filter lets it through.

I also changed `getBlocks(...)` to `getContent(...)` as it
now returns a JSON object with both a `blocks` array and a
`text` string field. This fixes the problem where Slack would
notifications would say "this content cannot be displayed".
Now it will say the text provided.

CORL-1172
2020-07-21 18:01:38 +00:00
Wyatt Johnson 5b589bfe2b [CORL-1180] Moderation + Editing Improvements (#3020)
* fix: handle moderating edited comments better

* fix: add back deleted audit trail entry

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-07-16 19:59:51 +00:00
Wyatt Johnson 4f5c0e285c [CORL-1192] Reduced Security Mode (#3027)
* feat: add support for disabling persisted query requirements

* fix: fixed type errors

* fix: rename flag

* fix: fixed logic around validation

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-07-16 19:34:16 +00:00
Tessa Thornton f26ab60398 [CORL-1185] translate error from iframe embeds (#3026)
* translate error from iframe embeds

* use transtlate function for iframe error message

* fix import order

* Fix typo in translation key

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-07-16 18:45:03 +00:00
Tessa Thornton e7f395190d [CORL-1183] Fix edit comment form (#3022)
* Fix edit comment form

* clean up editcomment stack for media attachments

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-07-16 18:29:05 +00:00
Wyatt Johnson d43fbe357a fix: add 'self' to the frame-ancestors directive (#3018) 2020-07-15 18:47:07 +00:00
Nick Funk 5c863f1307 [CORL-1155] Fix theming for rebranded stream/admin (#3012)
* Repair theming and CSS variables for the rebrand

This separates the CSS variables into three sections
for admin, stream, as well as a shared set between
them.

This also adds injection of the raw colours from the
design team into post css variables.

Lastly, this re-maps the existing theme variables to
a new consolidated set with fallbacks for compatibility.

Since this is a singular commit from various WIP commits,
I am crediting @cvle as well as myself for this work.

Thank you all who helped make this rebrand with theming
possible!

CORL-1155

Co-authored-by: Chi Vinh Le <vinh@vinh.tech>

* Convert old css variables in CallOut

* Rename postive/negative => success/error

CORL-1155

* Change some CSS Variable names

* fix TextField/PasswordField colors

Co-authored-by: Chi Vinh Le <vinh@vinh.tech>
2020-07-15 18:20:25 +00:00
Tessa Thornton d4cb9cde9b [CORL-1174] Set height on iframe embeds in moderate cards (#3017)
* set height on iframe embeds in moderate cards

* fix: removed stripTags from server code

Co-authored-by: Wyatt Johnson <me@wyattjoh.ca>
2020-07-15 14:58:24 +00:00
Tessa Thornton c59c345756 [CORL-1108] Media Embeds (#3010)
* Create Twitter and YouTube embed components

Uses the `/api/oembed` endpoint to proxy the
oembed requests that the embed components drop
into an iframe.

CORL-1012

* Create preliminary embed link parsing/storage

CORL-1012

* Create preliminary embed section on comments

CORL-1012

* Preliminarily add admin embed config options

CORL-1012

* Show a "missing" message when embed is unavailable

CORL-1012

* Simplify naming of embeds in schema

embedLinks -> embed

CORL-1012

* Rename oEmbedHandler to oembedHandler

CORL-1012

* add backend services for giphy

* search gifs on frontend

* display selected gif

* show gif previews

* display giphy attribution and no results text

* save a gif to a comment

* use embeds feature for gif embeds

* clean up gif/video/tweet display

* style and configure post comment form

* preview and confirm twitter and youtube embeds

* moderate embeds on server

* update reply and edit forms

* update snaps

* fix some of the tests

* fix tests and types

* fix tests

* fix types

* show gifs in moderate cards

* correctly attach embeds to comments

* make gif rating configurable

* make gif rating configurable

* configure giphy api key

* refactor comment form

* only allow embeds if settings enabled

* scale youtube

* resize embeds if necessary

* make tweets and videos responsive

* set maxwidth on tweet embeds

* update copy for embed config

* force gif search results to fit container

* prevent double posting of gifs

* undo hiding html if empmty because now it doesn't contain random break tags

* use downsampled preview images

* update fixtures and snapshots

* remove unused css

* add i18n string

* remove console logs

* Fix styles on logged-out comment form

* click to pause gif in moderation

* style youtube and twitter embeds in mod stream"

* use mp4s for stream gifs

* use mp4 for moderation gifs

* clean up commentform

* fix dom tests

* update rte

* import oembed module with correct casing

* bump rte

* add correct return type for setInterval

* add migration for embeds config

* catch errors from gif search

* return early from iframe container size calculation if width and height are set

* remove unused classnames

* make giphy api key protected

* reorganize tenant embed settings schema

* update schema on backend to support single comment embed instead of array

* move findEmbedLinks to common

* wrap error

* return function for linkify instead of ternary

* remove unused url param

* clean up oembed service

* remove conditional in repeat post check

* use joi to validate giphy responses

* fix types for embeds

* fix optimistic responses

* move attachEmbeds function

* update snapshots

* fix: improved repeatPost checking

* force case change on oembed

* force rename file name

* feat: Rename Embed -> Media

* fix: cleanup of service functions

* fix: moved types

* fix: fixed logic bug

* fix: fixed translation

* show embeds on history comments

* fix: fixed iframe csp and query param bug

* correct validation for twitter oembed

* feat: save youtube still

* fix: typeerror

* fix: fixed errors related to final form

* fix: fixed issue with types

* fix: added docs to the schema

* fix: linting + tests

Co-authored-by: nick-funk <nick.funk@outlook.com>
Co-authored-by: Wyatt Johnson <me@wyattjoh.ca>
2020-07-15 02:16:06 +00:00
Wyatt Johnson 7b2cdbad49 [CORL-1134] Site Moderators (#2995)
* feat: added server support for site moderators

* feat: added unscoped property to @auth directive

* feat: added frontend support for site moderator feature

* feat: added site moderator support to stream

* fix: linting

* fix: updated snapshots
2020-07-13 18:19:22 +00:00
Wyatt Johnson 00e074d49d fix: increased body size limit, added config option (#3011) 2020-07-09 22:02:01 +00:00
Vinh 2acc761a5d [CORL-1074] Upgrade dependencies (#2999)
* chore: upgrade eslint, typescript

* chore: upgrade deps

* chore: revert upgrade ts-node-dev

* chore: revert unneeded comments

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2020-06-26 22:38:52 +00:00
Wyatt Johnson 302613a185 Merge branch 'release/6.2' 2020-06-25 13:08:56 -06:00
Wyatt Johnson bf04b4c2a6 [CORL-1156] Q&A Feature Flag Fix (#3000)
* fix: fixed bug with feature flag handling

* chore: version bump
2020-06-25 18:59:03 +00:00
Wyatt Johnson f3ef9ef778 Replace nodemailer with emailjs (#2983)
* chore: replace nodemailer with emailjs

* fix: bumped version
2020-06-24 22:24:37 +00:00
dependabot[bot] d1ee7d39f3 chore(deps): bump apollo-server-express from 2.11.0 to 2.14.2 (#2977)
* chore(deps): bump apollo-server-express from 2.11.0 to 2.14.2

Bumps [apollo-server-express](https://github.com/apollographql/apollo-server) from 2.11.0 to 2.14.2.
- [Release notes](https://github.com/apollographql/apollo-server/releases)
- [Changelog](https://github.com/apollographql/apollo-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/apollographql/apollo-server/compare/apollo-server-express@2.11.0...apollo-server-express@2.14.2)

Signed-off-by: dependabot[bot] <support@github.com>

* fix: adapted for module upgrade

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Wyatt Johnson <me@wyattjoh.ca>
2020-06-16 14:59:09 +00:00
Nick Funk feaf4858df [CORL-1126] Run regex in a sandbox so it can time out (#2988)
* Run regex in a sandbox so it can time out

If it times out, we flag it and system withhold
it for future analysis.

CORL-1126

* Pass regex and test string into wordList sandbox

Allows us to use the pre-cached regex instead of
regenerating it via an in-line script copy.

CORL-1126

* feat: improve script reuse

* fix: renamed some functions

* fix: improve script performance

* feat: added testString to log output if it times out

* fix: fixed issue with form alert not showing

* fix: use a timeout from config

Co-authored-by: Wyatt Johnson <me@wyattjoh.ca>
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
2020-06-12 18:09:37 +00:00
Nick Funk ebe7731222 Stream Rebranding (#2926)
* [CORL-901] Rebrand comment actions and body (#2889)

* [ADR] Use Relay over Apollo (#2881)

* chore: ADR on Relay and Apollo

* chore: typo

* chore: add neg cons

* chore: add another pos

* chore: remove neg, because apollo needed an introspection query as a build step too..

* chore: fix number

* chore: deco

* chore: typo

* chore: clarification

Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>

* chore: bump 6.0.0 (#2891)

* fix: added more checks to migration (#2894)

* Update stream username to new branding variables

CORL-901

* Update badges/tags to use new v2 controls

CORL-901

* Update timestamps to use new branding stream side

CORL-901

* Update stream edit action to new branding

CORL-901

* Update comment html body to new branding

CORL-901

* Update comment action buttons to new branding

CORL-901

* Update responsive styles for action buttons

CORL-901

* Set comment link colors to new branding blue

CORL-901

* Add children prop on ButtonsBar to align with tests

CORL-901

* Make Reported button text bolded and vivid red

CORL-901

* Make reaction buttons stream blue when reacted

CORL-901

* Make user badges bold text

CORL-901

* Set margins on comment action buttons

CORL-901

* Set aria-labels on reaction buttons

Ensures that we always have a usable aria
even when the reaction button is just an icon.

CORL-901

* Set aria-label's on Reply and Share button's

CORL-901

* Update tests to match stream branding changes

CORL-901

* Update color of "Read More of this conversation"

CORL-901

Co-authored-by: Vinh <vinh@vinh.tech>
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>

* [CORL-942] In-Stream Mod rebranding (#2902)

* [ADR] Use Relay over Apollo (#2881)

* chore: ADR on Relay and Apollo

* chore: typo

* chore: add neg cons

* chore: add another pos

* chore: remove neg, because apollo needed an introspection query as a build step too..

* chore: fix number

* chore: deco

* chore: typo

* chore: clarification

Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>

* chore: bump 6.0.0 (#2891)

* fix: added more checks to migration (#2894)

* Update stream username to new branding variables

CORL-901

* Update badges/tags to use new v2 controls

CORL-901

* Update timestamps to use new branding stream side

CORL-901

* Update stream edit action to new branding

CORL-901

* Update comment html body to new branding

CORL-901

* Update comment action buttons to new branding

CORL-901

* Update responsive styles for action buttons

CORL-901

* Set comment link colors to new branding blue

CORL-901

* Add children prop on ButtonsBar to align with tests

CORL-901

* Make Reported button text bolded and vivid red

CORL-901

* Make reaction buttons stream blue when reacted

CORL-901

* Make user badges bold text

CORL-901

* Set margins on comment action buttons

CORL-901

* Set aria-labels on reaction buttons

Ensures that we always have a usable aria
even when the reaction button is just an icon.

CORL-901

* Set aria-label's on Reply and Share button's

CORL-901

* Update tests to match stream branding changes

CORL-901

* Update color of "Read More of this conversation"

CORL-901

* Update caret container to new branding

CORL-942

* Update moderation menu buttons to new branding

CORL-942

* Update in-stream ban popover to new branding

CORL-942

* Update reject tombstone to new branding

CORL-942

Co-authored-by: Vinh <vinh@vinh.tech>
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>

* [CORL-939] Rebrand RTE and reply (#2904)

* [ADR] Use Relay over Apollo (#2881)

* chore: ADR on Relay and Apollo

* chore: typo

* chore: add neg cons

* chore: add another pos

* chore: remove neg, because apollo needed an introspection query as a build step too..

* chore: fix number

* chore: deco

* chore: typo

* chore: clarification

Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>

* chore: bump 6.0.0 (#2891)

* fix: added more checks to migration (#2894)

* Update stream username to new branding variables

CORL-901

* Update badges/tags to use new v2 controls

CORL-901

* Update timestamps to use new branding stream side

CORL-901

* Update stream edit action to new branding

CORL-901

* Update comment html body to new branding

CORL-901

* Update comment action buttons to new branding

CORL-901

* Update responsive styles for action buttons

CORL-901

* Set comment link colors to new branding blue

CORL-901

* Add children prop on ButtonsBar to align with tests

CORL-901

* Make Reported button text bolded and vivid red

CORL-901

* Make reaction buttons stream blue when reacted

CORL-901

* Make user badges bold text

CORL-901

* Set margins on comment action buttons

CORL-901

* Set aria-labels on reaction buttons

Ensures that we always have a usable aria
even when the reaction button is just an icon.

CORL-901

* Set aria-label's on Reply and Share button's

CORL-901

* Update tests to match stream branding changes

CORL-901

* Update color of "Read More of this conversation"

CORL-901

* Update caret container to new branding

CORL-942

* Update moderation menu buttons to new branding

CORL-942

* Update in-stream ban popover to new branding

CORL-942

* Update reject tombstone to new branding

CORL-942

* Update replyTo and rte to new branding

CORL-939

Co-authored-by: Vinh <vinh@vinh.tech>
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>

* Update message box to new branding

CORL-981

* Update user profile comment history to new branding

CORL-983

* Update stream tabs to new branding

CORL-982

* Update my profile tab bar to new branding

CORL-902

* Update download comments to new branding

CORL-902

* The Lord of the Buttons: Return of the Buttons

* Update the notification settings area to new branding

CORL-984

* Update the ignored users area to new branding

CORL-984

* Update change username to new branding

CORL-984

* Fixing snaps after rebase

* Use label instead of div for InputLabel's

Root element is now a label so that axe
will stop complaining that it can't find
the 'for' id on the label elements.

CORL-984

* More spacing tweaks for change username

CORL-903

* Update change email address to new branding

CORL-984

* Update change password to new branding

CORL-984

* Flesh out colour styles for v3 buttons

CORL-984

* Preliminarily update delete account to new branding

CORL-984

* Ensure client CSS style compatibility

CORL-984

* Update delete flow to new branding

CORL-984

* Add client classes to the delete account modal

CORL-984

* Further tweaks to the delete account modal

Modal callouts updated to new branding.
Deletion request callout updated to new
branding.
Fixing up tests that somehow were passing
before?
Fixing some margins and spacing around
deletion section.

* Move the account deletion callout to top

Puts it at the top of the my profile tab
so that it's clearly visible you are
deleting your account.

CORL-998

* Add first-class icon and title support to callouts

CORL-969

* Bold checkbox text when checked

CORL-984

* Finalize v3 buttons to match spec

This should be the last major change to
v3 buttons as the spec seems to have
solidified.

CORL-969

* Add in new stream red to colours

Use it for the negative v3 callouts

CORL-969

* Touch up some spacing on delete account

CORL-984

* Create tombstone component

Use it for ignored and deleted account
tombstones instead of the old callout.

CORL-969

* Use new tombstones in comment stream

CORL-969

* Update banned callout to new branding

CORL-969

* Set callout body text to regular font weight

CORL-969

* Update suspended callout to new branding

CORL-969

* Update closed stream callouts to new branding

CORL-969

* Update in-moderation callouts to new branding

CORL-969

* Update stream validation message to v3

CORL-969

* Improve ignored commenter management

Show "you are no longer ignoring" a
commenter when you choose to no longer
ignore them.

CORL-457

* Prettier cleanup after rebase off master

Somehow this was missed, probably needed to
kill and reload VSCode before I committed the
rebase.

* Switch previous callouts to use icon and title

CORL-969

* Update configure checkboxes to new branding

CORL-903

* Update Config > Q&A to new branding

CORL-903

* Update Config > Open/Close Stream to new branding

CORL-903

* Add validation message to config stream checkboxes

CORL-903

* Remove double list handling for Pref>Ignored

CORL-969

* Show experimental tag beside Q&A config

CORL-1051

* Move live update setting to its own section

CORL-903

* Remove moderation link from config area

CORL-903

* De-capitalize all the labels in configure

CORL-903

* Update message box config to new branding

Also moves it to new location in config.

CORL-903

* Re-brand the sign in/out field on the stream

CORL-1042

* Update tests for add message flow

CORl-903

* Rebrand Sign In/Up modals

CORL-999

* Re-brand SSO sign in/up modals

CORL-999

* Re-brand stream sorting controls

CORL-1043

* Create new stream focused colorFromMeta variant

* Rebrand go to moderation buttons

CORL-799

* Rebrand stream moderation drop-down

CORL-799

* Rebrand the report comment flow

Expands the report comment dialogs under
the comment instead of as a popover.
Also adds in the new branding styles.

CORL-941

* Rebrand the main stream tab bar

CORL-799

* Add new abusive reporting options

CORL-1009

* Rebrand featured comments

CORL-968

* Rebrand the community guidelines

CORL-1041

* Rebrand the share button

CORL-940

* Update style names on buttons

marginSize -> paddingSize
textSize -> fontSize

* Rebrand single conversation view

CORL-904

* Make indented comments grey coloured

CORL-904

* Make indented comment borders thinner

CORL-904

* Tweak colours/margins on single conversation view

CORL-904

* Add show comment on single conversation tombstones

CORL-412

* Rebrand single conversation view title

CORL-904

* Add clean target to package.json

Allows us to direct call gulp clean easily.

* Rebrand client side not found page

CORL-1025

* Rebrand password reset flow

CORL-1025

* Rebrand unsubscribe from notifications flow

CORL-1025

* Rebrand email confirmation flow

CORL-1025

* Rebrand download comments flow

CORL-1025

* Fix up account tests after rebrand

CORL-1025

* Add COMMENT_REPORTED_ABUSIVE to moderate card fragment

* Rebrand user ignore flow

Somehow this slipped through the cracks, fixed
it up now

* [CORL 1010] Collapse comment threads (#2976)

* toggle open and closed comment + replies

* show username and date for collapsed comment

* toggle comments and replies open and closed

* keep collapsed state of comments in reply list

* style collapsed comment toggle

* add css class overrides

* style answered comments when collapsed

* adjust spacing on collapse button:

* add hover styles

* add aria labels and update snapshots

* Fix tests and snaps after rebase

* Make main stream tabs visible on mobile (iPhone 5)

* Remove double horizontal rule under My Comments

Horizontal rule wasn't conditionally showing
when we toggled ability to let users download
comments on and off.

* Add aria labelling to main stream tabs

Can now pass in a localization id to assign
aria-label/title to the tab.

* Add localization to account not found

* Update snapshots

Co-authored-by: Vinh <vinh@vinh.tech>
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
Co-authored-by: Tessa Thornton <tessathornton@gmail.com>
2020-06-12 09:23:28 -06:00
Tessa Thornton 8966dad344 [CORL-1016] Admin Dashboard (#2942)
* count things in redis

* add rest routes for daily comment totals

* add route for new commenters

* retrieve hourly totals for new commenters and comments

* add rate limiting

* add routes and components for dashboard

* add top stories component

* add activity charts

* clean up rest responses

* style dashboard components

* make dashboard site-aware

* change new commenters to new signups

* generate new signups by day chart

* update status pie chart

* update status pie chart

* allow site selection in dashboard

* cache daily signups

* count user bans in redis

* clean up route and method names

* clean up comment statuses chart and change from pie to bar

* fix package lock

* make daily counts time zone aware

* count rejected comments

* clean up today counts

* count comments from site

* store hourly keys in utc

* show daily user signups

* move siteID from params to query params

* add average line for daily comments chart

* make average comments count hourly

* show percent values for rejected comments

* style dashboard

* simplify dashboard rest routes

* style today totals and top stories

* style signup and comment activity chart

* add site selector to nav

* feat: redis/mongo refactor

* fix: some small tweaks

- Added comments to magic numbers
- Added errors for missing input
- Consolidated promise resolutions

* Revert "add site selector to nav"

This reverts commit 1c2b1dee34fb2742b04932079fd45f7f3de98418.

* show first site dashboard by default

* style dashboard site switcher

* updte snapshot

* add dashboard 118n keys

* udpate comment activiyt chart with legend and tooltip

* implement refresh button and loading states

* change colours of charts for today

* adjust today values spacing

* remove unused package

* don't pass redis into oauth strat

* remove unused package

* Revert "remove unused package"

This reverts commit 5b7c83a072604810ce7097865655e9ef8114d9e0.

* fix merge conflicts

* Fix icons bug on smaller screens

* resolve merge conflict

Co-authored-by: Wyatt Johnson <me@wyattjoh.ca>
2020-06-12 10:39:28 -04:00
Wyatt Johnson 4179306cd0 fix: fixed naming of config (#2980) 2020-06-12 05:22:23 +00:00
Wyatt Johnson 21cd47f6ed [CORL-1077] Rudderstack Integration (#2987)
* feat: added rudderstack support with events

- Added events for
  - Comment Moderated
  - Comment Created
  - Story Created
  - Comment Reaction Created
  - User Flagged Comment

* fix: added logging to event tracking
2020-06-11 22:10:52 +00:00
Nick Funk 2f03b788a4 [CORL-1121] Remove username validation when updated by admin (#2986)
* Use SSO validation for updateUserUsername

CORL-1121

* Remove validation on admin-only user rename

We don't need to validate the user-name as
only admin's will be using this mutator. If
they're updating things incorrectly, that's
up to them to manage with this flow.

CORL-1121
2020-06-10 19:36:56 -04:00
Wyatt Johnson eee909f05b feat: removed throng and cluster support (#2961) 2020-06-08 13:47:23 -06:00
Vinh 72e1b249b1 [CORL-1029] Better HTML Support (#2956)
* feat: Improve html handling, integrate new @coralproject/rte

* chore: refactor and add comments

* chore: remove obsolete line

* chore: rename `inputId` to `inputID`

* chore: upgrade @coralproject/rte

* fix: update snapshots

* chore: apply review suggestions

* fix: snapshot / tests

* fix: merge issues

* [CORL-1056] Configurable RTE (#2967)

* fix: merge issues

* feat: Configure RTE

* test: add tests

* chore: just a comment

* chore: remove unused translations
2020-06-08 13:24:38 -06:00
Wyatt Johnson ba08447d5e [CORL-1090] Sections Alpha (#2973)
* feat: added section filtering support

* fix: addressed issues around filtering sections

* fix: fixed issue with section filter
2020-06-04 13:32:04 +02:00