Features
-
Introducing Email Notifications! ⏰
- You can enable core notifications support via
talk-plugin-notifications(server & client) - Commenters can manage their email notification settings within the Settings Tab on their My Profile
- Commenters will need to verify their email to receive notifications
- Supports SMTP email notification sending & ability to override this if you are using an ESP
- Supports ability to override email templates
- Learn more about How to Setup Email Notifications
- Read Docs and Advanced Configuration
- Notification Categories available:
talk-plugin-notifications-category-reply: Sends a notification if a commenter receives a reply to their commenttalk-plugin-notifications-category-staff-reply: Sends a notification if a commenter receives a reply from a staff membertalk-plugin-notifications-category-featured: Sends a notification if a commenter's comment is featured
- Notification Digests available:
talk-plugin-notifications-digest-hourly: Digests notifications by the hourtalk-plugin-notifications-digest-daily: Digests notifications by the day
- You can enable core notifications support via
-
Introducing Rich Text support for comments! ⌨️
- You can enable rich text support via this plugin:
talk-plugin-rich-text(client & server)
- Supports Bold, Italic, and Blockquote
- Supports both stream-side comments and comments displayed in the Admin
- Ref: #1460
- You can enable rich text support via this plugin:
Plugin Support 🔌
- Introducing Plugin Debug! 🐛
-
plugin_configchanged toplugins_config(both are still supported,plugin_configis marked as deprecated) -
Passing
debug:trueto theplugins_confighighlights the slots and when you hover over them you get a tooltip with the name of the slot. This is a simple, interactive and helpful tool to see which slots are available.plugins_config: { debug: true }
-
We've also enabled this in our beta version of Coral DevTools Browser Extension ⚙️
-
- Adds
slotSizesupport for Slots; now you can dictate how many plugins are acceptable for a Plugin Slot and the preference will be dictated by their ordering inplugins.json(ref: #1402)
Dev Support
- Introduces Yarn Workspaces to reduce package size and simplify plugin flow
- postMessageAPI:
- Replaces the
localStorageevents edition of syncing the access tokens with the Window.postMessage API - Allows Talk to work flawlessly when 3rd party cookies are disabled/blocked by using cross origin safe communication means
- Also patches the storage service to use
sessionStorageiflocalStorageis not accessible (like when 3rd party cookies are blocked)
- Replaces the
- Quieter logs on production mode (ref: #1395)
- Adds pre-commit linting (ref: #1400)
- Adds a
metadataobject to theSettingmodel, we can leverage all current Plugins hooks to let plugin authors have their own configurations for plugins in the administration dashboard (you know, that place with the other<ConfigureCard>s) (ref: #1403) - Adds support for CircleCI 2.0 (ref: #1407)
- Improvements to asset scraping (ref: #1425,
- Restores the userCreated event (NOTE: External plugins utilizing the Users service's user create methods must adjust their call signatures to pass in the context) (ref: #1441)
- Uses asset.url as a fallback when asset.title is missing (ref: #1442)
- Improvements to Slots and GraphQL framework (ref: #1446)
- CSS loading enhancements:
- React CSS styling is now extracted into
bundle.cssand included before Custom CSS which solves priority issues with CSS overwrites - Removes
hard-sourcewebpack plugin as we ran into cache issues - Cachse
babel-loaderinstead branch wide in the CI - Webpack output files now include a hash in the filename, which helps dealing with cache issues with an exception for
embed.js resolvemethod is now available in templates, helping to resolve an unhashed filename to the correct one.
- React CSS styling is now extracted into
Documentation
- Lots of new and enhanced docs! 📚
- We now have a Talk Plugin Directory!
- Tons of FAQ's explaining how to customize and integrate with Talk, including a Guide to Building your own Auth Plugin and a Guide to Integrating your CMS and Managing Assets with Talk
- Guide to Build a Basic Plugin
- Guide of What to do once you've installed Talk
- Improved API docs covering our Plugin APIs for both Server and Client, and our GraphQL API, including a GraphQL Guide for Talk
- Moved Docs from Jekyll to Hexo; now to run the docs locally:
- Run
yarn startin thedocsfolder, - Visit http://localhost:4000
- Run
CLI
- By popular demand, restores
bin/cli users createto our CLI tools - Ability to disable jobs via the CLI:
- You can now run application with
./bin/cli serve --disabled-jobs maileroryarn start --disabled-jobs mailerto disable the jobs listed (you may specify more than one using a comma to separate them like:yarn start --disabled-jobs mailer,scraper)
- You can now run application with
Translations
- Talk now supports Arabic! (thank you to @memz)
Fixes & Enhancements
- Show banning and suspension time in days and hours
- Made User Info tooltip in Admin > User History more readable
- Moved Ignored Users to new Settings Tab on My Profile
- Blank states for Ignored Users and Comment History in My Profile
- Improvements to Admin > User History > Account History tab
- Purges
config.auth_tokenfrom redux on logout (fixes: #1393) - Better styling for permalinked comment (ref: #1406)
- Adds a username collision test for new external users. Currently if there is already a user of the format _, no one with the same name will be able to sign up using an external SSO like Facebook or Google. This patch checks for collisions, and if found, adds a random number to the end of the username.
- Fixes a bug when a user tries to logout without having an authenticated request
- Fixes bug with password reset