From cf9cbf11cc29a599d056b55fa5c08b78acd1c920 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Sun, 25 Jan 2026 23:05:45 -0500 Subject: [PATCH] Revert "up" This reverts commit c57581a5075bbbd540e5ff0be954355187ee966a. --- api/release_hold.php | 8 -------- conversations.php | 3 --- services/BotService.php | 17 +++++------------ 3 files changed, 5 insertions(+), 23 deletions(-) diff --git a/api/release_hold.php b/api/release_hold.php index d464175..6871354 100644 --- a/api/release_hold.php +++ b/api/release_hold.php @@ -20,14 +20,6 @@ try { exit; } - // Only release hold if there's an active hold/request; otherwise return success quietly - $userFlags = $db->fetch('SELECT on_hold, advisor_requested FROM users WHERE id = :id', ['id' => $userId]); - if (empty($userFlags) || (empty($userFlags['on_hold']) && empty($userFlags['advisor_requested']))) { - // Nothing to release - echo json_encode(['success' => true, 'info' => 'no_hold_active']); - exit; - } - // Use BotService to release hold (sends notification and clears flags) try { require_once __DIR__ . '/../services/BotService.php'; diff --git a/conversations.php b/conversations.php index 2987671..0f30cf3 100644 --- a/conversations.php +++ b/conversations.php @@ -2006,9 +2006,6 @@ this._userStateCache = this._userStateCache || {}; this._userStateCache[userId] = { state: { in_service: false, advisor_requested: false, on_hold: false }, ts: Date.now() }; - // ocultar botón Liberar espera si existe - if (releaseBtn) releaseBtn.style.display = 'none'; - await this.loadConversations(); await this.loadMessages(userId, true); } else { diff --git a/services/BotService.php b/services/BotService.php index af2444f..0874d64 100644 --- a/services/BotService.php +++ b/services/BotService.php @@ -69,11 +69,10 @@ class BotService { $this->requestAdvisor($phoneNumber, 3); // Registrar mensaje de sistema para trazabilidad (no altera flujo de notificación) - $now = date('Y-m-d H:i:s'); $sys = [ 'system' => 'attention', 'type' => 'user_sent_documents', - 'text' => "📄 *Documentos recibidos*\n\nEl usuario confirmó que ha enviado documentación (mensaje: *ENVIADA*).\n\n• Usuario: {$phoneNumber} (ID: {$user['id']})\n• Hora: {$now}\n\nPor favor, revise los archivos en la conversación y atiéndalo lo antes posible." + 'text' => 'El usuario indicó que ha enviado documentos o información; requiere atención.' ]; $this->db->insert('conversations', [ @@ -977,18 +976,13 @@ class BotService { } } - public function releaseHold($phoneNumber, $notify = true) { + public function releaseHold($phoneNumber) { try { // Clear hold/advisor flags and also ensure in_service is cleared for consistency // Clear hold and reactivate bot $this->db->update('users', ['on_hold' => 0, 'bot_paused_until' => null, 'advisor_requested' => 0, 'in_service' => 0, 'in_service_by' => null, 'in_service_at' => null, 'bot_enabled' => 1], 'phone_number = :phone', ['phone' => $phoneNumber]); - - // Send notification only when requested (avoid duplicate messages after finish) - if ($notify) { - $this->whatsappService->sendTextMessage($phoneNumber, "🔔 Su conversación ha sido retomada por el equipo. Puede usar *MENU* para continuar."); - } - - if (function_exists('writeLog')) writeLog('INFO', "Advisor released hold for $phoneNumber notify=" . ($notify ? '1' : '0')); + $this->whatsappService->sendTextMessage($phoneNumber, "🔔 Su conversación ha sido retomada por el equipo. Puede usar *MENU* para continuar."); + if (function_exists('writeLog')) writeLog('INFO', "Advisor released hold for $phoneNumber"); } catch (Exception $e) { error_log('releaseHold failed: ' . $e->getMessage()); } @@ -1080,8 +1074,7 @@ class BotService { // Ensure consistent behavior: release hold / clear flags when finishing attend try { - // Release hold silently to avoid duplicate notification to the user - $this->releaseHold($phoneNumber, false); + $this->releaseHold($phoneNumber); } catch (Exception $e) { error_log('finishAttendConversation: releaseHold failed: ' . $e->getMessage()); }