diff --git a/packages/frontend-2/lib/viewer/composables/ui.ts b/packages/frontend-2/lib/viewer/composables/ui.ts index 1bcc5132e..f4a30f622 100644 --- a/packages/frontend-2/lib/viewer/composables/ui.ts +++ b/packages/frontend-2/lib/viewer/composables/ui.ts @@ -262,7 +262,13 @@ export function useSelectionUtilities() { const addToSelectionFromObjectIds = (objectIds: string[]) => { const originalObjects = selectedObjects.value.slice() setSelectionFromObjectIds(objectIds) - selectedObjects.value = [...originalObjects, ...selectedObjects.value] + + // Filter out duplicates by checking if objects with the same ID already exist + const newObjects = selectedObjects.value.filter( + (newObj) => !originalObjects.some((existingObj) => existingObj.id === newObj.id) + ) + + selectedObjects.value = [...originalObjects, ...newObjects] } const removeFromSelectionObjectIds = (objectIds: string[]) => {