Use window.log in browser context, turn on console eslint rule

This commit is contained in:
Scott Nonnenberg 2018-07-21 12:00:08 -07:00
parent 4320b125dd
commit 5933a34a18
71 changed files with 816 additions and 559 deletions

View file

@ -78,14 +78,14 @@
return provisioningCipher.getPublicKey().then(function(pubKey) {
return new Promise(function(resolve, reject) {
var socket = getSocket();
socket.onclose = function(e) {
console.log('provisioning socket closed', e.code);
socket.onclose = function(event) {
window.log.info('provisioning socket closed. Code:', event.code);
if (!gotProvisionEnvelope) {
reject(new Error('websocket closed'));
}
};
socket.onopen = function(e) {
console.log('provisioning socket open');
window.log.info('provisioning socket open');
};
var wsr = new WebSocketResource(socket, {
keepalive: { path: '/v1/keepalive/provisioning' },
@ -150,7 +150,7 @@
})
);
} else {
console.log('Unknown websocket message', request.path);
window.log.error('Unknown websocket message', request.path);
}
},
});
@ -164,7 +164,7 @@
return this.queueTask(
function() {
return this.server.getMyKeys().then(function(preKeyCount) {
console.log('prekey count ' + preKeyCount);
window.log.info('prekey count ' + preKeyCount);
if (preKeyCount < 10) {
return generateKeys().then(registerKeys);
}
@ -196,7 +196,7 @@
);
},
function(error) {
console.log(
window.log.error(
'Failed to get identity key. Canceling key rotation.'
);
}
@ -205,7 +205,7 @@
if (!res) {
return;
}
console.log('Saving new signed prekey', res.keyId);
window.log.info('Saving new signed prekey', res.keyId);
return Promise.all([
textsecure.storage.put('signedKeyId', signedKeyId + 1),
store.storeSignedPreKey(res.keyId, res.keyPair),
@ -217,7 +217,7 @@
])
.then(function() {
var confirmed = true;
console.log('Confirming new signed prekey', res.keyId);
window.log.info('Confirming new signed prekey', res.keyId);
return Promise.all([
textsecure.storage.remove('signedKeyRotationRejected'),
store.storeSignedPreKey(res.keyId, res.keyPair, confirmed),
@ -228,7 +228,7 @@
});
})
.catch(function(e) {
console.log(
window.log.error(
'rotateSignedPrekey error:',
e && e.stack ? e.stack : e
);
@ -242,7 +242,10 @@
var rejections =
1 + textsecure.storage.get('signedKeyRotationRejected', 0);
textsecure.storage.put('signedKeyRotationRejected', rejections);
console.log('Signed key rotation rejected count:', rejections);
window.log.error(
'Signed key rotation rejected count:',
rejections
);
} else {
throw e;
}
@ -274,9 +277,9 @@
var recent = allKeys[0] ? allKeys[0].keyId : 'none';
var recentConfirmed = confirmed[0] ? confirmed[0].keyId : 'none';
console.log('Most recent signed key: ' + recent);
console.log('Most recent confirmed signed key: ' + recentConfirmed);
console.log(
window.log.info('Most recent signed key: ' + recent);
window.log.info('Most recent confirmed signed key: ' + recentConfirmed);
window.log.info(
'Total signed key count:',
allKeys.length,
'-',
@ -294,7 +297,7 @@
var created_at = key.created_at || 0;
var age = Date.now() - created_at;
if (age > ARCHIVE_AGE) {
console.log(
window.log.info(
'Removing confirmed signed prekey:',
key.keyId,
'with timestamp:',
@ -317,7 +320,7 @@
var created_at = key.created_at || 0;
var age = Date.now() - created_at;
if (age > ARCHIVE_AGE) {
console.log(
window.log.info(
'Removing unconfirmed signed prekey:',
key.keyId,
'with timestamp:',
@ -355,17 +358,17 @@
)
.then(function(response) {
if (previousNumber && previousNumber !== number) {
console.log(
window.log.warn(
'New number is different from old number; deleting all previous data'
);
return textsecure.storage.protocol.removeAllData().then(
function() {
console.log('Successfully deleted previous data');
window.log.info('Successfully deleted previous data');
return response;
},
function(error) {
console.log(
window.log.error(
'Something went wrong deleting data from previous number',
error && error.stack ? error.stack : error
);
@ -432,7 +435,7 @@
clearSessionsAndPreKeys: function() {
var store = textsecure.storage.protocol;
console.log('clearing all sessions, prekeys, and signed prekeys');
window.log.info('clearing all sessions, prekeys, and signed prekeys');
return Promise.all([
store.clearPreKeyStore(),
store.clearSignedPreKeysStore(),
@ -445,7 +448,7 @@
var key = keys.signedPreKey;
var confirmed = true;
console.log('confirmKeys: confirming key', key.keyId);
window.log.info('confirmKeys: confirming key', key.keyId);
return store.storeSignedPreKey(key.keyId, key.keyPair, confirmed);
},
generateKeys: function(count, progressCallback) {
@ -513,7 +516,7 @@
);
},
registrationDone: function() {
console.log('registration done');
window.log.info('registration done');
this.dispatchEvent(new Event('registration'));
},
});

View file

@ -35,8 +35,11 @@ ProtoParser.prototype = {
}
return proto;
} catch (e) {
console.log(e);
} catch (error) {
window.log.error(
'ProtoParser.next error:',
error && error.stack ? error.stack : error
);
}
},
};

View file

@ -21,7 +21,7 @@
localStorage.removeItem(e.data.key);
break;
case 'done':
console.log(e.data.keys);
console.error(e.data.keys);
}
};
*/

View file

@ -86,7 +86,7 @@ MessageReceiver.prototype.extend({
}
},
close() {
console.log('MessageReceiver.close()');
window.log.info('MessageReceiver.close()');
this.calledClose = true;
// Our WebSocketResource instance will close the socket and emit a 'close' event
@ -98,16 +98,16 @@ MessageReceiver.prototype.extend({
return this.drain();
},
onopen() {
console.log('websocket open');
window.log.info('websocket open');
},
onerror() {
console.log('websocket error');
window.log.error('websocket error');
},
dispatchAndWait(event) {
return Promise.all(this.dispatchEvent(event));
},
onclose(ev) {
console.log(
window.log.info(
'websocket closed',
ev.code,
ev.reason || '',
@ -143,7 +143,7 @@ MessageReceiver.prototype.extend({
// TODO: handle different types of requests.
if (request.path !== '/api/v1/message') {
console.log('got request', request.verb, request.path);
window.log.info('got request', request.verb, request.path);
request.respond(200, 'OK');
if (request.verb === 'PUT' && request.path === '/api/v1/queue/empty') {
@ -170,7 +170,7 @@ MessageReceiver.prototype.extend({
this.queueEnvelope(envelope);
},
error => {
console.log(
window.log.error(
'handleRequest error trying to add message to cache:',
error && error.stack ? error.stack : error
);
@ -179,7 +179,7 @@ MessageReceiver.prototype.extend({
})
.catch(e => {
request.respond(500, 'Bad encrypted websocket message');
console.log(
window.log.error(
'Error handling incoming message:',
e && e.stack ? e.stack : e
);
@ -215,7 +215,7 @@ MessageReceiver.prototype.extend({
this.incoming = [];
const dispatchEmpty = () => {
console.log("MessageReceiver: emitting 'empty' event");
window.log.info("MessageReceiver: emitting 'empty' event");
const ev = new Event('empty');
return this.dispatchAndWait(ev);
};
@ -238,7 +238,7 @@ MessageReceiver.prototype.extend({
const queueDispatch = () =>
this.addToQueue(() => {
console.log('drained');
window.log.info('drained');
});
// This promise will resolve when there are no more messages to be processed.
@ -282,7 +282,7 @@ MessageReceiver.prototype.extend({
this.queueEnvelope(envelope);
}
} catch (error) {
console.log('queueCached error handling item', item.id);
window.log.error('queueCached error handling item', item.id);
}
},
getEnvelopeId(envelope) {
@ -295,15 +295,22 @@ MessageReceiver.prototype.extend({
return new dcodeIO.ByteBuffer.wrap(string, 'binary').toArrayBuffer();
},
getAllFromCache() {
console.log('getAllFromCache');
window.log.info('getAllFromCache');
return textsecure.storage.unprocessed.getAll().then(items => {
console.log('getAllFromCache loaded', items.length, 'saved envelopes');
window.log.info(
'getAllFromCache loaded',
items.length,
'saved envelopes'
);
return Promise.all(
_.map(items, item => {
const attempts = 1 + (item.attempts || 0);
if (attempts >= 5) {
console.log('getAllFromCache final attempt for envelope', item.id);
window.log.warn(
'getAllFromCache final attempt for envelope',
item.id
);
return textsecure.storage.unprocessed.remove(item.id);
}
return textsecure.storage.unprocessed.update(item.id, { attempts });
@ -311,7 +318,7 @@ MessageReceiver.prototype.extend({
).then(
() => items,
error => {
console.log(
window.log.error(
'getAllFromCache error updating items after load:',
error && error.stack ? error.stack : error
);
@ -343,7 +350,7 @@ MessageReceiver.prototype.extend({
},
queueDecryptedEnvelope(envelope, plaintext) {
const id = this.getEnvelopeId(envelope);
console.log('queueing decrypted envelope', id);
window.log.info('queueing decrypted envelope', id);
const task = this.handleDecryptedEnvelope.bind(this, envelope, plaintext);
const taskWithTimeout = textsecure.createTaskWithTimeout(
@ -353,7 +360,7 @@ MessageReceiver.prototype.extend({
const promise = this.addToQueue(taskWithTimeout);
return promise.catch(error => {
console.log(
window.log.error(
'queueDecryptedEnvelope error handling envelope',
id,
':',
@ -363,7 +370,7 @@ MessageReceiver.prototype.extend({
},
queueEnvelope(envelope) {
const id = this.getEnvelopeId(envelope);
console.log('queueing envelope', id);
window.log.info('queueing envelope', id);
const task = this.handleEnvelope.bind(this, envelope);
const taskWithTimeout = textsecure.createTaskWithTimeout(
@ -373,7 +380,7 @@ MessageReceiver.prototype.extend({
const promise = this.addToQueue(taskWithTimeout);
return promise.catch(error => {
console.log(
window.log.error(
'queueEnvelope error handling envelope',
id,
':',
@ -470,13 +477,13 @@ MessageReceiver.prototype.extend({
switch (envelope.type) {
case textsecure.protobuf.Envelope.Type.CIPHERTEXT:
console.log('message from', this.getEnvelopeId(envelope));
window.log.info('message from', this.getEnvelopeId(envelope));
promise = sessionCipher
.decryptWhisperMessage(ciphertext)
.then(this.unpad);
break;
case textsecure.protobuf.Envelope.Type.PREKEY_BUNDLE:
console.log('prekey message from', this.getEnvelopeId(envelope));
window.log.info('prekey message from', this.getEnvelopeId(envelope));
promise = this.decryptPreKeyWhisperMessage(
ciphertext,
sessionCipher,
@ -492,7 +499,7 @@ MessageReceiver.prototype.extend({
this.updateCache(envelope, plaintext).then(
() => plaintext,
error => {
console.log(
window.log.error(
'decrypt failed to save decrypted message contents to cache:',
error && error.stack ? error.stack : error
);
@ -571,7 +578,7 @@ MessageReceiver.prototype.extend({
);
},
handleDataMessage(envelope, msg) {
console.log('data message from', this.getEnvelopeId(envelope));
window.log.info('data message from', this.getEnvelopeId(envelope));
let p = Promise.resolve();
// eslint-disable-next-line no-bitwise
if (msg.flags & textsecure.protobuf.DataMessage.Flags.END_SESSION) {
@ -623,7 +630,7 @@ MessageReceiver.prototype.extend({
throw new Error('Unsupported content message');
},
handleCallMessage(envelope) {
console.log('call message from', this.getEnvelopeId(envelope));
window.log.info('call message from', this.getEnvelopeId(envelope));
this.removeFromCache(envelope);
},
handleReceiptMessage(envelope, receiptMessage) {
@ -658,7 +665,7 @@ MessageReceiver.prototype.extend({
return Promise.all(results);
},
handleNullMessage(envelope) {
console.log('null message from', this.getEnvelopeId(envelope));
window.log.info('null message from', this.getEnvelopeId(envelope));
this.removeFromCache(envelope);
},
handleSyncMessage(envelope, syncMessage) {
@ -675,7 +682,7 @@ MessageReceiver.prototype.extend({
? `group(${sentMessage.message.group.id.toBinary()})`
: sentMessage.destination;
console.log(
window.log.info(
'sent message to',
to,
sentMessage.timestamp.toNumber(),
@ -696,10 +703,10 @@ MessageReceiver.prototype.extend({
} else if (syncMessage.blocked) {
return this.handleBlocked(envelope, syncMessage.blocked);
} else if (syncMessage.request) {
console.log('Got SyncMessage Request');
window.log.info('Got SyncMessage Request');
return this.removeFromCache(envelope);
} else if (syncMessage.read && syncMessage.read.length) {
console.log('read messages from', this.getEnvelopeId(envelope));
window.log.info('read messages from', this.getEnvelopeId(envelope));
return this.handleRead(envelope, syncMessage.read);
} else if (syncMessage.verified) {
return this.handleVerified(envelope, syncMessage.verified);
@ -741,7 +748,7 @@ MessageReceiver.prototype.extend({
return Promise.all(results);
},
handleContacts(envelope, contacts) {
console.log('contact sync');
window.log.info('contact sync');
const attachmentPointer = contacts.blob;
return this.handleAttachment(attachmentPointer).then(() => {
const results = [];
@ -764,7 +771,7 @@ MessageReceiver.prototype.extend({
});
},
handleGroups(envelope, groups) {
console.log('group sync');
window.log.info('group sync');
const attachmentPointer = groups.blob;
return this.handleAttachment(attachmentPointer).then(() => {
const groupBuffer = new GroupBuffer(attachmentPointer.data);
@ -802,7 +809,7 @@ MessageReceiver.prototype.extend({
return this.dispatchAndWait(ev);
})
.catch(e => {
console.log('error processing group', e);
window.log.error('error processing group', e);
});
groupDetails = groupBuffer.next();
promises.push(promise);
@ -816,7 +823,7 @@ MessageReceiver.prototype.extend({
});
},
handleBlocked(envelope, blocked) {
console.log('Setting these numbers as blocked:', blocked.numbers);
window.log.info('Setting these numbers as blocked:', blocked.numbers);
textsecure.storage.put('blocked', blocked.numbers);
},
isBlocked(number) {
@ -900,7 +907,7 @@ MessageReceiver.prototype.extend({
address,
options
);
console.log('retrying prekey whisper message');
window.log.info('retrying prekey whisper message');
return this.decryptPreKeyWhisperMessage(
ciphertext,
sessionCipher,
@ -946,7 +953,7 @@ MessageReceiver.prototype.extend({
});
},
async handleEndSession(number) {
console.log('got end session');
window.log.info('got end session');
const deviceIds = await textsecure.storage.protocol.getDeviceIds(number);
return Promise.all(
@ -957,7 +964,7 @@ MessageReceiver.prototype.extend({
address
);
console.log('deleting sessions for', address.toString());
window.log.info('deleting sessions for', address.toString());
return sessionCipher.deleteAllSessionsForDevice();
})
);
@ -1016,7 +1023,7 @@ MessageReceiver.prototype.extend({
textsecure.protobuf.GroupContext.Type.UPDATE
) {
decrypted.group.members = [source];
console.log('Got message for unknown group');
window.log.warn('Got message for unknown group');
}
return textsecure.storage.groups.createNewGroup(
decrypted.group.members,
@ -1027,7 +1034,7 @@ MessageReceiver.prototype.extend({
if (fromIndex < 0) {
// TODO: This could be indication of a race...
console.log(
window.log.warn(
'Sender was not a member of the group they were sending from'
);
}
@ -1082,7 +1089,7 @@ MessageReceiver.prototype.extend({
// this message entirely, like we do for full attachments.
promises.push(
this.handleAttachment(avatar.avatar).catch(error => {
console.log(
window.log.error(
'Problem loading avatar for contact',
error && error.stack ? error.stack : error
);
@ -1108,7 +1115,7 @@ MessageReceiver.prototype.extend({
// this message entirely, like we do for full attachments.
promises.push(
this.handleAttachment(thumbnail).catch(error => {
console.log(
window.log.error(
'Problem loading thumbnail for quote',
error && error.stack ? error.stack : error
);

View file

@ -85,7 +85,7 @@ OutgoingMessage.prototype = {
address
);
if (device.registrationId === 0) {
console.log('device registrationId 0!');
window.log.info('device registrationId 0!');
}
return builder.processPreKey(device).catch(
function(error) {
@ -267,7 +267,7 @@ OutgoingMessage.prototype = {
} else if (error.message === 'Identity key changed') {
error.timestamp = this.timestamp;
error.originalMessage = this.message.toArrayBuffer();
console.log(
window.log.error(
'Got "key changed" error from encrypt - no identityKey for application layer',
number,
deviceIds

View file

@ -15,7 +15,7 @@
window.PROTO_ROOT +
') ' +
(error && error.stack ? error.stack : error);
console.log(text);
window.log.error(text);
throw error;
}
var protos = result.build('signalservice');
@ -26,7 +26,7 @@
' (root: ' +
window.PROTO_ROOT +
')';
console.log(text);
window.log.error(text);
throw new Error(text);
}
for (var protoName in protos) {

View file

@ -663,14 +663,14 @@ MessageSender.prototype = {
},
resetSession: function(number, timestamp) {
console.log('resetting secure session');
window.log.info('resetting secure session');
var proto = new textsecure.protobuf.DataMessage();
proto.body = 'TERMINATE';
proto.flags = textsecure.protobuf.DataMessage.Flags.END_SESSION;
var logError = function(prefix) {
return function(error) {
console.log(prefix, error && error.stack ? error.stack : error);
window.log.error(prefix, error && error.stack ? error.stack : error);
throw error;
};
};
@ -684,7 +684,7 @@ MessageSender.prototype = {
number,
deviceId
);
console.log('deleting sessions for', address.toString());
window.log.info('deleting sessions for', address.toString());
var sessionCipher = new libsignal.SessionCipher(
textsecure.storage.protocol,
address
@ -699,7 +699,7 @@ MessageSender.prototype = {
.catch(logError('resetSession/deleteAllSessions1 error:'))
.then(
function() {
console.log(
window.log.info(
'finished closing local sessions, now sending to contact'
);
return this.sendIndividualProto(number, proto, timestamp).catch(

View file

@ -19,15 +19,15 @@
this.ongroup = this.onGroupSyncComplete.bind(this);
receiver.addEventListener('groupsync', this.ongroup);
console.log('SyncRequest created. Sending contact sync message...');
window.log.info('SyncRequest created. Sending contact sync message...');
sender
.sendRequestContactSyncMessage()
.then(function() {
console.log('SyncRequest now sending group sync messsage...');
window.log.info('SyncRequest now sending group sync messsage...');
return sender.sendRequestGroupSyncMessage();
})
.catch(function(error) {
console.log(
window.log.error(
'SyncRequest error:',
error && error.stack ? error.stack : error
);

View file

@ -17,7 +17,7 @@
' task did not complete in time. Calling stack: ' +
errorForStack.stack;
console.log(message);
window.log.error(message);
return reject(new Error(message));
}
}.bind(this),
@ -31,7 +31,7 @@
clearTimeout(localTimer);
}
} catch (error) {
console.log(
window.log.error(
id || '',
'task ran into problem canceling timer. Calling stack:',
errorForStack.stack

View file

@ -62,7 +62,6 @@ describe('MessageReceiver', function() {
mac,
]);
websocketmessage.request.body = message.toArrayBuffer();
console.log(new Uint8Array(message.toArrayBuffer()));
done();
});
});

View file

@ -168,7 +168,7 @@
return;
}
console.log('WebSocketResource.close()');
window.log.info('WebSocketResource.close()');
if (!code) {
code = 3000;
}
@ -189,7 +189,7 @@
}
this.closed = true;
console.log('Dispatching our own socket close event');
window.log.warn('Dispatching our own socket close event');
var ev = new Event('close');
ev.code = code;
ev.reason = reason;
@ -241,7 +241,7 @@
} else {
this.reset();
}
console.log('Sending a keepalive message');
window.log.info('Sending a keepalive message');
this.wsr.sendRequest({
verb: 'GET',
path: this.path,