From b23114ace21a65c4a55c47d49a9976642e102b89 Mon Sep 17 00:00:00 2001 From: VPS 4 Builder Date: Sun, 31 May 2026 03:01:15 +0200 Subject: [PATCH] fix(client): completa handlers pause/resume que faltaram no 1.2.8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit O 1.2.8 enviava os comandos IPC pause/resume pela bandeja, mas o client-monitor.js não tinha os handlers — pausa não tinha efeito. - client-monitor: adiciona handlers IPC pause/resume - Guarda de pausa no início de executarSincronizacaoLocal + break no loop - index.js: reaplica estado de pausa se o monitor reiniciar - Bump 1.2.8 → 1.2.9 Co-Authored-By: Claude Opus 4.8 --- client-monitor.js | 15 ++++++++++++++- index.js | 7 +++++++ package.json | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) 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",