fix connection status and awareness info when disconnected (ws-provider)

This commit is contained in:
Kevin Jahns 2019-01-29 01:38:23 +01:00
parent e699f92333
commit 453407b93d

View File

@ -61,15 +61,24 @@ const setupWS = (doc, url) => {
websocket.onclose = () => {
doc.ws = null
doc.wsconnected = false
// update awareness (all users left)
const removed = []
doc.getAwarenessInfo().forEach((_, userid) => {
removed.push(userid)
})
doc.awareness = new Map()
doc.emit('awareness', {
added: [], updated: [], removed
})
doc.emit('status', {
status: 'connected'
status: 'disconnected'
})
setTimeout(setupWS, reconnectTimeout, doc, url)
}
websocket.onopen = () => {
doc.wsconnected = true
doc.emit('status', {
status: 'disconnected'
status: 'connected'
})
// always send sync step 1 when connected
const encoder = Y.encoding.createEncoder()