File tree 1 file changed +26
-10
lines changed
site/src/components/Resources
1 file changed +26
-10
lines changed Original file line number Diff line number Diff line change @@ -241,18 +241,34 @@ export const AgentMetadata: FC<{
241
241
setMetadata ( storybookMetadata )
242
242
return
243
243
}
244
- const source = watchAgentMetadata ( agent . id )
245
244
246
- source . onerror = ( e ) => {
247
- console . error ( "received error in watch stream" , e )
248
- }
249
- source . addEventListener ( "data" , ( e ) => {
250
- const data = JSON . parse ( e . data )
251
- setMetadata ( data )
252
- } )
253
- return ( ) => {
254
- source . close ( )
245
+ let timeout : NodeJS . Timeout | undefined = undefined
246
+
247
+ const connect = ( ) : ( ( ) => void ) => {
248
+ const source = watchAgentMetadata ( agent . id )
249
+
250
+ source . onerror = ( e ) => {
251
+ console . error ( "received error in watch stream" , e )
252
+ setMetadata ( undefined )
253
+ source . close ( )
254
+
255
+ timeout = setTimeout ( ( ) => {
256
+ connect ( )
257
+ } , 3000 )
258
+ }
259
+
260
+ source . addEventListener ( "data" , ( e ) => {
261
+ const data = JSON . parse ( e . data )
262
+ setMetadata ( data )
263
+ } )
264
+ return ( ) => {
265
+ if ( timeout !== undefined ) {
266
+ clearTimeout ( timeout )
267
+ }
268
+ source . close ( )
269
+ }
255
270
}
271
+ return connect ( )
256
272
} , [ agent . id , watchAgentMetadata , storybookMetadata ] )
257
273
258
274
if ( metadata === undefined ) {
You can’t perform that action at this time.
0 commit comments