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();
});