Lizandro Guarnizo
81bdda2ca3
feat(migrate): agregar migración de datos seed para roles y módulos
...
20260304_roles_seed_data.sql — inicializa datos en roles/role_modules
y vincula admin_users.role_id. Todos los statements son idempotentes
(UPDATE + INSERT IGNORE), por lo que se pueden re-ejecutar sin problemas.
Esto asegura que en cualquier deploy los módulos de rol y los colores
estén correctos, aunque la migración DDL ya haya sido registrada.
2026-03-12 10:24:52 -05:00
Lizandro Guarnizo
33dfc0cf71
fix(migrate): detectar tablas faltantes aunque migración esté registrada
...
Si una migración está en la tabla migrations pero la tabla que crea ya
no existe en la BD (ej. Coolify recreó la DB), el sistema la re-ejecuta
automáticamente. Esto evita el error anterior donde 10 lab migrations
estaban registradas como ejecutadas pero las tablas no existían.
2026-03-12 09:46:07 -05:00
Lizandro Guarnizo
01ea867229
fix: usar expose en lugar de ports en docker-compose.yml para Coolify/Traefik
...
El archivo docker-compose.yml es el que usa Coolify por defecto.
Con 'ports: 8080:80' Traefik no sabía a qué puerto rutear en cada
redeploy. Con 'expose: 80' Traefik detecta el puerto 80 del contenedor
directamente (igual que docker-compose.prod.yml).
Para desarrollo local usar: docker-compose -f docker-compose.dev.yml up
2026-03-12 09:36:27 -05:00
Lizandro Guarnizo
7000464d36
fix(migrate): robustecer parser SQL y no registrar migración si hubo errores
...
- Eliminar comentarios de bloque /* */ antes de parsear
- Limpiar líneas vacías y comentarios -- sentencia por sentencia
- Agregar 'Duplicate key name' y 'Multiple primary key defined' a errores ignorables
- Solo registrar en tabla migrations si no hubo errores reales
- Si una sentencia falla, continuar con las demás pero marcar had_error=true
2026-03-12 09:27:46 -05:00
Lizandro Guarnizo
28307f44d1
fix: remove labels from compose (conflicts with Coolify), EXPOSE only port 80
2026-03-11 22:38:36 -05:00
Lizandro Guarnizo
0b3b499c3f
fix: migrate.php also scans migrations/ folder for lab SQL files
2026-03-11 22:29:00 -05:00
Lizandro Guarnizo
ef6c4277a6
fix: add explicit Traefik loadbalancer port label (port 80)
2026-03-11 22:01:58 -05:00
Lizandro Guarnizo
7586954e53
fix: Predis ping() returns Status object, cast to string before compare
2026-03-11 21:41:58 -05:00
Lizandro Guarnizo
7cca8342b5
refactor: unify env vars — no hardcoded credentials, LOG_LEVEL/SESSION from env
2026-03-11 21:16:52 -05:00
Lizandro Guarnizo
7769e5d4f0
Update .env
2026-03-11 20:53:44 -05:00
Lizandro Guarnizo
6e03169c39
feat: remove mysql service from compose, use external Coolify DB resource
2026-03-11 20:31:11 -05:00
Lizandro Guarnizo
1b9942442a
fix: disable MariaDB SSL for internal Docker networking + worker MySQL readiness wait
2026-03-11 20:22:19 -05:00
Lizandro Guarnizo
06e4ad6fd5
fix: regenerate vendor/ if Coolify mounts empty volume over /var/www/html
2026-03-10 23:05:02 -05:00
Lizandro Guarnizo
b045d9db3a
fix: use named volumes, reduce nginx connections to 1024, 1 worker process
2026-03-10 22:47:42 -05:00
Lizandro Guarnizo
7a17fefb3e
fix: pin redis extension version 6.0.2 for reproducible builds
2026-03-10 22:39:33 -05:00
Lizandro Guarnizo
9080444daa
fix: remove port bindings for Coolify Traefik proxy
2026-03-10 22:29:32 -05:00
Lizandro Guarnizo
1fb4361f96
fix: worker logs permission denied + migration AFTER password
2026-03-10 22:23:30 -05:00
Lizandro Guarnizo
db469b2134
up
2026-03-10 18:42:51 -05:00
Lizandro Guarnizo
b57fc16ab3
fix: archivos >200KB usan URL publica, evita uploadMedia() con OpenSSL 3.x
...
El contenedor falla al subir a Facebook archivos >~200KB por renegociacion
TLS de OpenSSL 3.x (errno 55). Solucion sin rebuild:
- Archivos <=200KB: uploadMedia() como antes (funciona OK)
- Archivos >200KB: enviar URL publica - WhatsApp descarga desde el servidor
directamente, sin pasar por el contenedor ni por OpenSSL
Aplica a imagenes, documentos, videos y audios.
2026-02-21 12:30:56 -05:00
Lizandro Guarnizo
edcefbe67c
fix: comprimir imagen pegada hasta <250KB con calidad progresiva
...
OpenSSL 3.x en contenedor hace renegociacion TLS con Facebook >~300KB
causando errno 55. Forzar imagen a quedar bajo 250KB:
- Escalar a max 1920px si es más grande
- Intentar JPEG q=0.85, 0.70, 0.55, 0.40, 0.25 hasta pasar el umbral
- JPEG/WebP ya bajo 250KB se pasan sin modificar
2026-02-21 12:26:36 -05:00
Lizandro Guarnizo
dd6dd2e1f4
fix: comprimir imagen pegada a JPEG antes de subir a WhatsApp
...
Imagen PNG del portapapeles puede ser 1-5MB sin comprimir.
Facebook resetea TCP (errno 55) al recibir payloads grandes desde el
contenedor con OpenSSL 3.x. Solución: convertir PNG→JPEG 0.85 vía Canvas
en el navegador antes de subir → reduce tamaño ~10x → upload exitoso.
JPEG/WebP ya comprimidos se pasan sin modificar.
2026-02-21 12:20:02 -05:00
Lizandro Guarnizo
a716cd187a
Update WhatsAppService.php
2026-02-21 12:02:15 -05:00
Lizandro Guarnizo
51f1b04293
up
2026-02-21 11:45:32 -05:00
Lizandro Guarnizo
e00c96c614
Update WhatsAppService.php
2026-02-21 11:39:25 -05:00
Lizandro Guarnizo
0aa450be67
up
2026-02-21 11:33:56 -05:00
Lizandro Guarnizo
5dd48ba5c2
up
2026-02-21 11:24:15 -05:00
Lizandro Guarnizo
26afa7f36b
Update MediaService.php
2026-02-21 11:03:03 -05:00
Lizandro Guarnizo
36a1b556c3
Update MediaService.php
2026-02-21 10:53:27 -05:00
Lizandro Guarnizo
a3e089caab
up
2026-02-21 10:49:39 -05:00
Lizandro Guarnizo
72e7f8c242
Update php-fpm.conf
2026-02-21 10:25:53 -05:00
Lizandro Guarnizo
237f4aea0f
Update webhook.php
2026-02-21 10:19:10 -05:00
Lizandro Guarnizo
6bab34bf13
up
2026-02-21 10:14:14 -05:00
Lizandro Guarnizo
f05d4a20cb
Update MediaService.php
2026-02-21 09:43:28 -05:00
Lizandro Guarnizo
1c2bc3eac3
Update MediaService.php
2026-02-21 09:41:07 -05:00
Lizandro Guarnizo
349dcff45e
Update MediaService.php
2026-02-21 09:32:03 -05:00
Lizandro Guarnizo
1bd7588e86
up
2026-02-21 09:29:27 -05:00
Lizandro Guarnizo
07333be7ce
Update MediaService.php
2026-02-21 09:27:09 -05:00
Lizandro Guarnizo
ad04c49d27
up
2026-02-21 09:23:59 -05:00
Lizandro Guarnizo
61c50df07d
Update MediaService.php
2026-02-21 09:19:17 -05:00
Lizandro Guarnizo
f6cf4bace1
up
2026-02-21 08:58:22 -05:00
Lizandro Guarnizo
38cd62eb0e
up
2026-02-21 08:51:38 -05:00
Lizandro Guarnizo
de4b07c806
up
2026-02-21 07:37:36 -05:00
Lizandro Guarnizo
2f73ee2a1a
up
2026-02-20 11:46:29 -05:00
Lizandro Guarnizo
602e6d3724
up
2026-02-20 11:21:06 -05:00
Lizandro Guarnizo
c9ec58979e
Update conversations.php
2026-02-20 11:04:24 -05:00
Lizandro Guarnizo
c965135af9
up
2026-02-20 11:01:33 -05:00
Lizandro Guarnizo
a35a6725fc
Update docker-compose.prod.yml
2026-02-20 10:41:37 -05:00
Lizandro Guarnizo
c4b8ea3922
Update docker-compose.prod.yml
2026-02-20 10:36:23 -05:00
Lizandro Guarnizo
e4672fa15d
Update media-url.php
2026-02-20 10:34:55 -05:00
Lizandro Guarnizo
c7f28a79f4
up
2026-02-20 10:29:52 -05:00
Lizandro Guarnizo
b3c63db7e2
Update MediaService.php
2026-02-20 10:09:13 -05:00
Lizandro Guarnizo
a87eb7c9d9
up
2026-02-20 10:01:44 -05:00
Lizandro Guarnizo
421a5a4d7c
up
2026-02-20 09:07:37 -05:00
Lizandro Guarnizo
276af13387
up
2026-02-06 09:38:36 -05:00
Lizandro Guarnizo
8324a014c0
Update app_simple.js
2026-02-04 22:08:31 -05:00
Lizandro Guarnizo
603872b1bc
Update BotService.php
2026-02-03 23:17:22 -05:00
Lizandro Guarnizo
e722935ac4
up
2026-02-03 23:01:25 -05:00
Lizandro Guarnizo
4a38f386b6
Update index.php
2026-02-03 22:50:04 -05:00
Lizandro Guarnizo
97a7294ef4
Create run_migration.php
2026-02-03 22:21:40 -05:00
Lizandro Guarnizo
f644aa035b
up
2026-02-03 22:21:35 -05:00
Lizandro Guarnizo
da0006c437
Create fix_migration.php
2026-02-03 22:12:12 -05:00
Lizandro Guarnizo
6c24fda743
Create migrate.php
2026-02-03 22:02:24 -05:00
Lizandro Guarnizo
dcd470d71f
Update get_templates.php
2026-02-03 21:48:08 -05:00
Lizandro Guarnizo
0297137b55
Update conversations.php
2026-02-03 21:39:25 -05:00
Lizandro Guarnizo
3139c7af00
Update conversations.php
2026-02-03 21:38:42 -05:00
Lizandro Guarnizo
1aae148396
up
2026-02-03 21:30:55 -05:00
Lizandro Guarnizo
44423adb32
up
2026-01-29 11:40:04 -05:00
Lizandro Guarnizo
1e936be593
Update default.conf
2026-01-29 09:06:03 -05:00
Lizandro Guarnizo
719212d628
up
2026-01-28 14:05:09 -05:00
Lizandro Guarnizo
3b63defba9
up
2026-01-28 14:05:01 -05:00
Lizandro Guarnizo
2bf7d6c9a8
up
2026-01-28 13:49:07 -05:00
Lizandro Guarnizo
40bc8d15e7
Update WhatsAppService.php
2026-01-28 13:10:54 -05:00
Lizandro Guarnizo
7997ecb830
up
2026-01-28 13:05:36 -05:00
Lizandro Guarnizo
fe11a3ebb5
Revert "Update conversations.php"
...
This reverts commit e3423f96eb .
2026-01-28 03:55:18 -05:00
Lizandro Guarnizo
e3423f96eb
Update conversations.php
2026-01-28 03:52:48 -05:00
Lizandro Guarnizo
39d8aedd03
Update BotService.php
2026-01-28 03:46:19 -05:00
Lizandro Guarnizo
8c03a466bd
up
2026-01-28 03:33:35 -05:00
Lizandro Guarnizo
07b7fd2c03
Update conversations.php
2026-01-28 03:27:57 -05:00
Lizandro Guarnizo
ee3524a54b
up
2026-01-28 03:24:00 -05:00
Lizandro Guarnizo
e96f507a06
up
2026-01-28 03:09:52 -05:00
Lizandro Guarnizo
faec66ebf3
up
2026-01-28 02:56:41 -05:00
Lizandro Guarnizo
e9aecc6bd2
up
2026-01-28 02:44:28 -05:00
Lizandro Guarnizo
6ebf5c9a22
up
2026-01-28 02:23:36 -05:00
Lizandro Guarnizo
37d6bf1e20
up
2026-01-27 23:56:49 -05:00
Lizandro Guarnizo
56c6a24fa5
up
2026-01-27 15:04:51 -05:00
Lizandro Guarnizo
6e3f375f91
up
2026-01-27 15:01:32 -05:00
Lizandro Guarnizo
1f224044f7
up
2026-01-27 14:51:41 -05:00
Lizandro Guarnizo
c1f3524466
Update send_media_message.php
2026-01-27 11:23:27 -05:00
Lizandro Guarnizo
b4335f0cb6
Update conversations.php
2026-01-27 11:06:32 -05:00
Lizandro Guarnizo
46f33b652b
Update conversations.php
2026-01-27 01:25:48 -05:00
Lizandro Guarnizo
63ba3c028e
Update conversations.php
2026-01-27 01:20:42 -05:00
Lizandro Guarnizo
ab4e9b6438
Update conversations.php
2026-01-27 01:11:24 -05:00
Lizandro Guarnizo
83132ff0d5
Revert "up"
...
This reverts commit 269dc6bed1 .
2026-01-27 01:04:32 -05:00
Lizandro Guarnizo
269dc6bed1
up
2026-01-27 00:52:36 -05:00
Lizandro Guarnizo
68374b8127
Update conversations.php
2026-01-27 00:38:46 -05:00
Lizandro Guarnizo
7bcb595b18
Update conversations.php
2026-01-27 00:30:47 -05:00
Lizandro Guarnizo
986a60d662
up
2026-01-27 00:22:28 -05:00
Lizandro Guarnizo
349a1c81d7
Update send_media_message.php
2026-01-27 00:14:56 -05:00
Lizandro Guarnizo
267805d5cd
up
2026-01-27 00:12:04 -05:00
Lizandro Guarnizo
a086e4a19a
scroll
2026-01-26 23:28:13 -05:00