From 1a0e37b38e4a27ced3661e563dde93c22216c593 Mon Sep 17 00:00:00 2001 From: Gabriel Chittolina Date: Tue, 12 May 2026 12:53:55 -0300 Subject: [PATCH] fix: toolbar serialization for stable rendering --- packages/template-builder/src/index.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/template-builder/src/index.tsx b/packages/template-builder/src/index.tsx index ea50dd8fdd..b265a51b93 100644 --- a/packages/template-builder/src/index.tsx +++ b/packages/template-builder/src/index.tsx @@ -103,7 +103,10 @@ const SuperDocTemplateBuilder = forwardRef resolveToolbar(toolbar), [toolbar]); + // Serialize so structurally-equal toolbar objects compare as equal across + // renders — otherwise a fresh inline `toolbar={{...}}` literal would + // recreate the SuperDoc instance every parent render. + const toolbarSettings = useMemo(() => resolveToolbar(toolbar), [JSON.stringify(toolbar)]); const stableTelemetry = useMemo( () => ({ enabled: telemetry?.enabled ?? true,