Clean some code
This commit is contained in:
parent
29033f344c
commit
06e5c84702
@ -1,49 +0,0 @@
|
|||||||
0 info it worked if it ends with ok
|
|
||||||
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
|
|
||||||
1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
|
|
||||||
1 verbose cli 'run-script',
|
|
||||||
1 verbose cli 'lint' ]
|
|
||||||
2 info using npm@3.6.0
|
|
||||||
3 info using node@v5.6.0
|
|
||||||
4 verbose run-script [ 'prelint', 'lint', 'postlint' ]
|
|
||||||
5 info lifecycle cryptpad@0.1.0~prelint: cryptpad@0.1.0
|
|
||||||
6 silly lifecycle cryptpad@0.1.0~prelint: no script for prelint, continuing
|
|
||||||
7 info lifecycle cryptpad@0.1.0~lint: cryptpad@0.1.0
|
|
||||||
8 verbose lifecycle cryptpad@0.1.0~lint: unsafe-perm in lifecycle true
|
|
||||||
9 verbose lifecycle cryptpad@0.1.0~lint: PATH: C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin;C:\Users\Yann\Documents\Git projects\cryptpad\node_modules\.bin;C:\Users\Yann\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\Yann\bin;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;E:\apache-maven-3.3.9\bin;C:\Program Files (x86)\Skype\Phone;C:\Program Files (x86)\GNU\GnuPG\pub;C:\Users\Yann\.gnupg;C:\Program Files\nodejs;C:\Users\Yann\AppData\Roaming\npm;C:\Program Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl
|
|
||||||
10 verbose lifecycle cryptpad@0.1.0~lint: CWD: C:\Users\Yann\Documents\Git projects\cryptpad
|
|
||||||
11 silly lifecycle cryptpad@0.1.0~lint: Args: [ '/d /s /c',
|
|
||||||
11 silly lifecycle 'jshint --config .jshintrc --exclude-path .jshintignore .' ]
|
|
||||||
12 silly lifecycle cryptpad@0.1.0~lint: Returned: code: 2 signal: null
|
|
||||||
13 info lifecycle cryptpad@0.1.0~lint: Failed to exec lint script
|
|
||||||
14 verbose stack Error: cryptpad@0.1.0 lint: `jshint --config .jshintrc --exclude-path .jshintignore .`
|
|
||||||
14 verbose stack Exit status 2
|
|
||||||
14 verbose stack at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\lifecycle.js:232:16)
|
|
||||||
14 verbose stack at emitTwo (events.js:100:13)
|
|
||||||
14 verbose stack at EventEmitter.emit (events.js:185:7)
|
|
||||||
14 verbose stack at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\spawn.js:24:14)
|
|
||||||
14 verbose stack at emitTwo (events.js:100:13)
|
|
||||||
14 verbose stack at ChildProcess.emit (events.js:185:7)
|
|
||||||
14 verbose stack at maybeClose (internal/child_process.js:827:16)
|
|
||||||
14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
|
|
||||||
15 verbose pkgid cryptpad@0.1.0
|
|
||||||
16 verbose cwd C:\Users\Yann\Documents\Git projects\cryptpad
|
|
||||||
17 error Windows_NT 10.0.10586
|
|
||||||
18 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run-script" "lint"
|
|
||||||
19 error node v5.6.0
|
|
||||||
20 error npm v3.6.0
|
|
||||||
21 error code ELIFECYCLE
|
|
||||||
22 error cryptpad@0.1.0 lint: `jshint --config .jshintrc --exclude-path .jshintignore .`
|
|
||||||
22 error Exit status 2
|
|
||||||
23 error Failed at the cryptpad@0.1.0 lint script 'jshint --config .jshintrc --exclude-path .jshintignore .'.
|
|
||||||
23 error Make sure you have the latest version of node.js and npm installed.
|
|
||||||
23 error If you do, this is most likely a problem with the cryptpad package,
|
|
||||||
23 error not with npm itself.
|
|
||||||
23 error Tell the author that this fails on your system:
|
|
||||||
23 error jshint --config .jshintrc --exclude-path .jshintignore .
|
|
||||||
23 error You can get information on how to open an issue for this project with:
|
|
||||||
23 error npm bugs cryptpad
|
|
||||||
23 error Or if that isn't available, you can get their info via:
|
|
||||||
23 error npm owner ls cryptpad
|
|
||||||
23 error There is likely additional logging output above.
|
|
||||||
24 verbose exit [ 1, true ]
|
|
||||||
@ -28,6 +28,12 @@ define([
|
|||||||
var PARANOIA = true;
|
var PARANOIA = true;
|
||||||
var module = { exports: {} };
|
var module = { exports: {} };
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If an error is encountered but it is recoverable, do not immediately fail
|
||||||
|
* but if it keeps firing errors over and over, do fail.
|
||||||
|
*/
|
||||||
|
var MAX_RECOVERABLE_ERRORS = 15;
|
||||||
|
|
||||||
var debug = function (x) { console.log(x); },
|
var debug = function (x) { console.log(x); },
|
||||||
warn = function (x) { console.error(x); },
|
warn = function (x) { console.error(x); },
|
||||||
verbose = function (x) { console.log(x); };
|
verbose = function (x) { console.log(x); };
|
||||||
@ -92,7 +98,6 @@ define([
|
|||||||
var userName = config.userName;
|
var userName = config.userName;
|
||||||
var channel = config.channel;
|
var channel = config.channel;
|
||||||
var cryptKey = config.cryptKey;
|
var cryptKey = config.cryptKey;
|
||||||
|
|
||||||
var passwd = 'y';
|
var passwd = 'y';
|
||||||
|
|
||||||
// make sure configuration is defined
|
// make sure configuration is defined
|
||||||
@ -101,19 +106,35 @@ define([
|
|||||||
var doc = config.doc || null;
|
var doc = config.doc || null;
|
||||||
|
|
||||||
// trying to deprecate onRemote, prefer loading it via the conf
|
// trying to deprecate onRemote, prefer loading it via the conf
|
||||||
onRemote = config.onRemote || null;
|
var onRemote = config.onRemote || null;
|
||||||
|
|
||||||
transformFunction = config.transformFunction || null;
|
|
||||||
|
|
||||||
// define this in case it gets called before the rest of our stuff is ready.
|
// define this in case it gets called before the rest of our stuff is ready.
|
||||||
var onEvent = function () { };
|
var onEvent = function () { };
|
||||||
|
|
||||||
var allMessages = [];
|
var allMessages = [];
|
||||||
var initializing = true;
|
var initializing = true;
|
||||||
|
var recoverableErrorCount = 0;
|
||||||
var bump = function () {};
|
var bump = function () {};
|
||||||
|
|
||||||
var messagesHistory = [];
|
var messagesHistory = [];
|
||||||
|
var chainpadAdapter = {};
|
||||||
|
var realtime;
|
||||||
|
|
||||||
|
var parseMessage = function (msg) {
|
||||||
|
var res ={};
|
||||||
|
// two or more? use a for
|
||||||
|
['pass','user','channelId','content'].forEach(function(attr){
|
||||||
|
var len=msg.slice(0,msg.indexOf(':')),
|
||||||
|
// taking an offset lets us slice out the prop
|
||||||
|
// and saves us one string copy
|
||||||
|
o=len.length+1,
|
||||||
|
prop=res[attr]=msg.slice(o,Number(len)+o);
|
||||||
|
// slice off the property and its descriptor
|
||||||
|
msg = msg.slice(prop.length+o);
|
||||||
|
});
|
||||||
|
// content is the only attribute that's not a string
|
||||||
|
res.content=JSON.parse(res.content);
|
||||||
|
return res;
|
||||||
|
};
|
||||||
|
|
||||||
var mkMessage = function (user, channel, content) {
|
var mkMessage = function (user, channel, content) {
|
||||||
content = JSON.stringify(content);
|
content = JSON.stringify(content);
|
||||||
@ -122,7 +143,55 @@ define([
|
|||||||
content.length + ':' + content;
|
content.length + ':' + content;
|
||||||
};
|
};
|
||||||
|
|
||||||
var chainpadAdapter = {
|
var onPeerMessage = function(toId, type, wc) {
|
||||||
|
if(type === 6) {
|
||||||
|
messagesHistory.forEach(function(msg) {
|
||||||
|
var fromId = chainpadAdapter.historyOut('1:y'+msg) || wc.myID;
|
||||||
|
wc.sendTo(fromId, toId, '1:y'+msg);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var whoami = new RegExp(userName.replace(/[\/\+]/g, function (c) {
|
||||||
|
return '\\' +c;
|
||||||
|
}));
|
||||||
|
|
||||||
|
var onMessage = function(peer, msg) {
|
||||||
|
|
||||||
|
var message = chainpadAdapter.msgIn(peer, msg);
|
||||||
|
|
||||||
|
verbose(message);
|
||||||
|
allMessages.push(message);
|
||||||
|
if (!initializing) {
|
||||||
|
if (PARANOIA) {
|
||||||
|
onEvent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
realtime.message(message);
|
||||||
|
if (/\[5,/.test(message)) { verbose("pong"); }
|
||||||
|
|
||||||
|
if (!initializing) {
|
||||||
|
if (/\[2,/.test(message)) {
|
||||||
|
//verbose("Got a patch");
|
||||||
|
if (whoami.test(message)) {
|
||||||
|
//verbose("Received own message");
|
||||||
|
} else {
|
||||||
|
//verbose("Received remote message");
|
||||||
|
// obviously this is only going to get called if
|
||||||
|
if (onRemote) { onRemote(realtime.getUserDoc()); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var onJoining = function(peer) {
|
||||||
|
};
|
||||||
|
|
||||||
|
var onLeaving = function(peer) {
|
||||||
|
chainpadAdapter.leaving(peer);
|
||||||
|
};
|
||||||
|
|
||||||
|
chainpadAdapter = {
|
||||||
usernamesMapping : {},
|
usernamesMapping : {},
|
||||||
msgIn : function(peerId, msg) {
|
msgIn : function(peerId, msg) {
|
||||||
var parsed = parseMessage(msg);
|
var parsed = parseMessage(msg);
|
||||||
@ -158,7 +227,7 @@ define([
|
|||||||
},
|
},
|
||||||
leaving : function(peerId) {
|
leaving : function(peerId) {
|
||||||
if(this.usernamesMapping[peerId]) {
|
if(this.usernamesMapping[peerId]) {
|
||||||
var chainpadUser = this.usernamesMapping[peerId]
|
var chainpadUser = this.usernamesMapping[peerId];
|
||||||
onMessage('', '1:y'+mkMessage(chainpadUser, channel, [3,0]));
|
onMessage('', '1:y'+mkMessage(chainpadUser, channel, [3,0]));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -168,7 +237,7 @@ define([
|
|||||||
var value = parsed.user;
|
var value = parsed.user;
|
||||||
var obj = this.usernamesMapping;
|
var obj = this.usernamesMapping;
|
||||||
// Find the key (peerId) associated to the chainpad user in the map
|
// Find the key (peerId) associated to the chainpad user in the map
|
||||||
var peerId = Object.keys(obj).filter(function(key) {return obj[key] === value})[0];
|
var peerId = Object.keys(obj).filter(function(key) {return obj[key] === value;})[0];
|
||||||
return peerId;
|
return peerId;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@ -180,7 +249,6 @@ define([
|
|||||||
};
|
};
|
||||||
|
|
||||||
var rtc = true;
|
var rtc = true;
|
||||||
var realtime;
|
|
||||||
|
|
||||||
if(!getParameterByName("webrtc") || !webrtcUrl) {
|
if(!getParameterByName("webrtc") || !webrtcUrl) {
|
||||||
rtc = false;
|
rtc = false;
|
||||||
@ -211,11 +279,11 @@ define([
|
|||||||
wc.onLeaving = onLeaving; // On user leaving the session
|
wc.onLeaving = onLeaving; // On user leaving the session
|
||||||
wc.onPeerMessage = function(peerId, type) {
|
wc.onPeerMessage = function(peerId, type) {
|
||||||
onPeerMessage(peerId, type, wc);
|
onPeerMessage(peerId, type, wc);
|
||||||
}
|
};
|
||||||
|
|
||||||
window.onunload = function() {
|
window.onunload = function() {
|
||||||
wc.leave();
|
wc.leave();
|
||||||
}
|
};
|
||||||
|
|
||||||
// Open a Chainpad session
|
// Open a Chainpad session
|
||||||
realtime = createRealtime();
|
realtime = createRealtime();
|
||||||
@ -249,7 +317,7 @@ define([
|
|||||||
// Get the channel history
|
// Get the channel history
|
||||||
var hc;
|
var hc;
|
||||||
if(rtc) {
|
if(rtc) {
|
||||||
for (let c of wc.channels) { hc = c; break; }
|
wc.channels.forEach(function (c) { if(!hc) { hc = c; } });
|
||||||
if(hc) {
|
if(hc) {
|
||||||
wc.getHistory(hc.peerID);
|
wc.getHistory(hc.peerID);
|
||||||
}
|
}
|
||||||
@ -298,54 +366,6 @@ define([
|
|||||||
|
|
||||||
joinChannel();
|
joinChannel();
|
||||||
|
|
||||||
var whoami = new RegExp(userName.replace(/[\/\+]/g, function (c) {
|
|
||||||
return '\\' +c;
|
|
||||||
}));
|
|
||||||
|
|
||||||
var onPeerMessage = function(toId, type, wc) {
|
|
||||||
if(type === 6) {
|
|
||||||
messagesHistory.forEach(function(msg) {
|
|
||||||
var fromId = chainpadAdapter.historyOut('1:y'+msg) || wc.myID;
|
|
||||||
wc.sendTo(fromId, toId, '1:y'+msg);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var onMessage = function(peer, msg) {
|
|
||||||
|
|
||||||
message = chainpadAdapter.msgIn(peer, msg);
|
|
||||||
|
|
||||||
verbose(message);
|
|
||||||
allMessages.push(message);
|
|
||||||
if (!initializing) {
|
|
||||||
if (PARANOIA) {
|
|
||||||
onEvent();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
realtime.message(message);
|
|
||||||
if (/\[5,/.test(message)) { verbose("pong"); }
|
|
||||||
|
|
||||||
if (!initializing) {
|
|
||||||
if (/\[2,/.test(message)) {
|
|
||||||
//verbose("Got a patch");
|
|
||||||
if (whoami.test(message)) {
|
|
||||||
//verbose("Received own message");
|
|
||||||
} else {
|
|
||||||
//verbose("Received remote message");
|
|
||||||
// obviously this is only going to get called if
|
|
||||||
if (onRemote) { onRemote(realtime.getUserDoc()); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var onJoining = function(peer) {
|
|
||||||
}
|
|
||||||
|
|
||||||
var onLeaving = function(peer) {
|
|
||||||
chainpadAdapter.leaving(peer);
|
|
||||||
}
|
|
||||||
|
|
||||||
var checkConnection = function(wc) {
|
var checkConnection = function(wc) {
|
||||||
if(wc.channels && wc.channels.size > 0) {
|
if(wc.channels && wc.channels.size > 0) {
|
||||||
var channels = Array.from(wc.channels);
|
var channels = Array.from(wc.channels);
|
||||||
@ -373,23 +393,6 @@ define([
|
|||||||
}
|
}
|
||||||
}, 200);
|
}, 200);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
var parseMessage = function (msg) {
|
|
||||||
var res ={};
|
|
||||||
// two or more? use a for
|
|
||||||
['pass','user','channelId','content'].forEach(function(attr){
|
|
||||||
var len=msg.slice(0,msg.indexOf(':')),
|
|
||||||
// taking an offset lets us slice out the prop
|
|
||||||
// and saves us one string copy
|
|
||||||
o=len.length+1,
|
|
||||||
prop=res[attr]=msg.slice(o,Number(len)+o);
|
|
||||||
// slice off the property and its descriptor
|
|
||||||
msg = msg.slice(prop.length+o);
|
|
||||||
});
|
|
||||||
// content is the only attribute that's not a string
|
|
||||||
res.content=JSON.parse(res.content);
|
|
||||||
return res;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user