mirror of
https://github.com/zadam/trilium.git
synced 2025-11-18 03:00:41 +01:00
#98, sync button now shows total number of outstanding syncs instead of just pushes
This commit is contained in:
@@ -2,8 +2,6 @@ const WebSocket = require('ws');
|
||||
const utils = require('./utils');
|
||||
const log = require('./log');
|
||||
const sql = require('./sql');
|
||||
const optionService = require('./options');
|
||||
const syncSetup = require('./sync_setup');
|
||||
|
||||
let webSocketServer;
|
||||
|
||||
@@ -65,15 +63,12 @@ async function sendMessageToAllClients(message) {
|
||||
|
||||
async function sendPing(client, lastSentSyncId) {
|
||||
const syncData = await sql.getRows("SELECT * FROM sync WHERE id > ?", [lastSentSyncId]);
|
||||
|
||||
const lastSyncedPush = await optionService.getOption('lastSyncedPush');
|
||||
|
||||
const changesToPushCount = await sql.getValue("SELECT COUNT(*) FROM sync WHERE id > ?", [lastSyncedPush]);
|
||||
const stats = require('./sync').stats;
|
||||
|
||||
await sendMessage(client, {
|
||||
type: 'sync',
|
||||
data: syncData,
|
||||
changesToPushCount: await syncSetup.isSyncSetup() ? changesToPushCount : 0
|
||||
outstandingSyncs: stats.outstandingPushes + stats.outstandingPulls
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -151,8 +151,6 @@ async function pushSync(syncContext) {
|
||||
if (filteredSyncs.length === 0) {
|
||||
log.info("Nothing to push");
|
||||
|
||||
stats.outstandingPushes = 0;
|
||||
|
||||
await setLastSyncedPush(lastSyncedPush);
|
||||
|
||||
break;
|
||||
@@ -170,8 +168,6 @@ async function pushSync(syncContext) {
|
||||
lastSyncedPush = syncRecords[syncRecords.length - 1].sync.id;
|
||||
|
||||
await setLastSyncedPush(lastSyncedPush);
|
||||
|
||||
stats.outstandingPushes = await sql.getValue(`SELECT MAX(id) FROM sync`) - lastSyncedPush;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -299,6 +295,12 @@ async function setLastSyncedPush(lastSyncedPush) {
|
||||
await optionService.setOption('lastSyncedPush', lastSyncedPush);
|
||||
}
|
||||
|
||||
async function updatePushStats() {
|
||||
const lastSyncedPush = await optionService.getOption('lastSyncedPush');
|
||||
|
||||
stats.outstandingPushes = await sql.getValue("SELECT COUNT(*) FROM sync WHERE id > ?", [lastSyncedPush]);
|
||||
}
|
||||
|
||||
sqlInit.dbReady.then(async () => {
|
||||
if (await syncSetup.isSyncSetup()) {
|
||||
log.info("Setting up sync to " + await syncSetup.getSyncServer() + " with timeout " + await syncSetup.getSyncTimeout());
|
||||
@@ -313,6 +315,8 @@ sqlInit.dbReady.then(async () => {
|
||||
|
||||
// kickoff initial sync immediately
|
||||
setTimeout(cls.wrap(sync), 1000);
|
||||
|
||||
setInterval(cls.wrap(updatePushStats), 1000);
|
||||
}
|
||||
else {
|
||||
log.info("Sync server not configured, sync timer not running.")
|
||||
|
||||
Reference in New Issue
Block a user