Commit Graph

20 Commits

Author SHA1 Message Date
VPS 4 Builder 0063b23c45 feat(client): plan-b — handler reupload-files para imagens ausentes no Wasabi
continuous-integration/webhook Falha no build do client (VPS4)
Quando o servidor não encontra nem thumb nem original no Wasabi, emite
'reupload-files' com a lista de original_filenames para o cliente.

O cliente (client-monitor.js):
- Ouve 'reupload-files' e para cada filename busca localmente em monitorPath
- Remove do uploadedCache (força reenvio mesmo que já conste como enviado)
- Chama sendImageToServer com bypassCache=true
- Respeita isSendingPaused
- Loga resultado (reenviados / não encontrados localmente)

O processo Electron (index.js) exibe balão informativo quando o reenvio
é solicitado, para o usuário saber que algo está acontecendo.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 06:52:49 +02:00
VPS 4 Builder ff3b4e5934 fix(client): notificação Wasabi + ordem de envio mais recente primeiro
Item 2 — Notificação de erro do Wasabi:
- client-monitor.js: notifyWasabiError() envia evento IPC 'wasabi-error'
  ao processo Electron em dois cenários: falha no Direct Upload e Wasabi
  indisponível no servidor. Throttle de 60s para não inundar o usuário.
- index.js: trata 'wasabi-error' no handler IPC do monitorProcess e exibe
  tray.displayBalloon com iconType 'error'.

Item 5 — Ordem de envio (mais novas primeiro):
- executarSincronizacaoLocal: após filtrar imagens, ordena por mtime DESC
  antes de enfileirar — dentista recebe primeiro as imagens do atendimento
  atual em vez de receber em ordem arbitrária do filesystem.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 05:12:07 +02:00
VPS 4 Builder 74ecdc1c0c fix(client): merge v1.3.0 — anti-loop updater, config backup, NSIS safe
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 05:06:27 +02:00
VPS 4 Builder 45b4c2215c fix(client): v1.3.0 — anti-loop updater, config backup, NSIS safe
Itens 0, 3 e 4 do plano de correção:

ITEM 0 — Preservar dados na atualização (não reconfigurar do zero)
- index.js: loadConfig/saveConfig grava config.backup.json a cada
  gravação válida; ao iniciar, restaura do backup se config.json
  sumir ou corromper — protege clientId e credenciais.
- client-monitor.js: nova persistConfig() grava config + backup juntos;
  aplicada nos 3 pontos que escrevem o config (clientId init, painel
  local, wizard CLI).
- package.json: deleteAppDataOnUninstall: false explícito.

ITEM 3 — Duplicatas na lista de apps do Windows
- Mantido perMachine: false consistente; GUID derivado do appId
  (não adicionado explícito para não criar 3ª entrada).
- deleteAppDataOnUninstall: false garante AppData intacto.

ITEM 4 — Loop de notificação de nova versão
- Trava anti-loop: conta tentativas por versão em update-state.json;
  após 3 falhas da mesma versão, para de auto-instalar e notifica
  balão com mensagem para reinstalar manualmente.
- reconcileUpdateState() no boot zera o contador quando a versão
  realmente avançou (instalação bem-sucedida).
- autoUpdater.on('error') agora exibe balão com erro real (throttle 60s).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 05:05:36 +02:00
VPS 4 Builder b23114ace2 fix(client): completa handlers pause/resume que faltaram no 1.2.8
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 <noreply@anthropic.com>
2026-05-31 03:01:15 +02:00
VPS 4 Builder 3c6b62126e 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>
2026-05-31 02:57:43 +02:00
VPS 4 Builder bfcf84c5ac fix(updater): auto-restart após download + perMachine false para silent install
- perMachine: false → instala em %LocalAppData% sem UAC, permitindo silent update
- update-downloaded: chama quitAndInstall(true, true) automaticamente após 15s
- Contagem regressiva visível no tray tooltip e menu
- Botão "Instalar Agora" cancela o countdown e instala imediatamente
- isSilent=true + isForceRunAfter=true: sem janela do instalador, reabre após instalar

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 02:49:57 +02:00
VPS 4 Builder 2a26f72460 feat(client): envia clinicName no identify e migra upload para Presigned URLs
- client-monitor.js: adiciona clinicName no client-identify (fallback para auth legada)
- Direct Upload via Presigned URLs (bypass VPS) como caminho principal
- Fallback automático para envio via VPS se Wasabi não disponível
- Thumbnail gerado localmente via IPC com index.js (remove dependência sharp)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 02:06:19 +02:00
VPS 4 Builder 32f27ebe56 docs: sync wiki com instrucoes wasabi e versionamento 2026-05-29 04:30:30 +02:00
VPS 4 Builder 53bbb1b941 docs: adicionar documentacao completa e versionada na pasta docs/wiki 2026-05-29 04:27:18 +02:00
AI Assistant f3f4b66fec Add WIKI_DEPLOY_CLIENT.md 2026-05-29 04:13:39 +02:00
VPS 4 Builder 72acf0ebfc fix: corrige a tela de logs que ficava vazia ao abrir a tela de configuracao depois da primeira vez 2026-05-28 03:55:12 +02:00
VPS 4 Builder 347b96b1b0 feat: adiciona acompanhamento de % de download na bandeja 2026-05-28 03:31:10 +02:00
VPS 4 Builder b638296b32 fix: adiciona versao dinamica na interface e notificacao de update 2026-05-28 03:16:27 +02:00
VPS 4 Builder a29c9e41af fix: remove propriedade publisherName pois author ja é suficiente 2026-05-28 03:08:27 +02:00
VPS 4 Builder 59ae272c13 fix: corrige syntaxe do publisherName no build do electron 2026-05-28 03:07:55 +02:00
VPS 4 Builder 513cc85f45 fix: adiciona fornecedor ScoreOdonto no package.json 2026-05-28 03:07:22 +02:00
VPS 4 Builder be20c91e15 chore: rename repo to rx.scoreodonto.com-client 2026-05-28 02:38:48 +02:00
VPS 4 Builder db99057022 feat: código inicial do client Electron com auto-updater integrado 2026-05-28 02:05:32 +02:00
ruicesar 94990ba299 Initial commit 2026-05-28 02:01:58 +02:00