From f52a02469dcee3d571a18591b3fdbce7ed1bdea2 Mon Sep 17 00:00:00 2001 From: Diego Imbert Date: Fri, 27 Feb 2026 17:50:06 +0100 Subject: [PATCH] refactor: add untrack() to fix state_referenced_locally warnings Co-Authored-By: Claude Opus 4.6 --- ...AppConnectLightweightResourcePicker.svelte | 6 ++-- frontend/src/lib/components/AppWrapper.svelte | 3 +- .../src/lib/components/CustomPopover.svelte | 5 +-- .../src/lib/components/DBTableEditor.svelte | 11 +++--- frontend/src/lib/components/Dev.svelte | 15 ++++---- .../lib/components/DropdownSubmenuItem.svelte | 3 +- frontend/src/lib/components/DropdownV2.svelte | 2 +- .../src/lib/components/DynamicInput.svelte | 4 +-- .../lib/components/EditableSchemaForm.svelte | 6 ++-- frontend/src/lib/components/Editor.svelte | 8 ++--- .../components/FakeMonacoPlaceHolder.svelte | 3 +- .../src/lib/components/FlowBuilder.svelte | 36 +++++++++---------- .../components/FlowLogViewerWrapper.svelte | 4 +-- .../lib/components/FlowStatusViewer.svelte | 12 +++---- .../components/FlowStatusViewerInner.svelte | 6 ++-- frontend/src/lib/components/FlowViewer.svelte | 10 ++++-- .../src/lib/components/FlowWrapper.svelte | 7 ++-- .../src/lib/components/IdEditorInput.svelte | 3 +- frontend/src/lib/components/JobLoader.svelte | 2 +- .../lib/components/LogSnippetViewer.svelte | 3 +- frontend/src/lib/components/LogViewer.svelte | 3 +- .../src/lib/components/ManualPopover.svelte | 3 +- frontend/src/lib/components/ModuleTest.svelte | 6 ++-- frontend/src/lib/components/Popover.svelte | 4 +-- .../src/lib/components/PrefixedInput.svelte | 3 +- .../lib/components/RepositorySelector.svelte | 3 +- .../src/lib/components/ResourceEditor.svelte | 2 +- .../src/lib/components/ResourcePicker.svelte | 2 +- frontend/src/lib/components/RunsPage.svelte | 4 +-- .../components/SavedInputsPickerViewer.svelte | 5 +-- .../src/lib/components/ScriptBuilder.svelte | 20 +++++------ .../src/lib/components/ScriptEditor.svelte | 2 +- .../src/lib/components/ScriptPicker.svelte | 2 +- .../src/lib/components/ScriptWrapper.svelte | 3 +- .../src/lib/components/SearchItems.svelte | 2 +- .../src/lib/components/SimpleEditor.svelte | 2 +- .../lib/components/StringTypeNarrowing.svelte | 3 +- frontend/src/lib/components/Subsection.svelte | 3 +- .../src/lib/components/TemplateEditor.svelte | 2 +- frontend/src/lib/components/Toast.svelte | 4 +-- frontend/src/lib/components/Toggle.svelte | 4 +-- .../apps/components/GroupWrapper.svelte | 4 +-- .../apps/components/buttons/AppButton.svelte | 10 +++--- .../apps/components/buttons/AppForm.svelte | 10 +++--- .../components/buttons/AppFormButton.svelte | 10 +++--- .../components/buttons/AppSchemaForm.svelte | 8 ++--- .../display/AppAccordionList.svelte | 8 ++--- .../apps/components/display/AppAlert.svelte | 8 ++--- .../components/display/AppBarChart.svelte | 8 ++--- .../components/display/AppCarouselList.svelte | 10 +++--- .../apps/components/display/AppChartJs.svelte | 8 ++--- .../components/display/AppChartJsV2.svelte | 8 ++--- .../apps/components/display/AppChat.svelte | 10 +++--- .../display/AppCustomComponent.svelte | 6 ++-- .../display/AppDisplayComponent.svelte | 10 +++--- .../display/AppDisplayComponentByJobId.svelte | 6 ++-- .../components/display/AppDownload.svelte | 6 ++-- .../apps/components/display/AppHtml.svelte | 6 ++-- .../apps/components/display/AppIcon.svelte | 8 ++--- .../apps/components/display/AppImage.svelte | 8 ++--- .../display/AppJobIdFlowStatus.svelte | 8 ++--- .../display/AppJobIdLogComponent.svelte | 6 ++-- .../display/AppJobProgressBar.svelte | 6 ++-- .../apps/components/display/AppMap.svelte | 8 ++--- .../components/display/AppMarkdown.svelte | 8 ++--- .../apps/components/display/AppMenu.svelte | 6 ++-- .../apps/components/display/AppNavbar.svelte | 8 ++--- .../apps/components/display/AppPdf.svelte | 6 ++-- .../components/display/AppPieChart.svelte | 6 ++-- .../components/display/AppRecomputeAll.svelte | 6 ++-- .../components/display/AppScatterChart.svelte | 6 ++-- .../components/display/AppStatCard.svelte | 6 ++-- .../apps/components/display/AppText.svelte | 25 +++++++------ .../components/display/AppTimeseries.svelte | 6 ++-- .../apps/components/display/PlotlyHtml.svelte | 4 +-- .../components/display/PlotlyHtmlV2.svelte | 4 +-- .../display/ResolveNavbarItemPath.svelte | 3 +- .../components/display/VegaLiteHtml.svelte | 4 +-- .../display/charts/AppAgCharts.svelte | 6 ++-- .../display/dbtable/AppDbExplorer.svelte | 4 +-- .../display/dbtable/DbExplorerCount.svelte | 6 ++-- .../display/dbtable/DeleteRow.svelte | 4 +-- .../display/dbtable/InsertRowRunnable.svelte | 4 +-- .../display/dbtable/UpdateCell.svelte | 4 +-- .../table/AppAggridExplorerTable.svelte | 6 ++-- .../table/AppAggridInfiniteTable.svelte | 6 ++-- .../display/table/AppAggridTable.svelte | 6 ++-- .../table/AppAggridTableActions.svelte | 6 ++-- .../components/display/table/AppTable.svelte | 8 ++--- .../components/helpers/HiddenComponent.svelte | 4 +-- .../apps/components/helpers/InputValue.svelte | 8 ++--- .../helpers/RunnableComponent.svelte | 4 +-- .../components/helpers/RunnableWrapper.svelte | 4 +-- .../apps/components/inputs/AppCheckbox.svelte | 12 +++---- .../inputs/AppCodeInputComponent.svelte | 10 +++--- .../components/inputs/AppDateInput.svelte | 8 ++--- .../components/inputs/AppDateSelect.svelte | 8 ++--- .../inputs/AppDateSliderInput.svelte | 8 ++--- .../components/inputs/AppDateTimeInput.svelte | 8 ++--- .../components/inputs/AppFileInput.svelte | 8 ++--- .../components/inputs/AppMultiSelectV2.svelte | 8 ++--- .../components/inputs/AppNumberInput.svelte | 8 ++--- .../components/inputs/AppQuillEditor.svelte | 4 +-- .../components/inputs/AppRangeInput.svelte | 8 ++--- .../components/inputs/AppS3FileInput.svelte | 8 ++--- .../apps/components/inputs/AppSelect.svelte | 14 ++++---- .../components/inputs/AppSelectStep.svelte | 8 ++--- .../components/inputs/AppSelectTab.svelte | 8 ++--- .../components/inputs/AppSliderInputs.svelte | 8 ++--- .../components/inputs/AppTextInput.svelte | 8 ++--- .../components/inputs/AppTimeInput.svelte | 8 ++--- .../components/inputs/AppUserResource.svelte | 8 ++--- .../inputs/currency/AppCurrencyInput.svelte | 8 ++--- .../inputs/currency/CurrencyInput.svelte | 2 +- .../layout/AppConditionalWrapper.svelte | 10 +++--- .../components/layout/AppContainer.svelte | 6 ++-- .../components/layout/AppDecisionTree.svelte | 10 +++--- .../apps/components/layout/AppDivider.svelte | 6 ++-- .../apps/components/layout/AppDrawer.svelte | 12 +++---- .../apps/components/layout/AppList.svelte | 10 +++--- .../apps/components/layout/AppModal.svelte | 12 +++---- .../components/layout/AppSplitpanes.svelte | 12 +++---- .../apps/components/layout/AppStepper.svelte | 12 +++---- .../apps/components/layout/AppTabs.svelte | 16 ++++----- .../apps/components/layout/ListWrapper.svelte | 4 +-- .../apps/components/layout/RowWrapper.svelte | 4 +-- .../components/apps/editor/AppEditor.svelte | 16 ++++----- .../apps/editor/AppEditorHeader.svelte | 2 +- .../components/apps/editor/AppPreview.svelte | 32 ++++++++--------- .../apps/editor/DecisionTreeDebug.svelte | 8 ++--- .../components/apps/editor/GridViewer.svelte | 6 ++-- .../apps/editor/SubGridEditor.svelte | 4 +-- .../apps/editor/component/Component.svelte | 4 +-- .../editor/componentsPanel/NameEditor.svelte | 4 +-- .../componentsPanel/QuickStyleMenu.svelte | 2 +- .../componentsPanel/QuickStyleProperty.svelte | 6 ++-- .../componentsPanel/ThemeNameEditor.svelte | 4 +-- .../contextPanel/ComponentOutput.svelte | 4 +-- .../settingsPanel/ComponentControl.svelte | 3 +- .../settingsPanel/ContextVariables.svelte | 12 +++---- .../settingsPanel/common/PanelSection.svelte | 3 +- .../mainInput/RunnableSelector.svelte | 4 +-- .../secondaryMenu/SecondaryMenu.svelte | 3 +- .../components/apps/svelte-grid/Grid.svelte | 8 ++--- .../apps/svelte-grid/MoveResize.svelte | 6 ++-- .../lib/components/assets/AssetButtons.svelte | 3 +- .../components/common/FileProgressBar.svelte | 3 +- .../components/common/button/Button.svelte | 10 +++--- .../DraftTriggersConfirmationModal.svelte | 4 +-- .../common/drawer/Disposable.svelte | 6 ++-- .../src/lib/components/common/kbd/Kbd.svelte | 5 +-- .../common/languageIcons/LanguageIcon.svelte | 3 +- .../components/common/popup/PopupV2.svelte | 3 +- .../lib/components/common/table/Row.svelte | 3 +- .../lib/components/common/tabs/Tabs.svelte | 4 +-- .../lib/components/common/tabs/TabsV2.svelte | 2 +- .../toggleButton-v2/ToggleButtonMore.svelte | 3 +- .../lib/components/copilot/MetadataGen.svelte | 10 +++--- .../copilot/chat/AIChatInput.svelte | 4 +-- .../copilot/chat/ContextElementBadge.svelte | 3 +- .../components/flows/FlowModuleIcon.svelte | 5 +-- .../flows/common/FlowCardHeader.svelte | 7 ++-- .../flows/content/FlowInputs.svelte | 4 +-- .../flows/content/FlowModuleComponent.svelte | 4 +-- .../flows/content/FlowModuleScript.svelte | 2 +- .../flows/map/FlowModuleSchemaItem.svelte | 4 +-- .../flows/map/InsertModuleInner.svelte | 4 +-- .../lib/components/graph/FlowGraphV2.svelte | 10 +++--- .../lib/components/graph/SelectionTool.svelte | 3 +- .../graph/renderers/nodes/NoteNode.svelte | 4 +-- .../lib/components/meltComponents/Menu.svelte | 5 +-- .../components/meltComponents/Popover.svelte | 16 ++++----- .../meltComponents/SideBarTab.svelte | 3 +- .../components/meltComponents/Tooltip.svelte | 9 ++--- .../propertyPicker/ObjectViewer.svelte | 2 +- .../propertyPicker/ObjectViewerWrapper.svelte | 26 +++++++------- .../propertyPicker/PropPicker.svelte | 6 ++-- .../components/raw_apps/FileTreeNode.svelte | 4 +-- .../components/raw_apps/RunnableRow.svelte | 4 +-- .../schema/EditableSchemaSdkWrapper.svelte | 3 +- .../schema/RunningJobSchemaPicker.svelte | 4 +-- .../components/schema/SchemaPickerRow.svelte | 6 ++-- .../components/search/QuickMenuItem.svelte | 4 +-- .../components/select/GenericDropdown.svelte | 2 +- .../components/settings/CreateToken.svelte | 3 +- .../components/settings/TokensTable.svelte | 3 +- .../lib/components/sidebar/MenuButton.svelte | 4 +-- .../components/splitPanes/AnimatedPane.svelte | 4 +-- frontend/src/lib/components/table/Cell.svelte | 4 +-- .../src/lib/components/table/DataTable.svelte | 2 +- .../email/EmailTriggerEditorInner.svelte | 2 +- .../triggers/gcp/GcpTriggerEditorInner.svelte | 2 +- .../triggers/http/RouteEditorInner.svelte | 2 +- .../kafka/KafkaTriggerEditorInner.svelte | 2 +- .../mqtt/MqttTriggerEditorInner.svelte | 3 +- .../nats/NatsTriggerEditorInner.svelte | 2 +- .../PostgresTriggerEditorInner.svelte | 2 +- .../WebsocketTriggerEditorInner.svelte | 2 +- .../tutorials/TutorialWrapper.svelte | 3 +- .../components/workspace/WorkspaceCard.svelte | 3 +- .../workspaceSettings/RulesetEditor.svelte | 12 +++---- 201 files changed, 659 insertions(+), 607 deletions(-) diff --git a/frontend/src/lib/components/AppConnectLightweightResourcePicker.svelte b/frontend/src/lib/components/AppConnectLightweightResourcePicker.svelte index fd0855ecee..f82d9d46d7 100644 --- a/frontend/src/lib/components/AppConnectLightweightResourcePicker.svelte +++ b/frontend/src/lib/components/AppConnectLightweightResourcePicker.svelte @@ -3,7 +3,7 @@ import DarkModeObserver from '$lib/components/DarkModeObserver.svelte' import { Button } from '$lib/components/common' import { workspaceStore } from '$lib/stores' - import { onMount } from 'svelte' + import { onMount, untrack } from 'svelte' interface Props { resourceType?: string | undefined @@ -25,8 +25,8 @@ let darkMode: boolean = $state(false) - if (workspace) { - $workspaceStore = workspace + if (untrack(() => workspace)) { + $workspaceStore = untrack(() => workspace) } onMount(async () => { diff --git a/frontend/src/lib/components/AppWrapper.svelte b/frontend/src/lib/components/AppWrapper.svelte index 37e5bdfc2e..9c6cd9756d 100644 --- a/frontend/src/lib/components/AppWrapper.svelte +++ b/frontend/src/lib/components/AppWrapper.svelte @@ -1,10 +1,11 @@ diff --git a/frontend/src/lib/components/CustomPopover.svelte b/frontend/src/lib/components/CustomPopover.svelte index 60c285852f..5d57641c0d 100644 --- a/frontend/src/lib/components/CustomPopover.svelte +++ b/frontend/src/lib/components/CustomPopover.svelte @@ -1,4 +1,5 @@ diff --git a/frontend/src/lib/components/DropdownV2.svelte b/frontend/src/lib/components/DropdownV2.svelte index ef7b703328..c36e80a554 100644 --- a/frontend/src/lib/components/DropdownV2.svelte +++ b/frontend/src/lib/components/DropdownV2.svelte @@ -80,7 +80,7 @@ ids: { menu: dropdownId } } = createDropdownMenu({ positioning: { - placement + placement: untrack(() => placement) }, loop: true, onOpenChange: ({ next }) => { diff --git a/frontend/src/lib/components/DynamicInput.svelte b/frontend/src/lib/components/DynamicInput.svelte index bd6cceaf99..692272d50e 100644 --- a/frontend/src/lib/components/DynamicInput.svelte +++ b/frontend/src/lib/components/DynamicInput.svelte @@ -113,10 +113,10 @@ } }) - let lastArgs = $state.snapshot(otherArgs) + let lastArgs = $state.snapshot(untrack(() => otherArgs)) let timeout: number | undefined = $state() - let nargs = $state($state.snapshot(otherArgs)) + let nargs = $state($state.snapshot(untrack(() => otherArgs))) $effect(() => { otherArgs untrack(() => clearTimeout(timeout)) diff --git a/frontend/src/lib/components/EditableSchemaForm.svelte b/frontend/src/lib/components/EditableSchemaForm.svelte index 5e1ce9b9cf..78e47c09ef 100644 --- a/frontend/src/lib/components/EditableSchemaForm.svelte +++ b/frontend/src/lib/components/EditableSchemaForm.svelte @@ -296,7 +296,7 @@ } } - let jsonView: boolean = $state(customUi?.jsonOnly == true) + let jsonView: boolean = $state(untrack(() => customUi)?.jsonOnly == true) let schemaString: string = $state(JSON.stringify(schema, null, '\t')) let error: string | undefined = $state(undefined) let editor: SimpleEditor | undefined = $state(undefined) @@ -306,8 +306,8 @@ editor?.setCode(schemaString) } - const editTabDefaultSize = noPreview ? 100 : 50 - editPanelSize = editTab ? (editPanelInitialSize ?? editTabDefaultSize) : 0 + const editTabDefaultSize = untrack(() => noPreview) ? 100 : 50 + editPanelSize = untrack(() => editTab) ? (untrack(() => editPanelInitialSize) ?? editTabDefaultSize) : 0 let inputPanelSize = $state(100 - editPanelSize) let editPanelSizeSmooth = tweened(editPanelSize, { duration: 150 diff --git a/frontend/src/lib/components/Editor.svelte b/frontend/src/lib/components/Editor.svelte index 8c18430a5d..250b3454e5 100644 --- a/frontend/src/lib/components/Editor.svelte +++ b/frontend/src/lib/components/Editor.svelte @@ -201,11 +201,11 @@ } }) - let lang = $state(scriptLangToEditorLang(scriptLang)) + let lang = $state(scriptLangToEditorLang(untrack(() => scriptLang))) - let filePath = $state(computePath(path)) + let filePath = $state(computePath(untrack(() => path))) - let initialPath: string | undefined = $state(path) + let initialPath: string | undefined = $state(untrack(() => path)) let websockets: WebSocket[] = [] let languageClients: MonacoLanguageClient[] = [] @@ -221,7 +221,7 @@ let destroyed = false const uri = computeUri( untrack(() => filePath), - scriptLang + untrack(() => scriptLang) ) console.log('uri', uri) diff --git a/frontend/src/lib/components/FakeMonacoPlaceHolder.svelte b/frontend/src/lib/components/FakeMonacoPlaceHolder.svelte index 3cbc020c9d..c7f068a83f 100644 --- a/frontend/src/lib/components/FakeMonacoPlaceHolder.svelte +++ b/frontend/src/lib/components/FakeMonacoPlaceHolder.svelte @@ -1,6 +1,7 @@