File tree Expand file tree Collapse file tree 4 files changed +32
-7
lines changed
Expand file tree Collapse file tree 4 files changed +32
-7
lines changed Original file line number Diff line number Diff line change @@ -37,7 +37,7 @@ export default defineComponent({
3737 },
3838
3939 setup() {
40- const { isConnected, isInitializing } = useAppConnection ()
40+ const { isConnected, isInitializing, showDisplayDisconnected } = useAppConnection ()
4141
4242 function updateTheme(theme : string ) {
4343 if (theme === ' dark' || theme === ' high-contrast' || (theme === ' auto' && chromeTheme === ' dark' )) {
@@ -80,6 +80,7 @@ export default defineComponent({
8080 return {
8181 isConnected ,
8282 isInitializing ,
83+ showDisplayDisconnected ,
8384 showAppsSelector ,
8485 orientation ,
8586 isChrome ,
@@ -103,7 +104,7 @@ export default defineComponent({
103104 />
104105
105106 <AppDisconnected
106- v-else-if =" !isConnected "
107+ v-else-if =" showDisplayDisconnected "
107108 class =" absolute inset-0"
108109 />
109110
Original file line number Diff line number Diff line change 1- import { ref } from 'vue'
1+ import { computed , ref } from 'vue'
2+ import { useNow } from '@vueuse/core'
23
34const isConnected = ref ( false )
45const isInitializing = ref ( true )
6+ const lastDisconnect = ref ( 0 )
57
68export function useAppConnection ( ) {
9+ const now = useNow ( {
10+ interval : 1000 ,
11+ } )
12+ const showDisplayDisconnected = computed ( ( ) => {
13+ if ( isInitializing . value ) {
14+ return false
15+ }
16+ if ( lastDisconnect . value === 0 ) {
17+ return false
18+ }
19+ // Wait for 5 seconds before showing the disconnected message
20+ return ! isConnected && now . value . getTime ( ) - lastDisconnect . value > 5000
21+ } )
22+
723 return {
824 isConnected,
925 isInitializing,
26+ lastDisconnect,
27+ showDisplayDisconnected,
1028 }
1129}
1230
13- export function setAppConnected ( value : boolean ) {
31+ export function setAppConnected ( value : boolean , force = false ) {
32+ if ( force ) {
33+ lastDisconnect . value = 0
34+ }
35+ else if ( ! value && isConnected . value ) {
36+ lastDisconnect . value = Date . now ( )
37+ }
1438 isConnected . value = value
1539}
1640
Original file line number Diff line number Diff line change @@ -19,7 +19,7 @@ export async function initDevTools(shell: Shell) {
1919 app . mount ( '#app' )
2020 connectApp ( app , shell )
2121 shell . onReload ( ( ) => {
22- setAppConnected ( false )
22+ setAppConnected ( false , true )
2323 getBridge ( ) ?. removeAllListeners ( )
2424 connectApp ( app , shell )
2525 } )
Original file line number Diff line number Diff line change @@ -36,7 +36,7 @@ initDevTools({
3636 setAppConnected ( false )
3737
3838 // Retry
39- retryConnectTimer = setTimeout ( connect , 1000 )
39+ retryConnectTimer = setTimeout ( connect , 500 )
4040 } )
4141
4242 if ( connectCount > 1 ) {
@@ -49,7 +49,7 @@ initDevTools({
4949 setAppConnected ( false )
5050
5151 // Retry
52- retryConnectTimer = setTimeout ( connect , 5000 )
52+ retryConnectTimer = setTimeout ( connect , 1000 )
5353 }
5454 }
5555 connect ( )
You can’t perform that action at this time.
0 commit comments