@@ -711,60 +711,57 @@ export class Remote {
711711upload_bytes_sec :number
712712download_bytes_sec :number
713713} ) => {
714- try {
715- let statusText = "$(globe) "
716- if ( network . p2p ) {
717- statusText += "Direct "
718- networkStatus . tooltip = "You're connected peer-to-peer ✨."
719- } else {
720- statusText += network . preferred_derp + " "
721- networkStatus . tooltip =
722- "You're connected through a relay 🕵.\nWe'll switch over to peer-to-peer when available."
723- }
724- networkStatus . tooltip +=
725- "\n\nDownload ↓ " +
726- prettyBytes ( network . download_bytes_sec , {
727- bits :true ,
728- } ) +
729- "/s • Upload ↑ " +
730- prettyBytes ( network . upload_bytes_sec , {
731- bits :true ,
732- } ) +
733- "/s\n"
734-
735- if ( ! network . p2p ) {
736- const derpLatency = network . derp_latency [ network . preferred_derp ]
737-
738- networkStatus . tooltip += `You ↔${ derpLatency . toFixed ( 2 ) } ms ↔${ network . preferred_derp } ↔${ (
739- network . latency - derpLatency
740- ) . toFixed ( 2 ) } ms ↔ Workspace`
741-
742- let first = true
743- Object . keys ( network . derp_latency ) . forEach ( ( region ) => {
744- if ( region === network . preferred_derp ) {
745- return
746- }
747- if ( first ) {
748- networkStatus . tooltip += `\n\nOther regions:`
749- first = false
750- }
751- networkStatus . tooltip += `\n${ region } :${ Math . round ( network . derp_latency [ region ] * 100 ) / 100 } ms`
752- } )
753- }
714+ let statusText = "$(globe) "
715+ if ( network . p2p ) {
716+ statusText += "Direct "
717+ networkStatus . tooltip = "You're connected peer-to-peer ✨."
718+ } else {
719+ statusText += network . preferred_derp + " "
720+ networkStatus . tooltip =
721+ "You're connected through a relay 🕵.\nWe'll switch over to peer-to-peer when available."
722+ }
723+ networkStatus . tooltip +=
724+ "\n\nDownload ↓ " +
725+ prettyBytes ( network . download_bytes_sec , {
726+ bits :true ,
727+ } ) +
728+ "/s • Upload ↑ " +
729+ prettyBytes ( network . upload_bytes_sec , {
730+ bits :true ,
731+ } ) +
732+ "/s\n"
733+
734+ const derpLatency = network . derp_latency [ network . preferred_derp ] || undefined ;
735+ if ( ! network . p2p && derpLatency !== undefined ) {
736+
737+ networkStatus . tooltip += `You ↔${ derpLatency . toFixed ( 2 ) } ms ↔${ network . preferred_derp } ↔${ (
738+ network . latency - derpLatency
739+ ) . toFixed ( 2 ) } ms ↔ Workspace`
740+
741+ let first = true
742+ Object . keys ( network . derp_latency ) . forEach ( ( region ) => {
743+ if ( region === network . preferred_derp ) {
744+ return
745+ }
746+ if ( first ) {
747+ networkStatus . tooltip += `\n\nOther regions:`
748+ first = false
749+ }
750+ networkStatus . tooltip += `\n${ region } :${ Math . round ( network . derp_latency [ region ] * 100 ) / 100 } ms`
751+ } )
752+ } else {
753+ logger . error ( "Network P2P is false and DERP Latency is undefined" )
754+ }
754755
755- statusText += "(" + network . latency . toFixed ( 2 ) + "ms)"
756- networkStatus . text = statusText
757- networkStatus . show ( )
756+ statusText += "(" + network . latency . toFixed ( 2 ) + "ms)"
757+ networkStatus . text = statusText
758+ networkStatus . show ( )
758759
759- // Log occasional network stats updates (every 20 refreshes)
760- if ( refreshCount % 20 === 0 ) {
761- logger . debug (
762- `Network stats update #${ refreshCount } : p2p=${ network . p2p } , latency=${ network . latency . toFixed ( 2 ) } ms` ,
763- )
764- }
765- } catch ( ex ) {
766- // Replace silent error ignoring with proper logging
767- logger . error ( "Error updating network status" , ex )
760+ // Log occasional network stats updates (every 20 refreshes)
761+ if ( refreshCount % 20 === 0 ) {
762+ logger . debug (
763+ `Network stats update #${ refreshCount } : p2p=${ network . p2p } , latency=${ network . latency . toFixed ( 2 ) } ms` ,
764+ )
768765}
769766}
770767