Performance Enhancements
- Throttle and batch subscription handling
- Preserve immutability and correctly detect when query data has changes (using custom optimizied version of
graphql-anywhere(https://github.com/cvle/graphql-anywhere/tree/optimized) - Pre-optimize GraphQL documents
- De-couple Apollo and Redux
- Move static routes outside the passport middleware
- Add more comment indexes
- Add settings cache to improve retrieval performance
- Expose the configuration option to disable index creation
- Move cookie/body parser middleware after static files/routes
Fixes
- Fix bugs with Close comments functionality and countdown timer
- Move 'Show All Comments' button for linked comments to a more prominent position
- Fix bug with Featured Comments tab tooltip not showing in Firefox
- Fix bugs with Sorting and Filtering on Stories page
- Revert change that was hiding the comment box for
pendingusers (incorrectly targeting users that have been flagged) - Remove Dashboard as we work on an improved version
- Fix styling issue that was cutting off the display of badges and timestamps on mobile
- Fix logic and behavior around reporting
- Change incorrect classname
${name}-popup-radio-labelto${name}-popup-textarea-label
Dev Support
- Provide context with a connectors object that can be used to access internal API's from Talk that we expose through this context style interface
- Fix bug with CLI tools that didn't remove actions/comments from deleted users
- Fix issues with the Job CLI
- Automatically clean/reap completed Jobs
- Make Stream Tabs extendable (#1163)
- New plugin slots:
embedStreamTabs,embedStreamTabsPrepend,embedStreamTabPanes,streamTabsPrepend - Adapted featured comments to use
streamTabsPrependinstead ofstreamTabs, the latter now appends the tabs - Fix bug: Stream tabs not supporting more than one predefined tabs
- New plugin slots:
- Rewrite/Refactor stream configure
- Make stream configure pluggable with new slot
streamSettings - The slot gets passed the parameters
updatePendinganderrors// Example use of `updatePending` toggleModeration = () => { // Uses the structure of https://github.com/kolodny/immutability-helper const updater = {moderation: {$set: this.props.settings.moderation === 'PRE' ? 'POST' : 'PRE'}}; this.props.updatePending({updater}); }; // Similarly `updatePending` accepts `errorUpdater` to update the `errors` object.
- The slot can define
root,asset, andsettingsfragments.// Example defining the `settings` fragment const withSettingsFragments = withFragments({ settings: gql` fragment CoralEmbedStream_MyPlugin_settings on Settings { moderation } `, });
- Export
StreamConfigurationtoplugin-api/beta/client/components - Make stream Configure accessible
- Port to GraphQL
- Automatically update Configure when stream closes
- Make stream configure pluggable with new slot