From f126bf7993f589495788e4cede3289cb0bdd48dc Mon Sep 17 00:00:00 2001 From: hypercross Date: Sat, 8 Aug 2026 12:23:48 +0800 Subject: [PATCH] fix(web): dedupe tree keys and guard against circular JSON Key tree nodes by their index path instead of GUID, since TTS saves can contain duplicate GUIDs. Skip the Parent back-reference in the default viewer and stringify with a circular-reference guard. --- apps/web/src/components/ObjectTree.tsx | 13 ++++--- apps/web/src/components/viewers.tsx | 49 ++++++++++++++++++-------- 2 files changed, 44 insertions(+), 18 deletions(-) diff --git a/apps/web/src/components/ObjectTree.tsx b/apps/web/src/components/ObjectTree.tsx index 257ccff..9a66bc3 100644 --- a/apps/web/src/components/ObjectTree.tsx +++ b/apps/web/src/components/ObjectTree.tsx @@ -9,11 +9,12 @@ interface Props { export default function ObjectTree({ nodes, selectedGuid, onSelect }: Props) { return (