Skip to content

feat: auto-start authenticated sessions on server boot#135

Open
mayko7d wants to merge 1 commit into
rmyndharis:mainfrom
mayko7d:feat/auto-start-sessions
Open

feat: auto-start authenticated sessions on server boot#135
mayko7d wants to merge 1 commit into
rmyndharis:mainfrom
mayko7d:feat/auto-start-sessions

Conversation

@mayko7d
Copy link
Copy Markdown

@mayko7d mayko7d commented May 24, 2026

Problema

Al reiniciar el servidor, todas las sesiones quedaban en estado disconnected. Había que entrar al dashboard y hacer clic en "Start" manualmente en cada sesión.

Solución

Se agregó un nuevo hook onApplicationBootstrap en SessionService (se ejecuta después de que toda la app está inicializada) que:

  1. Si AUTO_START_SESSIONS=true (opt-in), busca en BD sesiones que ya estaban autenticadas antes del reinicio (phone != null)
  2. Las inicia una por una (start()) con 2s de delay entre cada una para evitar saturación de recursos (~500MB por sesión con Puppeteer)
  3. Cada sesión tiene su propio try/catch — una falla no afecta a las demás
  4. Usa el mismo flujo start() → initializeEngine() del dashboard, y whatsapp-web.js con LocalAuth restaura la sesión sin escanear QR de nuevo

Archivos modificados

  • src/modules/session/session.service.ts: Agrega OnApplicationBootstrap, nuevo método onApplicationBootstrap() con auto-start, helper delay(), importa Not, IsNull de typeorm
  • .env.example / .env.minimal: Nueva variable AUTO_START_SESSIONS=false (opt-in)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant