Code Monkey home page Code Monkey logo

talk's Introduction

Talk CircleCI

Online comments are broken. Our open-source Talk tool rethinks how moderation, comment display, and conversation function, creating the opportunity for safer, smarter discussions around your work. Read more about Talk here.

Third party licenses are available via the /client/3rdpartylicenses.txt endpoint when the server is running with built assets.

Contributing to Talk

See our Contribution Guide.

Documentation

General

See our Talk Documentation & Guides.

Plugins

See our guide to using and building Talk Plugins.

Recipes

Recipes are plugin templates provided by the Coral Core team. Developers can use these recipes to build their own plugins. You can find all the Talk recipes here: https://github.com/coralproject/talk-recipes/

Usage

Installation

To set up a development environment or build from source, see INSTALL.md.

To launch a Talk server of your own from your browser without any need to muck about in a terminal or think about engineering concepts, stay tuned. We will launch our installer shortly!

Configuration

The Talk application looks for the following configuration values either as environment variables:

  • TALK_MONGO_URL (required) - the database connection string for the MongoDB database.
  • TALK_REDIS_URL (required) - the database connection string for the Redis database.
  • TALK_ROOT_URL (required) - root url of the installed application externally available in the format: <scheme>://<host> without the path.
  • TALK_JWT_SECRET (required) - a long and cryptographical secure random string which will be used to sign and verify tokens via a HS256 algorithm.
  • TALK_JWT_EXPIRY (optional) - the expiry duration (exp) for the tokens issued for logged in sessions (Default 1 day)
  • TALK_JWT_ISSUER (optional) - the issuer (iss) claim for login JWT tokens (Default process.env.TALK_ROOT_URL)
  • TALK_JWT_AUDIENCE (optional) - the audience (aud) claim for login JWT tokens (Default talk)
  • TALK_SMTP_EMAIL (required for email) - the address to send emails from using the SMTP provider.
  • TALK_SMTP_USERNAME (required for email) - username of the SMTP provider you are using.
  • TALK_SMTP_PASSWORD (required for email) - password for the SMTP provider you are using.
  • TALK_SMTP_HOST (required for email) - SMTP host url with format smtp.domain.com.
  • TALK_SMTP_PORT (required for email) - SMTP port.
  • TALK_INSTALL_LOCK (optional for dynamic setup) - When TRUE, disables the dynamic setup endpoint. (Default FALSE)
  • TALK_RECAPTCHA_SECRET (required for reCAPTCHA support) - server secret used for enabling reCAPTCHA powered logins. If not provided it will instead default to providing only a time based lockout.
  • TALK_RECAPTCHA_PUBLIC (required for reCAPTCHA support) - client secret used for enabling reCAPTCHA powered logins. If not provided it will instead default to providing only a time based lockout.
  • TALK_PLUGINS_JSON (optional) - used to specify the plugin config via the environment
  • TALK_KEEP_ALIVE (optional) - The keepalive timeout that should be used to send keep alive messages through the websocket to keep the socket alive. (Default 30s)
  • TALK_DISABLE_AUTOFLAG_SUSPECT_WORDS (optional) When TRUE, disables flagging of comments that match the suspect word filter. (Default FALSE)

Refer to the wiki page on Configuration Loading for alternative methods of loading configuration during development.

Running Migrations

We have a migration tool that can be run using bin/cli migration run. This will detect new migrations available and prompt you to backup your database before proceeding with the migration. Migrations are required with major version releases.

Using Trust

Talk ships with core components we call "Trust". This allows Talk to automate certain actions based on previous user behavior.

Our first feature is the notion of Karma. Talk will automatically pre-moderate comments of users who have a negative karma score. You can see more how karma works here.

Supported Browsers

Web

  • Chrome: latest 2 versions
  • Firefox: latest 2 versions, and most recent extended support version, if any
  • Safari: latest 2 versions
  • Internet Explorer: IE Edge, 11

iOS Devices

  • iPad
  • iPad Pro
  • iPhone 7 Plus
  • iPhone 7
  • iPhone 6 Plus
  • iPhone 6
  • iPhone 5

iOS Browsers

  • Chrome for iOS: latest version
  • Firefox for iOS: latest version
  • Safari for iOS: latest version

Android Devices

  • Galaxy S5
  • Nexus 5X
  • Nexus 6P

Android Browsers

  • Chrome for Android: latest version
  • Firefox for Android: latest version

License

Copyright 2017 Mozilla Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and limitations under the License.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.