diff --git a/docs/_data/nav.yaml b/docs/_data/nav.yaml index 51b44f025..eeb7c2ebc 100644 --- a/docs/_data/nav.yaml +++ b/docs/_data/nav.yaml @@ -13,7 +13,21 @@ items: url: /configuration/ - title: Advanced Configuration url: /advanced-configuration/ + - title: Product Guide + children: + - title: How Talk Works + url: /how-talk-works/ + - title: Trust + url: /trust/ + - title: Toxic Comments + url: /toxic-comments/ - title: Plugins children: - title: Plugins Overview - url: /plugins/ \ No newline at end of file + url: /plugins/ + - title: Default Plugins + url: /default-plugins/ + - title: Additional Plugins + url: /additional-plugins/ + - title: Plugin Recipes + url: /plugin-recipes/ diff --git a/docs/_docs/installation-talk-quickstart.md b/docs/_docs/01-01-talk-quickstart.md similarity index 100% rename from docs/_docs/installation-talk-quickstart.md rename to docs/_docs/01-01-talk-quickstart.md diff --git a/docs/_docs/installation-from-docker.md b/docs/_docs/01-02-installation-from-docker.md similarity index 100% rename from docs/_docs/installation-from-docker.md rename to docs/_docs/01-02-installation-from-docker.md diff --git a/docs/_docs/installation-from-source.md b/docs/_docs/01-03-installation-from-source.md similarity index 100% rename from docs/_docs/installation-from-source.md rename to docs/_docs/01-03-installation-from-source.md diff --git a/docs/_docs/running-required-configuration.md b/docs/_docs/02-01-required-configuration.md similarity index 100% rename from docs/_docs/running-required-configuration.md rename to docs/_docs/02-01-required-configuration.md diff --git a/docs/_docs/running-advanced-configuration.md b/docs/_docs/02-02-advanced-configuration.md similarity index 100% rename from docs/_docs/running-advanced-configuration.md rename to docs/_docs/02-02-advanced-configuration.md diff --git a/docs/_docs/plugins-overview.md b/docs/_docs/03-01-plugins-overview.md similarity index 100% rename from docs/_docs/plugins-overview.md rename to docs/_docs/03-01-plugins-overview.md diff --git a/docs/_docs/03-02-default-plugins.md b/docs/_docs/03-02-default-plugins.md new file mode 100644 index 000000000..e43c03b16 --- /dev/null +++ b/docs/_docs/03-02-default-plugins.md @@ -0,0 +1,151 @@ +--- +title: Default Plugins +permalink: /default-plugins/ +class: configuration +--- + +The default Talk plugins can be found in the `plugins.default.json` file +[here](https://github.com/coralproject/talk/blob/master/plugins.default.json). + +Talk ships out of the box with these plugins enabled: + +{% include toc.html %} + +We ship [Additional Plugins]({{ "/additional-plugins/" | relative_url }}) with +Talk that are not enabled by default. You can enable these or disable these +default plugins by consulting the [Plugins Overview]({{ "/plugins/" | relative_url }}) +page. + +## talk-plugin-auth + +Source: [plugins/talk-plugin-auth](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-auth){:target="_blank"} + +Enables generic registration via an email address, a username, a password, and a +password confirmation. To sync Talk auth with your own auth systems, you can use +this plugin as a template. + +## talk-plugin-facebook-auth + +Source: [plugins/talk-plugin-auth](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-auth){:target="_blank"} + +Requires: [talk-plugin-facebook-auth](#talk-plugin-facebook-auth){:.param} + +Enables sign-in via Facebook via the server side passport middleware. + +### Configuration +{:.no_toc} + +- [TALK_FACEBOOK_APP_ID]({{ "/configuration/#talk_facebook_app_id" | relative_url }}){:.param} (**required**) - See the existing documentation for the [TALK_FACEBOOK_APP_ID]({{ "/configuration/#talk_facebook_app_id" | relative_url }}){:.param}. +- [TALK_FACEBOOK_APP_SECRET]({{ "/configuration/#talk_facebook_app_secret" | relative_url }}){:.param} (**required**) - See the existing documentation for the [TALK_FACEBOOK_APP_SECRET]({{ "/configuration/#talk_facebook_app_secret" | relative_url }}){:.param}. + +## talk-plugin-featured-comments + +Source: [plugins/talk-plugin-featured-comments](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-featured-comments){:target="_blank"} + +Enables the ability for Moderators to feature and un-feature comments via the +Stream and the Admin. Featured comments show in a first-place tab on the Stream +if there are any featured comments on that story. + +## talk-plugin-respect + +Source: [plugins/talk-plugin-respect](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-respect){:target="_blank"} + +Enables a `respect` reaction button. Why a "respect" button, you ask? +[Read more here](https://mediaengagement.org/research/engagement-buttons/). + +## talk-plugin-comment-content + +Source: [plugins/talk-plugin-comment-content](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-comment-content){:target="_blank"} + +Pluginizes the text of a comment to support custom treatment of this text. This +plugin currently parses the given text to see if it contains a link, and makes +them clickable. + +## talk-plugin-ignore-user + +Source: [plugins/talk-plugin-ignore-user](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-ignore-user){:target="_blank"} + +Enables ability for users to ignore (or "mute") other users. If a user is +ignored, you will not see any of their comments. You can un-ignore a user via +the My Profile tab. + +## talk-plugin-permalink + +Source: [plugins/talk-plugin-permalink](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-permalink){:target="_blank"} + +Enables a `Link` button that will provide a permalink to the comment that can be +shared with others. + +## talk-plugin-viewing-options + +Source: [plugins/talk-plugin-viewing-options](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-viewing-options){:target="_blank"} + +Pluginizes the sorting/viewing options for a comment stream. + +## talk-plugin-sort-newest + +Source: [plugins/talk-plugin-sort-newest](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-sort-newest){:target="_blank"} + +Requires: [talk-plugin-viewing-options](#talk-plugin-viewing-options){:.param} + +Provides a sort for the newest comments first. This isn't necessarily required +as the default sort without options/plugins is newest first. + +## talk-plugin-sort-oldest + +Source: [plugins/talk-plugin-sort-oldest](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-sort-oldest){:target="_blank"} + +Requires: [talk-plugin-viewing-options](#talk-plugin-viewing-options){:.param} + +Provides a sort for the newest comments first. + +## talk-plugin-most-respected + +Source: [plugins/talk-plugin-most-respected](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-most-respected){:target="_blank"} + +Requires: [talk-plugin-viewing-options](#talk-plugin-viewing-options){:.param}, [talk-plugin-respect](#talk-plugin-respect){:.param} + +Provides a sort for the comments with the most `respect` reactions first. + +## talk-plugin-most-replied + +Source: [plugins/talk-plugin-most-replied](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-most-replied){:target="_blank"} + +Requires: [talk-plugin-viewing-options](#talk-plugin-viewing-options){:.param} + +Provides a sort for the comments with the most replies first. + +## talk-plugin-offtopic + +Source: [plugins/talk-plugin-offtopic](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-offtopic){:target="_blank"} + +Allows the comment authors to tag their comment as `Off-Topic` which will add a +visible badge on the frontend to other users that their comment is off-topic. + +## talk-plugin-author-menu + +Source: [plugins/talk-plugin-author-menu](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-author-menu){:target="_blank"} + +Pluginizes the author's name on hover. + +## talk-plugin-member-since + +Source: [plugins/talk-plugin-member-since](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-member-since){:target="_blank"} + +Requires: [talk-plugin-author-menu](#talk-plugin-author-menu){:.param} + +Displays the date that the user was created as a `Member Since ${created_at}`. + +## talk-plugin-moderation-actions + +Source: [plugins/talk-plugin-moderation-actions](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-moderation-actions){:target="_blank"} + +Enables in-stream moderation so that Moderators can reject, approve comments, +as well as ban users, directly from the comment stream. When [talk-plugin-featured-comments](#talk-plugin-featured-comments){:.param} is enabled + +## talk-plugin-flag-details + +Source: [plugins/talk-plugin-flag-details](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-flag-details){:target="_blank"} + +Pluginizes the Flag Details area of comments in the Moderation Queues to display +data. Some basic details are already included on flags by default. \ No newline at end of file diff --git a/docs/_docs/03-03-additional-plugins.md b/docs/_docs/03-03-additional-plugins.md new file mode 100644 index 000000000..c04c023df --- /dev/null +++ b/docs/_docs/03-03-additional-plugins.md @@ -0,0 +1,106 @@ +--- +title: Additional Plugins +permalink: /additional-plugins/ +class: configuration +--- + +Talk ships with several plugins that aren't enabled by default: + +{% include toc.html %} + +These plugins can be enabled by consulting the +[Plugins Overview]({{ "/plugins/" | relative_url }}) page. + +## talk-plugin-like + +Source: [plugins/talk-plugin-like](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-like){:target="_blank"} + +Enables a `like` reaction button. + +## talk-plugin-sort-most-liked + +Source: [plugins/talk-plugin-sort-most-liked](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-sort-most-liked){:target="_blank"} + +Requires: [talk-plugin-viewing-options]({{ "/default-plugins/#talk-plugin-viewing-options" | relative_url }}){:.param}, [talk-plugin-like](#talk-plugin-like){:.param} + +Provides a sort for the comments with the most `like` reactions first. + +## talk-plugin-love + +Source: [plugins/talk-plugin-love](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-love){:target="_blank"} + +Enables a `love` reaction button. + +## talk-plugin-sort-most-loved + +Source: [plugins/talk-plugin-sort-most-loved](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-sort-most-loved){:target="_blank"} + +Requires: [talk-plugin-viewing-options]({{ "/default-plugins/#talk-plugin-viewing-options" | relative_url }}){:.param}, [talk-plugin-love](#talk-plugin-love){:.param} + +Provides a sort for the comments with the most `love` reactions first. + +## talk-plugin-remember-sort + +Source: [plugins/talk-plugin-remember-sort](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-remember-sort){:target="_blank"} + +Requires: [talk-plugin-viewing-options]({{ "/default-plugins/#talk-plugin-viewing-options" | relative_url }}){:.param} + +Enables saving a user’s last sort selection as they browse other articles. + +## talk-plugin-deep-reply-count + +Source: [plugins/talk-plugin-deep-reply-count](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-deep-reply-count){:target="_blank"} + +Enables counting of comments to include replies via a new graph edge. Not +recommended for large installations as it will unreasonably reduce the query +efficiency to compute this number. + +## talk-plugin-slack-notifications + +Source: [plugins/talk-plugin-slack-notifications](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-slack-notifications){:target="_blank"} + +Enables all new comments that are written to be posted to a Slack channel as +well. Configure an +[Incoming Webhook](https://api.slack.com/incoming-webhooks){:target="_blank"} +app and provide that url in the form of the `SLACK_WEBHOOK_URL` +detailed below. + +*Warning: On high volume sites, this means every single comment will flow into +Slack, if this isn't what you want, be sure to use the provided plugin as a +recipe to further customize the behavior*. + +### Configuration +{:.no_toc} + +- `SLACK_WEBHOOK_URL` (**required**) - The webhook url that will be + used to post new comments to. + +## talk-plugin-toxic-comments + +Source: [plugins/talk-plugin-toxic-comments](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-toxic-comments){:target="_blank"} + +Using the [Perspective API](http://perspectiveapi.com/){:target="_blank"}, this +plugin will warn users and reject comments that exceed the predefined toxicity +threshold. For more information on what Toxic Comments are, check out the +[Toxic Comments]({{ "/toxic-comments/" | relative_url }}) documentation. + +### Configuration +{:.no_toc} + +- `TALK_PERSPECTIVE_API_KEY` (**required**) - The API Key for Perspective. You + can register and get your own key at [http://perspectiveapi.com/](http://perspectiveapi.com/){:target="_blank"}. +- `TALK_TOXICITY_THRESHOLD` - If the comments toxicity exceeds this threshold, + the comment will be rejected. (Default `0.8`) +- `TALK_PERSPECTIVE_API_ENDPOINT` - API Endpoint for hitting the + perspective API. (Default `https://commentanalyzer.googleapis.com/v1alpha1`) +- `TALK_PERSPECTIVE_TIMEOUT` - The timeout for sending a comment to + be processed before it will skip the toxicity analysis, parsed by + [ms](https://www.npmjs.com/package/ms){:target="_blank"}. (Default `300ms`) + +## talk-plugin-subscriber + +Source: [plugins/talk-plugin-subscriber](https://github.com/coralproject/talk/tree/master/plugins/talk-plugin-subscriber){:target="_blank"} + +Enables a `Subscriber` badge to be added to comments where the author has the +`SUBSCRIBER` tag. This must match with a custom auth integration that adds the +tag to the users that are subscribed to the service. \ No newline at end of file diff --git a/docs/_docs/03-04-plugin-recipes.md b/docs/_docs/03-04-plugin-recipes.md new file mode 100644 index 000000000..019ff21e4 --- /dev/null +++ b/docs/_docs/03-04-plugin-recipes.md @@ -0,0 +1,50 @@ +--- +title: Plugin Recipes +permalink: /plugin-recipes/ +class: configuration +--- + +Plugin Recipes are plugin templates used to help bootstrap the development of a +plugin. Recipes are available at the +[coralproject/talk-recipes](https://github.com/coralproject/talk-recipes) repo. +When first developing a plugin with a recipe, you can simply visit the +aforementioned repository to find the desired recipe, and using the file +listings on the page, determine which files need to be modified to suit your +needs. + +The following are the available recipes for use: + +{% include toc.html %} + +## recipe-avatar + +Source: [talk-recipes/tree/master/plugins/avatar](https://github.com/coralproject/talk-recipes/tree/master/plugins/avatar){:target="_blank"} + +Provides support for avatars hosted via third party, extends the User Model and +provides UI on the client-side too. + + +## recipe-translations + +Source: [talk-recipes/tree/master/plugins/translations](https://github.com/coralproject/talk-recipes/tree/master/plugins/translations){:target="_blank"} + +Provides an example for overriding application text through the translation +system. + + +## recipe-subscriber + +Source: [talk-recipes/tree/master/plugins/subscriber](https://github.com/coralproject/talk-recipes/tree/master/plugins/subscriber){:target="_blank"} + +Provides an example for adding `SUBSCRIBER` badges for users with the +`SUBSCRIBER` tag added to their user model through a direct server plugin with +the auth system. + + +## recipe-author-name + +Source: [talk-recipes/tree/master/plugins/author-name](https://github.com/coralproject/talk-recipes/tree/master/plugins/author-name){:target="_blank"} + +Enables the ability to hover over a commenter’s name and add plugin +functionality there. The Member Since plugin that is provided in this recipe is +an example of this. diff --git a/docs/_docs/04-01-product-guide-how-talk-works.md b/docs/_docs/04-01-product-guide-how-talk-works.md new file mode 100644 index 000000000..01931872c --- /dev/null +++ b/docs/_docs/04-01-product-guide-how-talk-works.md @@ -0,0 +1,40 @@ +--- +title: How Talk Works +permalink: /how-talk-works/ +--- + +Talk is an open-source commenting platform. It has two pieces. One is the +embedded script, which allows newsrooms to have a unique comments section on +each story/post/page they have on their site, and allows their readers to +comment and discuss articles. The other is the Admin, which is where newsrooms +moderate their comments and manage and configure Talk. + +## Talk Core + +As we’re building Talk, our vision was always to have it be very modular, so +there are features we have built and are opinionated about, but we allow +newsrooms and their developers to customize Talk easily so that it fits their +use cases and needs. + +Talk Core is the core application of Talk - this contains all of the standard +commenting features that are necessary for a comment section, and ones that we +believe are important to be universal. If you would like to contribute to Talk, +be sure to check out our +[Contributor's Guide](https://github.com/coralproject/talk/blob/master/CONTRIBUTING.md){:target="_blank"}. + +## Plugins + +Plugins are additional functionality which are optional to use with Talk. You +can turn these on or off, depending on your specific needs. Plugins are either +part of our core plugins, which ship with Talk, or they are developed by 3rd +parties and either used privately and internally, or are open sourced for use +across the greater community. You can explore the plugins we offer by vising our [Default Plugins]({{ "/default-plugins/" | relative_url}}) +and [Additional Plugins]({{ "/additional-plugins/" | relative_url }}) pages. + +## Recipes + +Recipes are plugin templates that are created by the Talk team and 3rd party +developers, in order to help contributors and newsrooms build plugins easily. +You can explore the recipes we offer by vising our [Plugin Recipes]({{ "/plugin-recipes/" | relative_url}}) +page. + diff --git a/docs/_docs/04-02-product-guide-trust.md b/docs/_docs/04-02-product-guide-trust.md new file mode 100644 index 000000000..e0dd90182 --- /dev/null +++ b/docs/_docs/04-02-product-guide-trust.md @@ -0,0 +1,49 @@ +--- +title: Trust +permalink: /trust/ +--- + +Trust is a set of components within Talk that incorporate automated moderation +behaviors based on a user interactions. + +### User Karma Score + +Using Trust’s calculations, Talk will automatically pre-moderate comments of +users who have a negative karma score. All users start out with a `0` neutral +karma score. If they have a comment approved by a moderator, their score +increases by `1`; if they have a comment rejected by a moderator, it decreases +by `1`. When a commenter is labeled as Unreliable, their comments must be +moderated before they are posted. + +When a commenter has one comment rejected, their next comment must be moderated +once in order to post freely again. If they instead get rejected again, then +they must have two of their comments approved in order to get added back to the +queue. + +Here are the default thresholds: + +```text +-2 and lower: Unreliable +-1 to +2: Neutral ++3 and higher: Reliable +``` + +You can configure your own Trust thresholds by using [TRUST_THRESHOLD]({{"/advanced-configuration/#trust_thresholds" | relative_url }}{:.param} in your +configuration. + + +### Reliable and Unreliable Flaggers + +Trust also calculates how reliable users are in terms of the comments they +report. This information is displayed to moderators in the User History drawer, +which is accessed by clicking on a user’s name in the Admin. + +If a user's reports mostly match what moderators reject, their Report status +will display to moderators as Reliable in the user information drawer. If a +user's reports mostly differ from what moderators reject, their Report status +will show as Unreliable. + +If we don't have enough reports to make a call, or the reports even out, their +status is Neutral. + +Note: Report Karma doesn't include reports of "I don't agree with this comment". diff --git a/docs/_docs/04-03-product-guide-toxic-comments.md b/docs/_docs/04-03-product-guide-toxic-comments.md new file mode 100644 index 000000000..f3dd506ba --- /dev/null +++ b/docs/_docs/04-03-product-guide-toxic-comments.md @@ -0,0 +1,53 @@ +--- +title: Toxic Comments +permalink: /toxic-comments/ +--- + +Leveraging Google's Perspective API, you can now set a Toxicity Threshold for +Talk (0.8 or 80% is the default), which works like this: + +- If a comment exceeds the threshold, the commenter is warned that their comment + may be toxic, and are given the chance to modify their comment before posting +- If the revised comment is below the Toxicity Threshold, it is posted and + displayed normally +- If the revised comment still exceeds the Toxicity Threshold, it is not + displayed on the stream and instead is sent to the Reported queue for + moderation +- If the moderator accepts the comment, it's displayed on the stream; if it's + rejected, it will not be displayed +- Moderators see a Toxic Probability Score on toxic comments in the Moderation + queues + +Read more about Coral’s take on toxicity +[on our blog](https://blog.coralproject.net/toxic-avenging/){:target="_blank"}. + +To enable this behavior, visit the +[talk-plugin-toxic-comments]({{ "/additional-plugins/#talk-plugin-toxic-comments" | relative_url }}) +plugin documentation. + +## What is the Perspective API? + +The likely toxicity of a comment is evaluated using scores generated from +[Perspective API](http://perspectiveapi.com/){:target="_blank"}. This is part of +the [Conversation AI](https://conversationai.github.io/){:target="_blank"} +research effort run by Jigsaw (a section of Google that works on global problems +around speech and access to information). + +Perspective API uses machine learning, based on existing databases of +accepted/rejected comments, to guess the probability that a comment is abusive +and/or toxic. It is currently English only, but the system is designed to work +with multiple languages. + +In order to activate our plugin, each news organization applies for an API key +from Jigsaw (click “Request API access” on this site.) Sites can also work with +Jigsaw to create an individualized data set specifically trained on their own +comment history. + +Perspective API was released earlier this year, and is currently in alpha +(meaning that it is being continually refined and improved.) Jigsaw should +certainly be praised for devoting serious resources to this issue, and making +their work available for others, including us, to use. + +We’ve talked with their team on several occasions, and have been impressed by +their dedication and commitment to this issue. These are smart people who are +trying to improve a broken part of the internet. \ No newline at end of file diff --git a/docs/_layouts/doc.html b/docs/_layouts/doc.html index 0325ea9fe..53d49adf0 100644 --- a/docs/_layouts/doc.html +++ b/docs/_layouts/doc.html @@ -2,7 +2,7 @@ layout: default --- - Suggest Edits + Suggest Edits

{{ page.title }}


diff --git a/docs/_sass/talk.scss b/docs/_sass/talk.scss index f33cf09db..7597275c3 100644 --- a/docs/_sass/talk.scss +++ b/docs/_sass/talk.scss @@ -36,13 +36,17 @@ h2, h3, h4 { } } +.param { + font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + article.configuration { h2 { font-weight: bolder; } - h2, .toc, .param { - font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + h2, .toc { + @extend .param; } } @@ -260,6 +264,9 @@ pre { p a:not(.plain-link) { @extend .coral-link; } + ul:not(.toc__menu) li a { + @extend .coral-link; + } } } diff --git a/plugins.default.json b/plugins.default.json index a26a38c8e..e6d1b23cb 100644 --- a/plugins.default.json +++ b/plugins.default.json @@ -1,27 +1,27 @@ { "server": [ "talk-plugin-auth", - "talk-plugin-respect", - "talk-plugin-offtopic", "talk-plugin-facebook-auth", - "talk-plugin-featured-comments" + "talk-plugin-featured-comments", + "talk-plugin-offtopic", + "talk-plugin-respect" ], "client": [ - "talk-plugin-respect", "talk-plugin-auth", - "talk-plugin-offtopic", - "talk-plugin-viewing-options", + "talk-plugin-author-menu", "talk-plugin-comment-content", - "talk-plugin-permalink", "talk-plugin-featured-comments", + "talk-plugin-flag-details", + "talk-plugin-ignore-user", + "talk-plugin-member-since", + "talk-plugin-moderation-actions", + "talk-plugin-offtopic", + "talk-plugin-permalink", + "talk-plugin-respect", + "talk-plugin-sort-most-replied", + "talk-plugin-sort-most-respected", "talk-plugin-sort-newest", "talk-plugin-sort-oldest", - "talk-plugin-sort-most-respected", - "talk-plugin-sort-most-replied", - "talk-plugin-author-menu", - "talk-plugin-member-since", - "talk-plugin-ignore-user", - "talk-plugin-moderation-actions", - "talk-plugin-flag-details" + "talk-plugin-viewing-options" ] } diff --git a/plugins/talk-plugin-toxic-comments/package.json b/plugins/talk-plugin-toxic-comments/package.json index 848e6d948..f941e1b6c 100644 --- a/plugins/talk-plugin-toxic-comments/package.json +++ b/plugins/talk-plugin-toxic-comments/package.json @@ -5,5 +5,8 @@ "description": "Provides support for measuring the toxicity of user comments using the Perspectives API", "main": "index.js", "author": "The Coral Project Team ", - "license": "Apache-2.0" + "license": "Apache-2.0", + "dependencies": { + "ms": "^2.0.0" + } } diff --git a/plugins/talk-plugin-toxic-comments/server/config.js b/plugins/talk-plugin-toxic-comments/server/config.js index bc7ddf138..e60d56dd1 100644 --- a/plugins/talk-plugin-toxic-comments/server/config.js +++ b/plugins/talk-plugin-toxic-comments/server/config.js @@ -1,8 +1,10 @@ +const ms = require('ms'); + const config = { API_ENDPOINT: process.env.TALK_PERSPECTIVE_API_ENDPOINT || 'https://commentanalyzer.googleapis.com/v1alpha1', API_KEY: process.env.TALK_PERSPECTIVE_API_KEY, THRESHOLD: process.env.TALK_TOXICITY_THRESHOLD || 0.8, - API_TIMEOUT: process.env.TALK_PERSPECTIVE_TIMEOUT || 300, + API_TIMEOUT: ms(process.env.TALK_PERSPECTIVE_TIMEOUT || '300ms'), }; if (process.env.NODE_ENV !== 'test' && !config.API_KEY) { diff --git a/plugins/talk-plugin-toxic-comments/yarn.lock b/plugins/talk-plugin-toxic-comments/yarn.lock index fb57ccd13..f73f43463 100644 --- a/plugins/talk-plugin-toxic-comments/yarn.lock +++ b/plugins/talk-plugin-toxic-comments/yarn.lock @@ -2,3 +2,6 @@ # yarn lockfile v1 +ms@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"