mirror of https://github.com/xwiki-labs/cryptpad
Fix duplicate join in cursor.js
This commit is contained in:
parent
8c8f7e4605
commit
c19ff5958c
|
@ -148,12 +148,14 @@ define([
|
|||
return void cb({error: err});
|
||||
});
|
||||
|
||||
network.on('reconnect', function () {
|
||||
var onReconnect = function () {
|
||||
if (!ctx.channels[channel]) { console.log("cant reconnect", channel); return; }
|
||||
network.join(channel).then(onOpen, function (err) {
|
||||
console.error(err);
|
||||
});
|
||||
});
|
||||
};
|
||||
chan.onReconnect = onReconnect;
|
||||
network.on('reconnect', onReconnect);
|
||||
};
|
||||
|
||||
var updateCursor = function (ctx, data, client, cb) {
|
||||
|
@ -173,6 +175,10 @@ define([
|
|||
var channel = ctx.channels[cursorChan];
|
||||
if (channel.padChan !== padChan) { return; }
|
||||
if (channel.wc) { channel.wc.leave(); }
|
||||
if (channel.onReconnect) {
|
||||
var network = ctx.store.network;
|
||||
network.off('reconnect', channel.onReconnect);
|
||||
}
|
||||
delete ctx.channels[cursorChan];
|
||||
return true;
|
||||
});
|
||||
|
@ -190,6 +196,10 @@ define([
|
|||
chan.clients = chan.clients.filter(filter);
|
||||
if (chan.clients.length === 0) {
|
||||
if (chan.wc) { chan.wc.leave(); }
|
||||
if (chan.onReconnect) {
|
||||
var network = ctx.store.network;
|
||||
network.off('reconnect', chan.onReconnect);
|
||||
}
|
||||
delete ctx.channels[k];
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue