From 8663aa0cb51136c35c3aa4247b1534d8765107df Mon Sep 17 00:00:00 2001 From: Chi Vinh Le Date: Sat, 29 Apr 2017 01:02:11 +0700 Subject: [PATCH 1/2] Fix polling reply count --- .../src/containers/Stream.js | 38 ++++++------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/client/coral-embed-stream/src/containers/Stream.js b/client/coral-embed-stream/src/containers/Stream.js index 4415f5f94..49f234dab 100644 --- a/client/coral-embed-stream/src/containers/Stream.js +++ b/client/coral-embed-stream/src/containers/Stream.js @@ -19,24 +19,13 @@ const {showSignInDialog} = authActions; const {addNotification} = notificationActions; class StreamContainer extends React.Component { - getCounts = ({asset_id, limit, sort}) => { + getCounts = (variables) => { return this.props.data.fetchMore({ query: LOAD_COMMENT_COUNTS_QUERY, - variables: { - asset_id, - limit, - sort, - excludeIgnored: this.props.data.variables.excludeIgnored, - }, - updateQuery: (oldData, {fetchMoreResult:{asset}}) => { - return { - ...oldData, - asset: { - ...oldData.asset, - commentCount: asset.commentCount - } - }; - } + variables, + + // Apollo requires this, even though we don't use it... + updateQuery: data => data, }); }; @@ -122,12 +111,7 @@ class StreamContainer extends React.Component { this.props.data.refetch(); } this.countPoll = setInterval(() => { - const {asset} = this.props.root; - this.getCounts({ - asset_id: asset.id, - limit: asset.comments.length, - sort: 'REVERSE_CHRONOLOGICAL' - }); + this.getCounts(this.props.data.variables); }, NEW_COMMENT_COUNT_POLL_INTERVAL); } @@ -141,13 +125,13 @@ class StreamContainer extends React.Component { } const LOAD_COMMENT_COUNTS_QUERY = gql` - query LoadCommentCounts($asset_id: ID, $limit: Int = 5, $sort: SORT_ORDER) { - asset(id: $asset_id) { + query LoadCommentCounts($assetUrl: String, $assetId: ID, $excludeIgnored: Boolean) { + asset(id: $assetId, url: $assetUrl) { id - commentCount - comments(sort: $sort, limit: $limit) { + commentCount(excludeIgnored: $excludeIgnored) + comments(limit: 10) { id - replyCount + replyCount(excludeIgnored: $excludeIgnored) } } } From e486d485561233fd1baf2e36954067b6d1bb7d90 Mon Sep 17 00:00:00 2001 From: Chi Vinh Le Date: Sat, 29 Apr 2017 01:02:59 +0700 Subject: [PATCH 2/2] postComment should increase replyCount --- client/coral-framework/graphql/mutations/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/coral-framework/graphql/mutations/index.js b/client/coral-framework/graphql/mutations/index.js index eb0b5386a..b1ea57ae1 100644 --- a/client/coral-framework/graphql/mutations/index.js +++ b/client/coral-framework/graphql/mutations/index.js @@ -57,7 +57,7 @@ export const postComment = graphql(POST_COMMENT, { ...oldData.asset, comments: oldData.asset.comments.map((oldComment) => { return oldComment.id === parent_id - ? {...oldComment, replies: [...oldComment.replies, comment]} + ? {...oldComment, replies: [...oldComment.replies, comment], replyCount: oldComment.replyCount + 1} : oldComment; }) }