Commit Graph

36 Commits

Author SHA1 Message Date
67b54d4ad9 Feat: Sincronizar contactos y grupos, mejorar nombres en MCP
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m8s
- Agregar listeners contacts.upsert y contacts.update
- Agregar listeners groups.upsert y groups.update
- Guardar contactos del historial en messaging-history.set
- Modificar MCP para hacer JOIN con contacts y group_metadata
- Ahora los chats muestran nombres reales en lugar de números/IDs
2025-12-04 14:51:09 -06:00
42f0dcafc1 Fix: Agregar fromMe al key de reacciones para mensajes propios
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m11s
2025-12-04 14:34:15 -06:00
f6a58a4d16 Feat: Agregar middleware global de autenticación API
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m9s
- Valida Bearer token para rutas expuestas (/api/messages/send, /api/mcp)
- Valida x-authentik-username para rutas protegidas por Authentik
- Rutas públicas (/api/health) sin autenticación
- Defensa en profundidad: cualquier endpoint /api/* está protegido
2025-12-04 14:32:18 -06:00
7abad2b6c3 Feat: Agregar MCP Server para agentes IA
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m10s
- Endpoint JSON-RPC 2.0 en /api/mcp
- 8 herramientas: list_instances, list_chats, get_chat, search_chats, send_message, get_messages, react_message, get_guide
- Soporte para todos los tipos de mensaje (text, image, video, audio, document, sticker, contact, poll, event)
- Guías de uso integradas con ejemplos JSON
- Autenticación via NUXT_MASTER_API_KEY
2025-12-04 14:05:27 -06:00
23e78fb0b2 Feat: Agregar botón para iniciar conversación con número nuevo
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m11s
- Nuevo endpoint POST /api/messages/:instanceId/new-chat
- Valida que el número esté registrado en WhatsApp
- Crea el chat en la DB si no existe
- Modal en UI para ingresar número de teléfono
- Botón verde "+" junto a la barra de búsqueda
2025-12-04 12:59:01 -06:00
af5ed0f0c5 Fix: shouldSyncHistoryMessage debe retornar true cuando no hay timestamp
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m9s
El check inicial de Baileys pasa un objeto sin messageTimestamp.
Cuando era undefined, la comparación retornaba false y Baileys
deshabilitaba la sincronización de historial completamente.
2025-12-04 12:38:09 -06:00
32f66c8fe0 Fix: fetchMessageHistory con evento SSE y logs de debug
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m9s
- Agregar logs detallados en /api/debug/history/fetch para diagnosticar
- Emitir evento SSE 'history.synced' cuando llegan mensajes del historial
- Frontend ahora escucha el evento SSE en vez de timeout fijo de 3 segundos
- Agregar script y documentación para referencia de Baileys message history
2025-12-04 12:33:22 -06:00
a9e786a8bd Fix: Envío de eventos usando proto directo (bypass sendMessage)
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m12s
Baileys no maneja 'event' en generateWAMessageContent, causando
"Invalid media type" error. Se usa generateWAMessageFromContent
con proto.Message.IEventMessage y relayMessage directamente.
2025-12-04 12:28:17 -06:00
b0101c791a Fix: Agregar soporte para recepción de Polls y Events
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m8s
- manager.ts: Detectar pollCreationMessage y eventMessage en getMessageType
- manager.ts: Extraer y guardar datos de poll/event como JSON en content
- index.get.ts: Parsear poll/event desde raw_message y content
- index.get.ts: Incluir poll y event en respuesta de la API
2025-12-04 12:14:45 -06:00
cb846d0c56 Feat: Agregar soporte para envío de Contacts, Polls y Events
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m8s
- Backend: Nuevo soporte en endpoint /send para tipos contact, poll, event
- UI: Modales para crear y enviar contactos, encuestas y eventos
- Visualización: Componentes MessagePoll y MessageEvent para mostrar mensajes recibidos
- Tipos: Agregar PollInfo, EventInfo y tipo 'event' a MessageType
2025-12-04 12:06:35 -06:00
3a3fa70092 Debug: Agregar logs para depurar envio de stickers
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m8s
2025-12-04 10:31:14 -06:00
f09ce37897 Fix: Forzar mimetype ogg para notas de voz PTT
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m11s
- Preferir grabacion en ogg/opus en el navegador
- Forzar mimetype a audio/ogg; codecs=opus para PTT en servidor
- WhatsApp requiere ogg para notas de voz
2025-12-04 10:24:53 -06:00
ec40cd6826 Unificar endpoint de envío y agregar soporte para stickers
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 2m28s
- Consolidar send.post.ts y send-media.post.ts en un único endpoint /send
- Agregar servicio sticker-processor.ts para convertir imágenes a WebP 512x512
- Agregar toggle Imagen/Sticker en MediaPreview para enviar imágenes como stickers
- Actualizar MessageInput y página de mensajes para usar endpoint unificado
- Instalar dependencia sharp para procesamiento de imágenes
2025-12-04 09:33:03 -06:00
09d3c5398a Fix: Pasar quoted como opción de Baileys, no dentro del content
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m8s
El campo quoted debe ir en el tercer parámetro (opciones) de sendMessage,
no dentro del objeto content. Esto corrige el envío de respuestas.
2025-12-03 11:07:06 -06:00
e8b74e71de Fix: Agregar soporte para mensajes de respuesta (reply) en envío de texto
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m30s
El endpoint send.post.ts ignoraba el campo quotedMessageId que el frontend
enviaba, causando que los mensajes de respuesta llegaran como mensajes normales.
2025-12-03 10:56:10 -06:00
c0af0a3478 Feature: Cargar historial de WhatsApp desde la UI
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m5s
- Agregar endpoint oldest.get.ts para obtener mensaje mas antiguo de un chat
- Agregar boton 'Cargar historial de WhatsApp' en vista de mensajes
- Mejorar HistorySection.vue con selector de chats y auto-deteccion
2025-12-02 21:59:27 -06:00
cc87bde154 UI: Agregar iconos a expandir/colapsar y notificacion al copiar
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
2025-12-02 21:31:59 -06:00
8f44826e64 Fix: Usar URL interna para debug webhook receiver (bypass authentik)
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
2025-12-02 21:27:45 -06:00
80d0042c7e Feature: Agregar botón para crear webhook de debug automáticamente
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
- Agregar botón "Crear Webhook de Debug" en WebhookReceiverSection
- Detectar si ya existe un webhook apuntando al receptor de debug
- Permitir eliminar el webhook de debug
- Incluir todos los eventos disponibles al crear el webhook
- También incluye mejoras previas de manejo de media y mensajes
2025-12-02 21:21:33 -06:00
71593b25e9 Feature: Receptor de webhooks interno para debug
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m3s
- Endpoint POST /api/debug/webhook-receiver para recibir webhooks
- Almacenamiento en memoria de ultimos 100 eventos
- Endpoint GET/DELETE para consultar/limpiar eventos
- Nueva tab Webhooks en seccion Debug con polling cada 5s
2025-12-02 21:14:39 -06:00
9f2f3ac510 Docs: Script para scrapear documentacion de Baileys API
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m3s
- Script en scripts/scrape-baileys-docs.ts
- Genera docs/baileys-api-reference.md con 6433 lineas
- 79 secciones: interfaces, types, functions, variables, enums
- Referencia completa para desarrollo de mensajes
2025-12-02 20:49:59 -06:00
ae8e4e37a7 Fix: Checkboxes de eventos en formulario de webhook
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m2s
2025-12-02 20:39:16 -06:00
738584514d Webhooks: Completar integracion backend-frontend
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m1s
- Inicializar webhookDispatcher en plugin de servidor
- Conectar pagina de webhooks con API
- Agregar selector de instancias en formulario
- Corregir bug en toast de handleSaved
2025-12-02 20:33:48 -06:00
ea5c5943df Fix: Actualizar nombre del chat cuando llega pushName del contacto
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m4s
2025-12-02 20:23:31 -06:00
1b5317845d Feature: habilitar History Sync en Baileys
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 52s
- syncFullHistory: true
- shouldSyncHistoryMessage: sincroniza mensajes de los ultimos 30 dias
- Permite cargar chats existentes de WhatsApp
2025-12-02 20:04:33 -06:00
95a93a1a10 Fix: guardar mensaje enviado en la base de datos
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 51s
El evento messages.upsert no siempre se dispara para mensajes enviados.
Guardar manualmente el mensaje en el endpoint de envio.
2025-12-02 20:01:35 -06:00
f2d9682560 Fix: filtrar mensajes de protocolo en saveMessage
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 50s
- Skip protocol messages (HISTORY_SYNC, SECURITY_NOTIFICATION, etc)
- Skip messages sin contenido real
- Agregar caption para video/document messages
- Solo guardar mensajes con contenido real de chat
2025-12-02 19:58:59 -06:00
478f4f8b34 Fix: API de chats con lastMessage y send acepta content
Some checks failed
build-and-deploy / build-and-deploy (push) Failing after 13s
2025-12-02 19:44:06 -06:00
036cdd1972 Feature: History sync, getMessage y handlers de chats
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 51s
2025-12-02 19:39:42 -06:00
3817e3c4ae Feature: Boton para reiniciar conexion de instancia
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 51s
2025-12-02 19:36:06 -06:00
9ebbacf03b Debug: Logs detallados en connection.update y eliminar healthcheck
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 52s
2025-12-02 19:31:48 -06:00
4bd498a17c Fix: Incluir qr_code en respuesta de API instances
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 3m23s
2025-12-02 19:26:31 -06:00
d7d399f3ab debug: Agregar logs detallados para Baileys
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 3m24s
2025-12-02 19:21:35 -06:00
767b0800a8 fix: Corregir imports de Baileys para ESM/CJS
Some checks failed
build-and-deploy / build-and-deploy (push) Has been cancelled
2025-12-02 19:15:08 -06:00
e0f844e5dc fix: Corregir versiones de npm y imports ESM de Baileys
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 3m7s
- Downgrade a Nuxt 3.14.0 (Nuxt 4 no existe todavía)
- Downgrade @nuxt/ui a ^3.0.0
- Downgrade Baileys a ^6.7.9 (versión estable)
- Corregir imports ESM de Baileys en auth-state.ts y manager.ts
- Remover compatibilityDate (específico de Nuxt 4)
2025-12-02 18:04:07 -06:00
faedec47d7 feat: WhatsApp Nucleo con Nuxt 4 + Baileys v7
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 6m46s
Reemplazo completo de Evolution API por implementación directa con Baileys.

Características:
- Dashboard completo con Nuxt UI v4
- Soporte para múltiples instancias de WhatsApp
- Conexión via QR code o pairing code
- Persistencia de mensajes en PostgreSQL
- API REST para integraciones externas
- Webhooks con firma HMAC
- SSE para actualizaciones en tiempo real
- Autenticación con Authentik
2025-12-02 17:54:31 -06:00