fix(stage-ui): new intializer will block until server connected successfully
This commit is contained in:
@@ -47,14 +47,16 @@ export const useModsServerChannelStore = defineStore('mods:channels:proj-airi:se
|
||||
token: options?.token,
|
||||
possibleEvents,
|
||||
onError: (error) => {
|
||||
client.value = undefined
|
||||
connected.value = false
|
||||
initializing.value = null
|
||||
console.error('WebSocket server connection error:', error)
|
||||
|
||||
console.warn('WebSocket server connection error:', error)
|
||||
},
|
||||
onClose: () => {
|
||||
connected.value = false
|
||||
initializing.value = null
|
||||
|
||||
console.warn('WebSocket server connection closed')
|
||||
},
|
||||
})
|
||||
|
||||
@@ -65,14 +67,22 @@ export const useModsServerChannelStore = defineStore('mods:channels:proj-airi:se
|
||||
initializeListeners()
|
||||
resolve()
|
||||
|
||||
// eslint-disable-next-line no-console
|
||||
console.log('WebSocket server connection established and authenticated')
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
connected.value = false
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
return initializing.value
|
||||
async function ensureConnected() {
|
||||
await initializing.value
|
||||
if (!connected.value) {
|
||||
return await initialize()
|
||||
}
|
||||
}
|
||||
|
||||
function initializeListeners() {
|
||||
@@ -145,6 +155,7 @@ export const useModsServerChannelStore = defineStore('mods:channels:proj-airi:se
|
||||
|
||||
return {
|
||||
connected,
|
||||
ensureConnected,
|
||||
|
||||
initialize,
|
||||
send,
|
||||
|
||||
Reference in New Issue
Block a user