fix: use actual local platform ID to resolve linked ROS settings
This commit is contained in:
@@ -72,7 +72,7 @@ import { useWorkspaceVisualization } from './features/workspace/useWorkspaceVisu
|
||||
import { makeModuleParameterKey, readStoredModuleParameters, serializeModuleParameters } from './features/workspace/moduleParameters'
|
||||
import { parseHostFromUrl, readNestedString } from './features/workspace/remoteWorkspaceTarget'
|
||||
import { resolveRuntimeModules } from './features/workspace/runtimeModuleSet'
|
||||
import { defaultStudioSourceSettings, makePlatformWorkspaceRoot, makeTeamWeekWorkspaceRoot, makeWeekWorkspaceRoot, normalizeStudioSourceSettings, readStudioSourceSettings, storeStudioSourceSettings } from './features/workspace/sourceSettings'
|
||||
import { defaultStudioSourceSettings, makePlatformWorkspaceRoot, makeTeamWeekWorkspaceRoot, makeWeekWorkspaceRoot, normalizeStudioSourceSettings, readLocalStudioSourceSettings, readStudioSourceSettings, storeStudioSourceSettings } from './features/workspace/sourceSettings'
|
||||
import { makeWorkspaceUiSessionKey, readStudioRuntimeSessionState, storeStudioRuntimeSessionState } from './features/workspace/studioRuntimeSession'
|
||||
import type { StudioRuntimeSessionState } from './features/workspace/studioRuntimeSession'
|
||||
import type { ModuleRow, RosNetworkConfig, RuntimeImageArtifact } from './features/workspace/types'
|
||||
@@ -567,8 +567,8 @@ function LocalPcWorkspaceMockup({
|
||||
const [sourceSettings, setSourceSettings] = useState<StudioSourceSettings>(() => readStudioSourceSettings(platformId, platformSourceSettingsDefaults))
|
||||
const [sourceSettingsDraft, setSourceSettingsDraft] = useState<StudioSourceSettings>(() => readStudioSourceSettings(platformId, platformSourceSettingsDefaults))
|
||||
const localWorkspaceSettings = useMemo(
|
||||
() => readStudioSourceSettings('futuredrive-local-pc', defaultStudioSourceSettings),
|
||||
[platformId, sourceSettings.rosLinkedPlatformId, sourceSettings.rosDomainId, sourceSettings.visualizationBridgeLocation],
|
||||
() => remoteWorkspace ? readLocalStudioSourceSettings(platformOptions) : sourceSettings,
|
||||
[remoteWorkspace, platformOptions, sourceSettings],
|
||||
)
|
||||
const linkedPlatformId = remoteWorkspace
|
||||
? localWorkspaceSettings.rosLinkedPlatformId
|
||||
|
||||
@@ -95,3 +95,12 @@ export function storeStudioSourceSettings(platformId: string, settings: StudioSo
|
||||
// Local source settings can be re-entered if persistence is unavailable.
|
||||
}
|
||||
}
|
||||
|
||||
export function readLocalStudioSourceSettings(platforms: Array<{
|
||||
id: string
|
||||
platformKey: string
|
||||
sourceSettings?: Partial<StudioSourceSettings> | null
|
||||
}>): StudioSourceSettings {
|
||||
const local = platforms.find((platform) => platform.platformKey === 'futuredrive-local-pc')
|
||||
return readStudioSourceSettings(local?.id ?? 'local-pc', normalizeStudioSourceSettings(local?.sourceSettings))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user