@@ -4,11 +4,12 @@ import {
44 type QueryObserverResult ,
55} from '@tanstack/svelte-query' ;
66
7- import type { RobotClient } from '@viamrobotics/sdk' ;
7+ import { MachineConnectionEvent , type RobotClient } from '@viamrobotics/sdk' ;
88import { toStore , fromStore } from 'svelte/store' ;
99import { usePolling } from './use-polling.svelte' ;
1010import { useQueryLogger } from '$lib/query-logger' ;
1111import { useEnabledQueries } from './use-enabled-queries.svelte' ;
12+ import { useConnectionStatus } from './robot-clients.svelte' ;
1213
1314// eslint-disable-next-line @typescript-eslint/no-explicit-any
1415export type ArgumentsType < T > = T extends ( ...args : infer U ) => any ? U : never ;
@@ -37,6 +38,8 @@ export const createRobotQuery = <T extends RobotClient, K extends keyof T>(
3738 ]
3839 | [ options ?: ( ( ) => QueryOptions ) | QueryOptions ]
3940) : { current : QueryObserverResult < ResolvedReturnType < T [ K ] > > } => {
41+ const partID = $derived ( ( client . current as T & { partID : string } ) ?. partID ) ;
42+ const connectionStatus = useConnectionStatus ( ( ) => partID ) ;
4043 const debug = useQueryLogger ( ) ;
4144 const enabledQueries = useEnabledQueries ( ) ;
4245 let [ args , options ] = additional ;
@@ -52,7 +55,8 @@ export const createRobotQuery = <T extends RobotClient, K extends keyof T>(
5255 const _args = $derived ( typeof args === 'function' ? args ( ) : args ) ;
5356 const methodName = $derived ( String ( method ) ) ;
5457 const enabled = $derived (
55- client . current !== undefined &&
58+ connectionStatus . current === MachineConnectionEvent . CONNECTED &&
59+ client . current !== undefined &&
5660 _options ?. enabled !== false &&
5761 enabledQueries . robotQueries
5862 ) ;
@@ -62,7 +66,7 @@ export const createRobotQuery = <T extends RobotClient, K extends keyof T>(
6266 queryKey : [
6367 'viam-svelte-sdk' ,
6468 'partID' ,
65- ( client . current as T & { partID : string } ) ?. partID ,
69+ partID ,
6670 'robotClient' ,
6771 methodName ,
6872 ...( _args ? [ _args ] : [ ] ) ,
0 commit comments