Don't rejoin a dropped channel on reconnect and leave chat channel

This commit is contained in:
yflory
2018-10-04 15:29:34 +02:00
committed by ansuz
parent 5a5c41fec7
commit 2a313a90e0
3 changed files with 40 additions and 6 deletions

View File

@@ -45,6 +45,7 @@ define([], function () {
conf = undefined;
var initializing = true;
var stopped = false;
var lastKnownHash;
var messageFromOuter = function () {};
@@ -239,6 +240,12 @@ define([], function () {
onOpen(wc, network, firstConnection);
}, function(err) {
console.error(err);
if (onError) {
onError({
type: err && (err.type || err),
loaded: !initializing
});
}
});
};
@@ -250,11 +257,13 @@ define([], function () {
});
network.on('reconnect', function () {
if (stopped) { return; }
initializing = true;
connectTo(network, false);
});
network.on('message', function (msg, sender) { // Direct message
if (stopped) { return; }
var wchan = findChannelById(network.webChannels, channel);
if (wchan) {
onMsg(sender, msg, wchan, network, true);
@@ -262,6 +271,14 @@ define([], function () {
});
connectTo(network, true);
return {
stop: function () {
var wchan = findChannelById(network.webChannels, channel);
if (wchan) { wchan.leave(''); }
stopped = true;
}
};
};
return {