From f06eaa6b55728d580ddb8410aa93f96c352d872d Mon Sep 17 00:00:00 2001 From: Rishabh Gupta Date: Fri, 29 Aug 2025 14:49:52 +0530 Subject: [PATCH 1/2] fix: show only unresolved comments in unpinned mode --- .../src/components/collab-sidebar/index.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/editor/src/components/collab-sidebar/index.js b/packages/editor/src/components/collab-sidebar/index.js index dfece6c6f73190..42925e0d7dfec5 100644 --- a/packages/editor/src/components/collab-sidebar/index.js +++ b/packages/editor/src/components/collab-sidebar/index.js @@ -265,7 +265,7 @@ export default function CollabSidebar() { } ); // Process comments to build the tree structure - const { resultComments, sortedThreads } = useMemo( () => { + const { resultComments, unresolvedSortedThreads } = useMemo( () => { // Create a compare to store the references to all objects by id const compare = {}; const result = []; @@ -291,7 +291,7 @@ export default function CollabSidebar() { } ); if ( 0 === result?.length ) { - return { resultComments: [], sortedThreads: [] }; + return { resultComments: [], unresolvedSortedThreads: [] }; } const updatedResult = result.map( ( item ) => ( { @@ -305,11 +305,16 @@ export default function CollabSidebar() { updatedResult.map( ( thread ) => [ thread.id, thread ] ) ); - const sortedComments = blockCommentIds + // Get comments by block order, filter out undefined threads, and exclude resolved comments. + const unresolvedSortedComments = blockCommentIds .map( ( id ) => threadIdMap.get( id ) ) - .filter( ( thread ) => thread !== undefined ); + .filter( ( thread ) => thread !== undefined ) + .filter( ( thread ) => thread.status !== 'approved' ); - return { resultComments: updatedResult, sortedThreads: sortedComments }; + return { + resultComments: updatedResult, + unresolvedSortedThreads: unresolvedSortedComments, + }; }, [ threads, blocks ] ); // Get the global styles to set the background color of the sidebar. @@ -358,7 +363,7 @@ export default function CollabSidebar() { headerClassName="editor-collab-sidebar__header" > Date: Sun, 7 Sep 2025 11:01:34 +0530 Subject: [PATCH 2/2] refactor: combine filter conditions to avoid double iteration --- packages/editor/src/components/collab-sidebar/index.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/editor/src/components/collab-sidebar/index.js b/packages/editor/src/components/collab-sidebar/index.js index 42925e0d7dfec5..29649804386666 100644 --- a/packages/editor/src/components/collab-sidebar/index.js +++ b/packages/editor/src/components/collab-sidebar/index.js @@ -308,8 +308,10 @@ export default function CollabSidebar() { // Get comments by block order, filter out undefined threads, and exclude resolved comments. const unresolvedSortedComments = blockCommentIds .map( ( id ) => threadIdMap.get( id ) ) - .filter( ( thread ) => thread !== undefined ) - .filter( ( thread ) => thread.status !== 'approved' ); + .filter( + ( thread ) => + thread !== undefined && thread.status !== 'approved' + ); return { resultComments: updatedResult,