Send init commands when connection is successful

Initialization commands are sent when we are sure that
the password has been accepted and that the init has been
processed by the weechat relay
l-merge-prefix
David Cormier 12 years ago
parent 8c386f7553
commit ba20a79c72
  1. 58
      js/glowingbear.js

@ -269,6 +269,8 @@ function($rootScope,
var onopen = function () { var onopen = function () {
// Helper methods for initialization commands
var _initializeConnection = function(passwd) { var _initializeConnection = function(passwd) {
return ngWebsockets.sendAll([ return ngWebsockets.sendAll([
weeChat.Protocol.formatInit({ weeChat.Protocol.formatInit({
@ -313,13 +315,39 @@ function($rootScope,
); );
}; };
$log.info("Connected to relay");
// First command asks for the password and issues // First command asks for the password and issues
// a version command. If it fails, it means the we // a version command. If it fails, it means the we
// did not provide the proper password. // did not provide the proper password.
_initializeConnection(passwd).then( _initializeConnection(passwd).then(
null, function() {
// Connection is successful
// Send all the other commands required for initialization
_requestBufferInfos().then(function(bufinfo) {
var bufferInfos = bufinfo.objects[0].content;
// buffers objects
for (var i = 0; i < bufferInfos.length ; i++) {
var buffer = new models.Buffer(bufferInfos[i]);
models.addBuffer(buffer);
// Switch to first buffer on startup
if (i === 0) {
models.setActiveBuffer(buffer.id);
}
}
});
_requestHotlist().then(function(hotlist) {
handlers.handleHotlistInfo(hotlist);
});
_requestNicklist().then(function(nicklist) {
handlers.handleNicklist(nicklist);
});
_requestSync();
$log.info("Connected to relay");
$rootScope.connected = true;
},
function() { function() {
// Connection got closed, lets check if we ever was connected successfully // Connection got closed, lets check if we ever was connected successfully
if(!$rootScope.waseverconnected) if(!$rootScope.waseverconnected)
@ -327,32 +355,6 @@ function($rootScope,
} }
); );
_requestBufferInfos().then(function(bufinfo) {
var bufferInfos = bufinfo.objects[0].content;
// buffers objects
for (var i = 0; i < bufferInfos.length ; i++) {
var buffer = new models.Buffer(bufferInfos[i]);
models.addBuffer(buffer);
// Switch to first buffer on startup
if (i === 0) {
models.setActiveBuffer(buffer.id);
}
}
});
// Send all the other commands required for initialization
_requestHotlist().then(function(hotlist) {
handlers.handleHotlistInfo(hotlist);
});
_requestNicklist().then(function(nicklist) {
handlers.handleNicklist(nicklist);
});
_requestSync();
$rootScope.connected = true;
}; };
var onmessage = function(event) { var onmessage = function(event) {

Loading…
Cancel
Save