diff --git a/src/elements/content-sidebar/activity-feed-v2/ActivityFeedV2.tsx b/src/elements/content-sidebar/activity-feed-v2/ActivityFeedV2.tsx index 9fb1a5a516..7ed9e1b5ac 100644 --- a/src/elements/content-sidebar/activity-feed-v2/ActivityFeedV2.tsx +++ b/src/elements/content-sidebar/activity-feed-v2/ActivityFeedV2.tsx @@ -214,7 +214,7 @@ const ActivityFeedV2 = ({ }, [currentUserId, feedItems]); const filteredItems = React.useMemo(() => { - return transformedItems.filter(item => { + const filtered = transformedItems.filter(item => { if ((item.type === 'comment' || item.type === 'annotation') && item.isResolved && !showResolved) { return false; } @@ -240,6 +240,11 @@ const ActivityFeedV2 = ({ } return true; }); + const filtersDroppedItems = filtered.length < transformedItems.length; + if (!filtersDroppedItems && filtered.every(item => item.type === 'version')) { + return []; + } + return filtered; }, [currentUserId, showOnlyMentionsMe, showResolved, transformedItems]); React.useEffect(() => { diff --git a/src/elements/content-sidebar/activity-feed-v2/__tests__/ActivityFeedV2.test.tsx b/src/elements/content-sidebar/activity-feed-v2/__tests__/ActivityFeedV2.test.tsx index 9b697a98f8..9b77f8e5fd 100644 --- a/src/elements/content-sidebar/activity-feed-v2/__tests__/ActivityFeedV2.test.tsx +++ b/src/elements/content-sidebar/activity-feed-v2/__tests__/ActivityFeedV2.test.tsx @@ -223,7 +223,18 @@ describe('elements/content-sidebar/activity-feed-v2/ActivityFeedV2', () => { expect(screen.getByTestId('task-task-1')).toBeVisible(); }); - test('should render version feed items', () => { + test('should render version feed items alongside other items', () => { + render( + , + ); + + expect(screen.getByTestId('version-version-1')).toBeVisible(); + }); + + test('should suppress version-only feeds so the empty state can render', () => { render( { />, ); + expect(screen.queryByTestId('version-version-1')).not.toBeInTheDocument(); + expect(screen.getByTestId('activity-feed-list').children).toHaveLength(0); + }); + + test('should keep version rows when filters dropped other items', () => { + const resolvedComment = { ...mockComment, id: 'resolved-1', status: 'resolved' }; + render( + , + ); + + expect(screen.queryByTestId('threaded-annotation-resolved-1')).not.toBeInTheDocument(); expect(screen.getByTestId('version-version-1')).toBeVisible(); });