Adiciona auto-reload do Chromium via CDP por stream

---

- Adicionado scripts/autoreload.sh: loop com reload via WebSocket CDP raw (net + frames manuais), sem dependências externas; trap de SIGTERM encerra limpo sem aguardar o sleep;
- Adicionado [program:autoreload-{{STREAM_ID}}] em stream.template.conf com autostart=false e autorestart=unexpected;
- Adicionados campos AUTO_RELOAD e AUTO_RELOAD_INTERVAL em reprovision.mjs e supervisor.ts (provisionStream);
- Adicionados campos autoReload e autoReloadInterval em src/types/stream.ts;
- Adicionado autoreload nas listas de startStream e stopStream em supervisor.ts; adicionada função applyAutoReload;
- Adicionado endpoint dedicado POST /api/streams/[id]/autoreload: salva, re-provisiona e aplica sem reiniciar o stream inteiro;
- Adicionado toggle + input de intervalo (minutos) no menu de 3 pontos do card em StreamCard.tsx; toggle pill corrigido com posicionamento left absoluto;
- Atualizado README e CHANGELOG com a nova feature;

---
This commit is contained in:
2026-04-27 22:05:41 -03:00
parent 6315cd1312
commit 8befd6aca5
15 changed files with 180 additions and 5 deletions
+3 -1
View File
@@ -48,7 +48,9 @@ for (const stream of streams) {
THREADS: stream.threads ?? 0,
USER: stream.user ?? '',
PASS: stream.pass ?? '',
GPU_FLAGS: stream.gpu ? '' : ' --disable-gpu \\\n',
GPU_FLAGS: stream.gpu ? '' : ' --disable-gpu \\\n',
AUTO_RELOAD: stream.autoReload ? 'true' : 'false',
AUTO_RELOAD_INTERVAL: stream.autoReloadInterval ?? 3600,
}
fs.writeFileSync(path.join(dir, 'stream.conf'), render(confTpl, vars), 'utf-8')