From 8825f4e8217e3347f6f1ff744cebdbe2cde1697c Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Sat, 1 Aug 2026 11:01:30 -0500 Subject: [PATCH] fix: el selector de empresas se comia los comandos de navegacion isResetKeyword aceptaba menu, salir, atras, volver, inicio y regresar, o sea el vocabulario completo de navegacion del bot. Ese chequeo corre en el webhook, antes de NormalBot, asi que a un usuario que pertenece a varias empresas cualquiera de esas palabras le borraba la sesion y lo devolvia al selector en vez de navegar. Ahora solo responde a palabras que signifiquen cambiar de empresa. Co-Authored-By: Claude Sonnet 4.6 --- admin/v1/WpWebhook.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/admin/v1/WpWebhook.php b/admin/v1/WpWebhook.php index ddeffe9..c5e27a8 100644 --- a/admin/v1/WpWebhook.php +++ b/admin/v1/WpWebhook.php @@ -308,11 +308,17 @@ class WpWebhook self::log('INFO', "Pre-menú de empresa enviado a {$to} (" . count($items) . " opciones)"); } + /** + * Solo palabras que signifiquen "cambiar de empresa". Antes incluía menu, + * salir, atras, volver, inicio y regresar — el vocabulario de navegación del + * bot— así que a un usuario multi-empresa se le comían todos esos comandos + * acá arriba y nunca llegaban a NormalBot. + */ private static function isResetKeyword(string $text): bool { $n = mb_strtolower(trim($text)); $n = str_replace(['á','é','í','ó','ú','ü','ñ'], ['a','e','i','o','u','u','n'], $n); - return in_array($n, ['salir','inicio','menu','reiniciar','volver','reset','0','atras','regresar'], true); + return in_array($n, ['cambiar empresa', 'cambiar de empresa', 'empresas', 'reiniciar', 'reset'], true); } private static function getPermissionType(array $companies, int $companyId): int