* Fixed some logging of client IP addresses/etc.
* Some updates to FSE work for position and edit mode display * Use cursor save/restore for some things vs internal tracking
This commit is contained in:
20
core/bbs.js
20
core/bbs.js
@@ -159,8 +159,6 @@ function startListening() {
|
||||
|
||||
addNewClient(client);
|
||||
|
||||
//logger.log.info({ clientId : client.runtime.id, from : client.address(), server : module.moduleInfo.name }, 'Client connected');
|
||||
|
||||
client.on('ready', function onClientReady() {
|
||||
// Go to module -- use default error handler
|
||||
prepareClient(client, function onPrepared() {
|
||||
@@ -198,20 +196,14 @@ function addNewClient(client) {
|
||||
// Create a client specific logger
|
||||
client.log = logger.log.child( { clientId : id } );
|
||||
|
||||
// :TODO: if client.log concept is kept, clean this up to use it:
|
||||
var connInfo = { ip : client.input.remoteAddress };
|
||||
|
||||
var connInfo = {
|
||||
connectionCount : clientConnections.length,
|
||||
clientId : client.runtime.id,
|
||||
};
|
||||
|
||||
if(logger.log.debug()) {
|
||||
connInfo.address = client.address();
|
||||
} else {
|
||||
connInfo.ip = client.address().address;
|
||||
if(client.log.debug()) {
|
||||
connInfo.port = client.input.localPort;
|
||||
connInfo.family = client.input.localFamily;
|
||||
}
|
||||
|
||||
logger.log.info(connInfo, 'Client connected');
|
||||
|
||||
client.log.info(connInfo, 'Client connected');
|
||||
|
||||
return id;
|
||||
}
|
||||
|
||||
@@ -780,8 +780,7 @@ function MultiLineEditTextView(options) {
|
||||
};
|
||||
|
||||
this.keyPressInsert = function() {
|
||||
// :TODO: emit event
|
||||
self.overtypeMode = !self.overtypeMode;
|
||||
self.toggleTextEditMode();
|
||||
};
|
||||
|
||||
this.keyPressTab = function() {
|
||||
@@ -1006,11 +1005,13 @@ function MultiLineEditTextView(options) {
|
||||
};
|
||||
|
||||
this.emitPosition = function() {
|
||||
self.emit(
|
||||
'cursor position',
|
||||
{ row : self.getTextLinesIndex(self.cursorPos.row), col : self.cursorPos.col });
|
||||
self.emit('cursor position', self.getEditPosition());
|
||||
};
|
||||
|
||||
this.toggleTextEditMode = function() {
|
||||
self.overtypeMode = !self.overtypeMode;
|
||||
self.emit('text edit mode', self.getTextEditMode());
|
||||
};
|
||||
}
|
||||
|
||||
require('util').inherits(MultiLineEditTextView, View);
|
||||
@@ -1091,3 +1092,12 @@ MultiLineEditTextView.prototype.onKeyPress = function(ch, key) {
|
||||
MultiLineEditTextView.super_.prototype.onKeyPress.call(this, ch, key);
|
||||
}
|
||||
};
|
||||
|
||||
MultiLineEditTextView.prototype.getTextEditMode = function() {
|
||||
return this.overtypeMode ? 'overtype' : 'insert';
|
||||
};
|
||||
|
||||
MultiLineEditTextView.prototype.getEditPosition = function() {
|
||||
return { row : this.getTextLinesIndex(this.cursorPos.row), col : this.cursorPos.col }
|
||||
};
|
||||
|
||||
|
||||
@@ -432,8 +432,15 @@ function TelnetClient(input, output) {
|
||||
|
||||
var i;
|
||||
while((i = bufs.indexOf(IAC_BUF)) >= 0) {
|
||||
/*
|
||||
if(bufs.length < (i + 1)) {
|
||||
i = MORE_DATA_REQUIRED;
|
||||
break;
|
||||
}
|
||||
*/
|
||||
// :TODO: Android client Irssi ConnectBot asserts here:
|
||||
assert(bufs.length > (i + 1), 'bufs.length=' + bufs.length + ' i=' + i + ' bufs=' + bufs);
|
||||
assert(bufs.length > (i + 1),
|
||||
'bufs.length=' + bufs.length + ' i=' + i + ' bufs=' + require('../string_util.js').debugEscapedString(bufs.toBuffer()))
|
||||
|
||||
if(i > 0) {
|
||||
self.emit('data', bufs.splice(0, i).toBuffer());
|
||||
|
||||
Reference in New Issue
Block a user