diff --git a/src/services/options_init.js b/src/services/options_init.js index 9303b9466..d17637364 100644 --- a/src/services/options_init.js +++ b/src/services/options_init.js @@ -51,7 +51,7 @@ function initNotSyncedOptions(initialized, startNotePath = 'root', opts = {}) { optionService.createOption('theme', opts.theme || 'white', false); optionService.createOption('syncServerHost', opts.syncServerHost || '', false); - optionService.createOption('syncServerTimeout', '5000', false); + optionService.createOption('syncServerTimeout', '60000', false); optionService.createOption('syncProxy', opts.syncProxy || '', false); } diff --git a/src/services/sync.js b/src/services/sync.js index ee8b5ac5a..a34c778eb 100644 --- a/src/services/sync.js +++ b/src/services/sync.js @@ -132,6 +132,9 @@ async function pullSync(syncContext) { const startDate = Date.now(); const resp = await syncRequest(syncContext, 'GET', changesUri); + + const pulledDate = Date.now(); + stats.outstandingPulls = resp.maxSyncId - lastSyncedPull; if (stats.outstandingPulls < 0) { @@ -162,7 +165,7 @@ async function pullSync(syncContext) { setLastSyncedPull(rows[rows.length - 1].sync.id); }); - log.info(`Pulled and updated ${rows.length} changes from ${changesUri} in ${Date.now() - startDate}ms`); + log.info(`Pulled ${rows.length} changes in ${pulledDate - startDate}ms from ${changesUri} and applied them in ${Date.now() - pulledDate}ms`); } if (appliedPulls > 0) { diff --git a/src/services/utils.js b/src/services/utils.js index c180bea5b..1f0cf52aa 100644 --- a/src/services/utils.js +++ b/src/services/utils.js @@ -238,6 +238,9 @@ function getNoteTitle(filePath, replaceUnderscoresWithSpaces, noteMeta) { } function timeLimit(promise, limitMs) { + // better stack trace if created outside of promise + const error = new Error('Process exceeded time limit ' + limitMs); + return new Promise((res, rej) => { let resolved = false; @@ -250,7 +253,7 @@ function timeLimit(promise, limitMs) { setTimeout(() => { if (!resolved) { - rej(new Error('Process exceeded time limit ' + limitMs)); + rej(error); } }, limitMs); });