implement channel.send
This commit is contained in:
parent
d835005905
commit
c63807fd2b
@ -372,6 +372,8 @@ define([
|
|||||||
messenger.input = $input[0];
|
messenger.input = $input[0];
|
||||||
|
|
||||||
var send = function () {
|
var send = function () {
|
||||||
|
// TODO implement sending queue
|
||||||
|
// TODO separate message logic from UI
|
||||||
var channel = channels[data.channel];
|
var channel = channels[data.channel];
|
||||||
if (channel.sending) {
|
if (channel.sending) {
|
||||||
console.error("still sending");
|
console.error("still sending");
|
||||||
@ -385,34 +387,18 @@ define([
|
|||||||
console.error("input is disabled");
|
console.error("input is disabled");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var payload = $input.val();
|
||||||
// Send the message
|
// Send the message
|
||||||
var msg = [Types.message, proxy.curvePublic, +new Date(), $input.val()];
|
channel.send(payload, function (e) {
|
||||||
var msgStr = JSON.stringify(msg);
|
if (e) {
|
||||||
var cryptMsg = channel.encryptor.encrypt(msgStr);
|
|
||||||
channel.sending = true;
|
|
||||||
|
|
||||||
console.log(channel.wc);
|
|
||||||
var network = common.getNetwork();
|
|
||||||
if (!network.webChannels.some(function (wc) {
|
|
||||||
if (wc.id === channel.wc.id) {
|
|
||||||
console.error(wc.id, channel.wc.id);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
console.error(wc.id, channel.wc.id);
|
|
||||||
//return wc.id === channel.wc.id;
|
|
||||||
})) {
|
|
||||||
console.error('no such channel:' + channel.wc.id);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
channel.wc.bcast(cryptMsg).then(function () {
|
|
||||||
$input.val('');
|
|
||||||
pushMsg(common, channel, cryptMsg);
|
|
||||||
channel.refresh();
|
|
||||||
channel.sending = false;
|
|
||||||
}, function (err) {
|
|
||||||
channel.sending = false;
|
channel.sending = false;
|
||||||
console.error(err);
|
console.error(err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$input.val('');
|
||||||
|
channel.refresh();
|
||||||
|
channel.sending = false;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
$('<button>', {'class': 'btn btn-primary fa fa-paper-plane'})
|
$('<button>', {'class': 'btn btn-primary fa fa-paper-plane'})
|
||||||
@ -710,6 +696,25 @@ define([
|
|||||||
var messageHash = oldestMessage[0];
|
var messageHash = oldestMessage[0];
|
||||||
getMoreHistory(network, chan, messageHash, 10);
|
getMoreHistory(network, chan, messageHash, 10);
|
||||||
},
|
},
|
||||||
|
send: function (payload, cb) {
|
||||||
|
if (!network.webChannels.some(function (wc) {
|
||||||
|
if (wc.id === channel.wc.id) { return true; }
|
||||||
|
})) {
|
||||||
|
return void cb('NO_SUCH_CHANNEL');
|
||||||
|
}
|
||||||
|
|
||||||
|
var msg = [Types.message, proxy.curvePublic, +new Date(), payload];
|
||||||
|
var msgStr = JSON.stringify(msg);
|
||||||
|
var cryptMsg = channel.encryptor.encrypt(msgStr);
|
||||||
|
channel.sending = true;
|
||||||
|
|
||||||
|
channel.wc.bcast(cryptMsg).then(function () {
|
||||||
|
pushMsg(common, channel, cryptMsg);
|
||||||
|
cb();
|
||||||
|
}, function (err) {
|
||||||
|
cb(err);
|
||||||
|
});
|
||||||
|
},
|
||||||
};
|
};
|
||||||
chan.on('message', function (msg, sender) {
|
chan.on('message', function (msg, sender) {
|
||||||
onMessage(common, msg, sender, chan);
|
onMessage(common, msg, sender, chan);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user