fix(stage-ui): new intializer will block until server connected successfully

This commit is contained in:
Neko Ayaka
2026-01-01 03:38:51 +08:00
parent 33e256f3ef
commit a9ecea515e
@@ -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,