From 8f8c3958580ef934c52f592a3364eb953f042e61 Mon Sep 17 00:00:00 2001 From: yctimlin Date: Sat, 18 Oct 2025 22:59:31 +0800 Subject: [PATCH] Fix group_elements to append instead of replace groups --- src/index.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 2dbba34..fb8dcb6 100644 --- a/src/index.ts +++ b/src/index.ts @@ -669,8 +669,12 @@ server.setRequestHandler(CallToolRequestSchema, async (request: CallToolRequest) sceneState.groups.set(groupId, elementIds); // Update elements on canvas with proper error handling + // Fetch existing groups and append new groupId to preserve multi-group membership const updatePromises = elementIds.map(async (id) => { - return await updateElementOnCanvas({ id, groupIds: [groupId] }); + const element = await getElementFromCanvas(id); + const existingGroups = element?.groupIds || []; + const updatedGroupIds = [...existingGroups, groupId]; + return await updateElementOnCanvas({ id, groupIds: updatedGroupIds }); }); const results = await Promise.all(updatePromises);