27 Commits

Author SHA1 Message Date
a848adf4f8 Fix: Preservar alias al recargar lista de chats
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m9s
El endpoint chats.get no retornaba el campo alias, lo que causaba
que al recargar los chats (cuando llega un mensaje nuevo) el alias
se perdiera.

Cambios:
- Agregar alias a la query de chats.get
- Priorizar alias sobre name en la respuesta
- Incluir originalName para referencia en el modal
2025-12-04 16:04:47 -06:00
5b8eae6baa Feat: Agregar opcion para eliminar chats completamente
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m8s
- Crear endpoint DELETE /api/messages/:instanceId/:chatId
- Agregar boton de eliminar en ChatItem
- Crear modal de confirmacion con advertencia
- Elimina el chat y todos los mensajes relacionados (CASCADE)
- Muestra cantidad de mensajes eliminados en notificacion
2025-12-04 15:13:57 -06:00
08964ec18f Feat: Agregar sistema de alias para chats
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m10s
- Agregar campo alias a tabla chats con migración 003
- Crear endpoint PUT /api/messages/:instanceId/:chatId/alias
- Modificar MCP para priorizar alias sobre nombres automáticos
- Crear modal ChatAliasModal para editar alias desde UI
- Agregar botón de editar alias en ChatItem
- Integrar modal en página de mensajes

El alias permite asignar nombres personalizados a chats que tienen
prioridad sobre los nombres de WhatsApp tanto en la interfaz como
en el MCP para agentes IA.
2025-12-04 15:06:46 -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
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
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
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
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
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
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
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