From 55a5163da66e6d30b23cfebe3f121d1a03a677db Mon Sep 17 00:00:00 2001 From: Guilhem Lemouel Date: Mon, 25 May 2026 16:46:22 +0200 Subject: [PATCH] fix(raw_apps): address PR review nits (drop debug log, timer/reorder/pane-setter, dev script restore) --- frontend/package.json | 2 +- .../components/raw_apps/RawAppEditor.svelte | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 62ef9115eb..e261363f6b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -3,7 +3,7 @@ "version": "1.705.0", "scripts": { "dev": "vite dev", - "dev:ui-builder": "mv static/ui_builder static/ui_builder.dev-disabled 2>/dev/null || true ; vite dev", + "dev:ui-builder": "mv static/ui_builder static/ui_builder.dev-disabled 2>/dev/null || true ; trap 'mv static/ui_builder.dev-disabled static/ui_builder 2>/dev/null || true' EXIT ; vite dev", "build": "vite build", "build:utils": "vite build --config sharedUtils/vite.sharedUtils.config.js", "preview": "vite preview", diff --git a/frontend/src/lib/components/raw_apps/RawAppEditor.svelte b/frontend/src/lib/components/raw_apps/RawAppEditor.svelte index 8bdde34e31..b68f60c4aa 100644 --- a/frontend/src/lib/components/raw_apps/RawAppEditor.svelte +++ b/frontend/src/lib/components/raw_apps/RawAppEditor.svelte @@ -197,7 +197,8 @@ let logsDiv: HTMLDivElement | undefined = $state(undefined) $effect(() => { if (logsDiv && logs && !logsCollapsed) { - setTimeout(() => logsDiv?.scrollTo(0, logsDiv.scrollHeight), 50) + const t = setTimeout(() => logsDiv?.scrollTo(0, logsDiv.scrollHeight), 50) + return () => clearTimeout(t) } }) @@ -370,12 +371,12 @@ } function reorderTabs(next: TabItem[]) { - // In split mode the right bar omits Preview from `next`; re-append it. - if (splitWithPreview && !next.some((t) => t.id === PREVIEW_TAB_ID)) { - tabs = [...next, previewTab] - } else { - tabs = next - } + // Rebuild from the reordered `next` plus any tabs that bar didn't show + // (e.g. files when the Preview-only right bar fires in split mode), with + // Preview kept pinned at the end — so a reorder can never drop a tab. + const seen = new Set(next.map((t) => t.id)) + const rest = tabs.filter((t) => !seen.has(t.id)) + tabs = [...next, ...rest].filter((t) => t.id !== PREVIEW_TAB_ID).concat(previewTab) } function toggleSplit() { @@ -1102,7 +1103,6 @@ } function handleSelectFile(path: string) { - console.log('event Select file:', path) // Adding the tab activates it; activateTab posts the selectFile message // to the UI Builder iframe and clears any selected runnable. const id = ensureFileTab(path) @@ -1469,7 +1469,7 @@ - paneBRightSize, () => {}} minSize={0}> + paneBRightSize, (v) => rememberPaneDrag(100 - v)} minSize={0}>