feat(client): pausar/continuar envio com auto-retomada após 10 min
- Checkbox "Pausar Envio de Imagens" na bandeja (tray) - Auto-retomada automática após 10 min de pausa (caso usuário esqueça) - client-monitor: comandos IPC pause/resume; processQueue e executarSincronizacaoLocal respeitam a pausa, mantendo imagens na fila sem perdê-las - Estado de pausa reaplicado se o monitor reiniciar - "Forçar Sincronização" retoma o envio automaticamente se estiver pausado - Bump 1.2.7 → 1.2.8 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+17
-4
@@ -1128,8 +1128,12 @@ async function executarSincronizacaoLocal() {
|
||||
let processadas = 0;
|
||||
|
||||
for (const file of imagens) {
|
||||
if (isSendingPaused) {
|
||||
addLog(`⏸️ Envio pausado durante a sincronização — interrompendo. ${processadas} já processadas.`);
|
||||
break;
|
||||
}
|
||||
const filePath = path.join(pastaImagensSensor, file);
|
||||
|
||||
|
||||
const stat = fs.statSync(filePath);
|
||||
if (stat.isDirectory()) {
|
||||
continue;
|
||||
@@ -1156,12 +1160,17 @@ async function executarSincronizacaoLocal() {
|
||||
// Fila para processar uploads de forma sequencial
|
||||
const uploadQueue = [];
|
||||
let isProcessingQueue = false;
|
||||
let isSendingPaused = false; // Controle de pausa/continuação do envio
|
||||
|
||||
async function processQueue() {
|
||||
if (isProcessingQueue) return;
|
||||
if (isSendingPaused) {
|
||||
addLog(`⏸️ Envio pausado — ${uploadQueue.length} imagem(ns) aguardando na fila.`);
|
||||
return;
|
||||
}
|
||||
isProcessingQueue = true;
|
||||
|
||||
while (uploadQueue.length > 0) {
|
||||
|
||||
while (uploadQueue.length > 0 && !isSendingPaused) {
|
||||
const item = uploadQueue.shift();
|
||||
const nextPath = item.filePath;
|
||||
const isBacklog = item.isBacklog;
|
||||
@@ -1171,8 +1180,12 @@ async function processQueue() {
|
||||
addLog(`⚠️ Falha ao processar upload de ${path.basename(nextPath)}: ${e.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
isProcessingQueue = false;
|
||||
|
||||
if (isSendingPaused && uploadQueue.length > 0) {
|
||||
addLog(`⏸️ Envio pausado — ${uploadQueue.length} imagem(ns) permanecem na fila.`);
|
||||
}
|
||||
}
|
||||
|
||||
// Função de Monitoramento da Pasta de Imagens (Chokidar)
|
||||
|
||||
Reference in New Issue
Block a user