Skip to content

Commit ec27d50

Browse files
[Manager] Fix selection state race condition during pack data merge (#4165)
1 parent 693e156 commit ec27d50

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/components/dialog/content/manager/ManagerDialogContent.vue

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,13 @@ whenever(selectedNodePack, async () => {
430430
if (data?.id === pack.id) {
431431
lastFetchedPackId.value = pack.id
432432
const mergedPack = merge({}, pack, data)
433-
selectedNodePacks.value = [mergedPack]
433+
// Update the pack in current selection without changing selection state
434+
const packIndex = selectedNodePacks.value.findIndex(
435+
(p) => p.id === mergedPack.id
436+
)
437+
if (packIndex !== -1) {
438+
selectedNodePacks.value.splice(packIndex, 1, mergedPack)
439+
}
434440
// Replace pack in displayPacks so that children receive a fresh prop reference
435441
const idx = displayPacks.value.findIndex((p) => p.id === mergedPack.id)
436442
if (idx !== -1) {

0 commit comments

Comments
 (0)