require.config({ paths: { 'json.sortify': '/bower_components/json.sortify/dist/JSON.sortify' } }); define([ '/common/cryptpad-common.js', '/common/pinpad.js', '/bower_components/jquery/dist/jquery.min.js', ], function (Cryptpad, Pinpad) { var $ = window.jQuery; var APP = window.APP = { Cryptpad: Cryptpad, }; var then = function (call) { call.getFileSize('26f014b2ab959418605ea37a6785f317', function (e, msg) { if (e) { if (e === 'ENOENT') { return; } return void console.error(e); } console.error("EXPECTED ENOENT"); console.log(msg); }); call.getFileSize('pewpew', function (e, msg) { if (e) { if (e === 'INVALID_CHAN') { return; } return void console.error(e); } console.log(msg); }); var list = Cryptpad.getUserChannelList(); if (list.length) { call.getFileSize(list[0], function (e, msg) { if (e) { return void console.error(e); } console.log(msg); }); } call.getServerHash(function (e, hash) { if (e) { return void console.error(e); } console.log("the server believes your user hash is [%s]", hash); }); }; var synchronize = function (call) { var localHash = call.localChannelsHash(); var serverHash; call.getFileListSize(function (e, bytes) { if (e) { return void console.error(e); } console.log("%s total bytes used", bytes); }); call.getServerHash(function (e, hash) { if (e) { return void console.error(e); } serverHash = hash; if (serverHash === localHash) { return console.log("all your pads are pinned. There is nothing to do"); } call.reset(function (e, response) { if (e) { return console.error(e); } var list = call.uniqueChannelList(); var left = list.length; // now start pinning... list.forEach(function (channel) { call.pin(channel, function (e, hash) { left--; if (!e) { console.log('pinned channel [%s]. new hash is [%s]', channel, hash); } else { console.error(e); } if (left === 0) { console.log('done pinning'); } }); }); }); /* console.log(JSON.stringify({ local: localHash, remote: serverHash, }, null, 2));*/ }); }; $(function () { Cryptpad.ready(function (err, env) { Pinpad.create(function (e, call) { if (e) { return void console.error(e); } // then(call); synchronize(call); }); }); }); });