Merge pull request #6458 from LLK/hotfix/comment-reply-load-more

[Develop] Hotfix - Fix for comment reply regression
This commit is contained in:
Karishma Chadha 2022-01-12 15:33:19 -05:00 committed by GitHub
commit 1535c64249
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 5 deletions

View file

@ -2,7 +2,13 @@ const keyMirror = require('keymirror');
const mergeWith = require('lodash.mergewith');
const uniqBy = require('lodash.uniqby');
const COMMENT_LIMIT = 20;
// Number of replies to fetch at a time.
// The way this code is currently structured, it expects
// this number to be the same for project comment reply threads
// as well as studio comment reply threads.
// These could be decoupled in the future.
const REPLY_FETCH_LIMIT = 25;
module.exports.Status = keyMirror({
FETCHED: null,
@ -108,7 +114,7 @@ module.exports.commentsReducer = (state, action) => {
comments: state.comments.map(comment => {
if (action.replies[comment.id]) {
return Object.assign({}, comment, {
moreRepliesToLoad: action.replies[comment.id].length === COMMENT_LIMIT
moreRepliesToLoad: action.replies[comment.id].length === REPLY_FETCH_LIMIT
});
}
return comment;

View file

@ -4,6 +4,7 @@ const api = require('../lib/api');
const log = require('../lib/log');
const COMMENT_LIMIT = 20;
const REPLY_LIMIT = 25; // Number of replies to fetch at a time
const {
addNewComment,
@ -28,7 +29,7 @@ const getReplies = (projectId, commentIds, offset, ownerUsername, isAdmin, token
api({
uri: `${isAdmin ? '/admin' : `/users/${ownerUsername}`}/projects/${projectId}/comments/${parentId}/replies`,
authentication: token ? token : null,
params: {offset: offset || 0, limit: COMMENT_LIMIT}
params: {offset: offset || 0, limit: REPLY_LIMIT}
}, (err, body, res) => {
if (err) {
return callback(`Error fetching comment replies: ${err}`);

View file

@ -140,9 +140,9 @@ tap.test('setReplies', t => {
t.equal(state.comments[0].moreRepliesToLoad, false);
t.equal(state.comments[1].moreRepliesToLoad, false);
// Getting 20 (COMMENT_LIMIT) replies sets moreRepliesToLoad to true
// Getting 25 (REPLY_FETCH_LIMIT) replies sets moreRepliesToLoad to true
state = reducer(state, Comments.setReplies({
id3: (new Array(20)).map((_, i) => ({id: `id${i + 1}`}))
id3: (new Array(25)).map((_, i) => ({id: `id${i + 1}`}))
}));
t.equal(state.comments[0].moreRepliesToLoad, false);
t.equal(state.comments[1].moreRepliesToLoad, false);