diff --git a/client-monitor.js b/client-monitor.js index da7164f..aec177c 100644 --- a/client-monitor.js +++ b/client-monitor.js @@ -1111,7 +1111,11 @@ async function executarSincronizacaoLocal() { addLog('⚠️ Sincronização local já está em execução. Ignorando nova chamada concorrente.'); return; } - + if (isSendingPaused) { + addLog('⏸️ Envio pausado — sincronização ignorada. Clique em "Continuar Envio".'); + return; + } + isSyncing = true; const pastaImagensSensor = config.monitorPath; if (!fs.existsSync(pastaImagensSensor)) { @@ -1561,5 +1565,14 @@ if (process.send) { addLog('🔄 [IPC] Recebida solicitação de varredura local...'); await executarSincronizacaoLocal(); } + if (msg && msg.command === 'pause') { + isSendingPaused = true; + addLog('⏸️ [IPC] Envio de imagens PAUSADO pelo usuário.'); + } + if (msg && msg.command === 'resume') { + isSendingPaused = false; + addLog('▶️ [IPC] Envio de imagens RETOMADO. Processando fila pendente...'); + processQueue(); + } }); } diff --git a/index.js b/index.js index 37cf120..4d0f910 100644 --- a/index.js +++ b/index.js @@ -231,6 +231,13 @@ function startMonitorProcess() { currentStatus.identified = false; updateTrayMenu(); }); + + // Se o envio estava pausado, reaplica o estado no monitor recém-iniciado + if (isSendingPaused) { + setTimeout(() => { + if (monitorProcess) monitorProcess.send({ command: 'pause' }); + }, 2500); + } } function createConfigWindow() { diff --git a/package.json b/package.json index af2ca33..617277b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rx.scoreodonto.com-client", - "version": "1.2.8", + "version": "1.2.9", "author": "ScoreOdonto", "description": "Cliente Windows para envio de imagens dentais da ScoreOdonto", "main": "index.js",