--- name: notifier-v185-blindagem-2026-05-12 description: "Notifier v1.8.5 — pasta oculta, config criptografado, ghost icons periodicos, watchdog pre-login" metadata: node_type: memory type: project originSessionId: 3cc4e2da-474d-47ee-96aa-7e15c6fdf186 --- # Notifier v1.8.5 — Blindagem total (2026-05-12) ## Pedido do usuario 1. Pasta do notifier oculta para colaborador nao mexer 2. Arquivos criptografados pra nao alterar 3. Popups demanda a cada 10 min (chat/wa instantaneo permanece) 4. Fix multiplos icones na bandeja do relogio 5. Fix colaborador fecha e nao reabre ## Mudancas v1.8.5 ### Pasta oculta + arquivos protegidos - `main.py::_hide_app_folders()` aplica `FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM` em: - `%LOCALAPPDATA%\GoTechBR Notifier` (watchdog VBS, logs, mesh agent) - `%APPDATA%\GoTechBR Notifier` (config.enc, tokens) - `C:\ProgramData\GoTechBR` (watcher.ps1 da protecao SYSTEM) - Thread em background re-aplica hidden a cada 60s para arquivos novos (VBS, logs, etc) - `config.py::save()` agora marca `config.enc` como HIDDEN+SYSTEM em cada save ### Encryption - `config.enc` ja usa Fernet (chave derivada de hostname+user) desde v1.7 - Demais arquivos (VBS, log, .exe) nao precisam de cripto — sao gerados pelo proprio app ou sao essenciais para execucao. Atributo HIDDEN+SYSTEM e suficiente para colaborador comum. ### Demanda 10 min (confirmado) - `notifier.py:204` ja tinha `agora - self._last_demanda_popup >= 600` desde v1.8.3 - Sem mudancas ### Ghost icons periodico - `tray.py::run()` agora dispara thread que chama `_cleanup_ghost_icons()` a cada 30s - Era chamado uma vez so na inicializacao — quando notifier antigo morria abrupto, icone fantasma ficava - Agora limpa continuamente ### Watchdog pre-login - ANTES: `start_watchdog()` so apos auth passar — se user fechasse a janela de login, scheduled tasks nunca eram instaladas → app ficava morto - DEPOIS: `start_watchdog()` chamado IMEDIATAMENTE apos `ConfigManager`/`AuthManager`, antes de `LoginWindow`. Resultado: scheduled tasks reinstalam o app mesmo se user fechar antes de logar. ## Build + Deploy ``` cd D:\xampp\htdocs\intranet\desktop-notifier python -m PyInstaller --onedir --noconsole --name "GoTechBR Notifier" --icon assets/icon.ico --add-data "assets;assets" gotech_notifier/main.py --distpath dist_onedir --clean -y Compress-Archive -Path 'dist_onedir\GoTechBR Notifier' -DestinationPath GoTechBR-Notifier.zip -CompressionLevel Optimal pscp GoTechBR-Notifier.zip root@server:writable/downloads/ echo -n "1.8.5" > writable/downloads/notifier-version.txt ``` Auto-update do notifier verifica `notifier-version.txt` periodicamente. Em <= 5 min, todas as maquinas atualizam para 1.8.5. ## Backups no servidor - `writable/downloads/GoTechBR-Notifier.zip.bak_184` - `writable/downloads/notifier-version.txt.bak_184` (continha "1.8.4") Ver tambem: [[desktop_notifier]], [[notifier_defesa_reforcada_2026_04_27]].