Changeset 3426979
- Timestamp:
- 12/24/2025 05:22:19 PM (3 months ago)
- Location:
- cnvrse
- Files:
-
- 120 added
- 4 edited
-
tags/025.12.24.01 (added)
-
tags/025.12.24.01/assets (added)
-
tags/025.12.24.01/assets/css (added)
-
tags/025.12.24.01/assets/css/cnvrse-admin.css (added)
-
tags/025.12.24.01/assets/css/cnvrse-widget.css (added)
-
tags/025.12.24.01/assets/images (added)
-
tags/025.12.24.01/assets/images/cnvrse-icon.jpg (added)
-
tags/025.12.24.01/assets/js (added)
-
tags/025.12.24.01/assets/js/cnvrse-admin-telegram.js (added)
-
tags/025.12.24.01/assets/js/cnvrse-admin.js (added)
-
tags/025.12.24.01/assets/js/cnvrse-core.js (added)
-
tags/025.12.24.01/assets/js/cnvrse-embed.js (added)
-
tags/025.12.24.01/assets/js/cnvrse-visitor.js (added)
-
tags/025.12.24.01/assets/js/cnvrse-widget.js (added)
-
tags/025.12.24.01/cnvrse-lite.php (added)
-
tags/025.12.24.01/languages (added)
-
tags/025.12.24.01/languages/cnvrse.pot (added)
-
tags/025.12.24.01/languages/readme.txt (added)
-
tags/025.12.24.01/license.txt (added)
-
tags/025.12.24.01/provision (added)
-
tags/025.12.24.01/provision/migrations (added)
-
tags/025.12.24.01/provision/migrations/001-create-conversations-table.php (added)
-
tags/025.12.24.01/provision/migrations/002-create-conversation-meta-table.php (added)
-
tags/025.12.24.01/provision/migrations/003-enhance-messages-table.php (added)
-
tags/025.12.24.01/provision/migrations/004-migrate-data.php (added)
-
tags/025.12.24.01/provision/migrations/005-cleanup-postmeta.php (added)
-
tags/025.12.24.01/provision/migrations/assess-migration-data.php (added)
-
tags/025.12.24.01/provision/migrations/comprehensive-migration-audit.php (added)
-
tags/025.12.24.01/provision/migrations/run-create-tables.php (added)
-
tags/025.12.24.01/provision/migrations/verify-migration-status.php (added)
-
tags/025.12.24.01/provision/migrations/verify-migration.php (added)
-
tags/025.12.24.01/readme.txt (added)
-
tags/025.12.24.01/src (added)
-
tags/025.12.24.01/src/Actions (added)
-
tags/025.12.24.01/src/Actions/class-cnvrse-admin-hooks.php (added)
-
tags/025.12.24.01/src/Actions/class-cnvrse-conversation-hooks.php (added)
-
tags/025.12.24.01/src/Actions/class-cnvrse-frontend-hooks.php (added)
-
tags/025.12.24.01/src/Actions/class-cnvrse-rest-api-hooks.php (added)
-
tags/025.12.24.01/src/Core (added)
-
tags/025.12.24.01/src/Core/class-cnvrse-conversation-manager.php (added)
-
tags/025.12.24.01/src/Core/class-cnvrse-rest-api-manager.php (added)
-
tags/025.12.24.01/src/Domain (added)
-
tags/025.12.24.01/src/Domain/class-cnvrse-visitor.php (added)
-
tags/025.12.24.01/src/Infrastructure (added)
-
tags/025.12.24.01/src/Infrastructure/AdminBar (added)
-
tags/025.12.24.01/src/Infrastructure/AdminBar/class-cnvrse-admin-bar-menu.php (added)
-
tags/025.12.24.01/src/Infrastructure/AdminBar/class-cnvrse-notification-center.php (added)
-
tags/025.12.24.01/src/Infrastructure/AdminBar/class-cnvrse-notification.php (added)
-
tags/025.12.24.01/src/Infrastructure/Geolocation (added)
-
tags/025.12.24.01/src/Infrastructure/Geolocation/Providers (added)
-
tags/025.12.24.01/src/Infrastructure/Geolocation/Providers/class-cnvrse-ipapi-provider.php (added)
-
tags/025.12.24.01/src/Infrastructure/Geolocation/class-cnvrse-geolocation.php (added)
-
tags/025.12.24.01/src/Infrastructure/Geolocation/interface-cnvrse-geolocation-provider-interface.php (added)
-
tags/025.12.24.01/src/Infrastructure/Http (added)
-
tags/025.12.24.01/src/Infrastructure/Http/class-cnvrse-cors-handler.php (added)
-
tags/025.12.24.01/src/Infrastructure/Repository (added)
-
tags/025.12.24.01/src/Infrastructure/Repository/class-cnvrse-conversation-repository.php (added)
-
tags/025.12.24.01/src/Infrastructure/Repository/class-cnvrse-visitor-repository.php (added)
-
tags/025.12.24.01/src/Infrastructure/Storage (added)
-
tags/025.12.24.01/src/Infrastructure/Storage/class-cnvrse-transient-storage.php (added)
-
tags/025.12.24.01/src/Infrastructure/Telegram (added)
-
tags/025.12.24.01/src/Infrastructure/Telegram/class-cnvrse-telegram.php (added)
-
tags/025.12.24.01/src/Infrastructure/Utilities (added)
-
tags/025.12.24.01/src/Infrastructure/Utilities/class-cnvrse-retry-handler.php (added)
-
tags/025.12.24.01/src/Infrastructure/WordPress (added)
-
tags/025.12.24.01/src/Infrastructure/WordPress/class-cnvrse-cache-buster.php (added)
-
tags/025.12.24.01/src/Infrastructure/WordPress/class-cnvrse-database.php (added)
-
tags/025.12.24.01/src/Infrastructure/WordPress/class-cnvrse-ip-detector.php (added)
-
tags/025.12.24.01/src/Infrastructure/WordPress/class-cnvrse-request-helper.php (added)
-
tags/025.12.24.01/src/Infrastructure/WordPress/class-cnvrse-user-agent-parser.php (added)
-
tags/025.12.24.01/src/Navigation (added)
-
tags/025.12.24.01/src/Navigation/class-cnvrse-admin-menu.php (added)
-
tags/025.12.24.01/src/Presentation (added)
-
tags/025.12.24.01/src/Presentation/Templates (added)
-
tags/025.12.24.01/src/Presentation/Templates/admin-header.php (added)
-
tags/025.12.24.01/src/Presentation/Templates/admin-sidebar.php (added)
-
tags/025.12.24.01/src/Presentation/admin-dashboard-view.php (added)
-
tags/025.12.24.01/src/Presentation/admin-settings-view.php (added)
-
tags/025.12.24.01/src/Presentation/chat-widget-view.php (added)
-
tags/025.12.24.01/src/Presentation/class-cnvrse-inbox-item-renderer.php (added)
-
tags/025.12.24.01/src/Presentation/class-cnvrse-settings-page.php (added)
-
tags/025.12.24.01/src/Presentation/class-cnvrse-system-report.php (added)
-
tags/025.12.24.01/src/Presentation/conversation-columns.php (added)
-
tags/025.12.24.01/src/Presentation/system-status-view.php (added)
-
tags/025.12.24.01/src/REST (added)
-
tags/025.12.24.01/src/REST/Controllers (added)
-
tags/025.12.24.01/src/REST/Controllers/class-cnvrse-rest-admin-controller.php (added)
-
tags/025.12.24.01/src/REST/Controllers/class-cnvrse-rest-base-controller.php (added)
-
tags/025.12.24.01/src/REST/Controllers/class-cnvrse-rest-conversations-controller.php (added)
-
tags/025.12.24.01/src/REST/Controllers/class-cnvrse-rest-telegram-controller.php (added)
-
tags/025.12.24.01/src/REST/Controllers/class-cnvrse-rest-visitors-controller.php (added)
-
tags/025.12.24.01/src/Services (added)
-
tags/025.12.24.01/src/Services/class-cnvrse-dashboard-polling-service.php (added)
-
tags/025.12.24.01/src/Services/class-cnvrse-image-upload-service.php (added)
-
tags/025.12.24.01/src/Services/class-cnvrse-page-view-service.php (added)
-
tags/025.12.24.01/src/Services/class-cnvrse-session-service.php (added)
-
tags/025.12.24.01/src/Services/class-cnvrse-telegram-validation-service.php (added)
-
tags/025.12.24.01/src/Shared (added)
-
tags/025.12.24.01/src/Shared/class-cnvrse-options.php (added)
-
tags/025.12.24.01/src/Shared/class-cnvrse-stats.php (added)
-
tags/025.12.24.01/src/Shared/class-tanu-container.php (added)
-
tags/025.12.24.01/src/Shared/class-tanu-security.php (added)
-
tags/025.12.24.01/src/Shared/interface-cnvrse-storage-provider.php (added)
-
tags/025.12.24.01/src/Shared/trait-cnvrse-singleton-trait.php (added)
-
tags/025.12.24.01/src/Utilities (added)
-
tags/025.12.24.01/src/Utilities/class-cnvrse-timezone-helper.php (added)
-
tags/025.12.24.01/src/Utilities/helper-functions.php (added)
-
tags/025.12.24.01/src/Utilities/rest-param-helpers.php (added)
-
tags/025.12.24.01/src/bootstrap.php (added)
-
tags/025.12.24.01/src/migrations (added)
-
tags/025.12.24.01/src/migrations/class-cnvrse-migration-consolidate-options.php (added)
-
tags/025.12.24.01/src/migrations/class-cnvrse-migration-manager.php (added)
-
tags/025.12.24.01/src/signals (added)
-
tags/025.12.24.01/src/signals/class-cnvrse-signals-collector.php (added)
-
tags/025.12.24.01/src/signals/class-cnvrse-signals-scheduler.php (added)
-
tags/025.12.24.01/src/signals/class-cnvrse-signals-storage.php (added)
-
tags/025.12.24.01/src/signals/class-cnvrse-signals-sync.php (added)
-
tags/025.12.24.01/src/signals/class-cnvrse-signals-tracker.php (added)
-
tags/025.12.24.01/src/signals/class-cnvrse-signals.php (added)
-
tags/025.12.24.01/uninstall.php (added)
-
trunk/assets/js/cnvrse-admin-telegram.js (modified) (9 diffs)
-
trunk/cnvrse-lite.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (1 diff)
-
trunk/src/REST/Controllers/class-cnvrse-rest-telegram-controller.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
cnvrse/trunk/assets/js/cnvrse-admin-telegram.js
r3426494 r3426979 13 13 'DOMContentLoaded', 14 14 function () { 15 console.log('[CNVRSE DEBUG] Telegram admin JS loaded'); 16 console.log('[CNVRSE DEBUG] cnvrseSettings:', cnvrseSettings); 17 console.log('[CNVRSE DEBUG] cnvrseAdminParams:', cnvrseAdminParams); 18 15 19 var tokenInput = document.getElementById( 'cnvrse_telegram_bot_token' ); 16 20 var chatIdInput = document.getElementById( 'cnvrse_telegram_chat_id' ); … … 19 23 var helper = document.getElementById( 'cnvrse-connection-helper' ); 20 24 25 console.log('[CNVRSE DEBUG] Elements found:', { 26 tokenInput: !!tokenInput, 27 chatIdInput: !!chatIdInput, 28 connectBtn: !!connectBtn, 29 disconnectBtn: !!disconnectBtn, 30 helper: !!helper 31 }); 32 21 33 // isConnected logic derived from passed params 22 34 var isConnected = cnvrseAdminParams.isConnected; 35 console.log('[CNVRSE DEBUG] isConnected:', isConnected); 23 36 24 37 var botUsername = ''; … … 28 41 // Connect button click 29 42 if (connectBtn && ! isConnected) { 43 console.log('[CNVRSE DEBUG] Adding click listener to connect button'); 30 44 connectBtn.addEventListener( 31 45 'click', 32 46 function () { 33 47 var token = tokenInput.value.trim(); 48 console.log('[CNVRSE DEBUG] Connect clicked, token length:', token.length); 49 console.log('[CNVRSE DEBUG] Token (first 10 chars):', token.substring(0, 10) + '...'); 50 34 51 if ( ! token) { 35 52 alert( cnvrseAdminParams.i18n.enterToken ); … … 45 62 helper.textContent = cnvrseAdminParams.i18n.validating; 46 63 64 var apiUrl = cnvrseSettings.apiUrl + 'telegram/validate-token'; 65 console.log('[CNVRSE DEBUG] Calling API:', apiUrl); 66 console.log('[CNVRSE DEBUG] Nonce:', cnvrseSettings.nonce); 67 47 68 // Validate bot token via REST API 48 69 fetch( 49 cnvrseSettings.apiUrl + 'telegram/validate-token',70 apiUrl, 50 71 { 51 72 method: 'POST', … … 59 80 .then( 60 81 function (response) { 61 return response.json(); } 82 console.log('[CNVRSE DEBUG] Response status:', response.status); 83 console.log('[CNVRSE DEBUG] Response ok:', response.ok); 84 console.log('[CNVRSE DEBUG] Response headers:', [...response.headers.entries()]); 85 return response.json(); 86 } 62 87 ) 63 88 .then( 64 89 function (data) { 90 console.log('[CNVRSE DEBUG] Response data:', JSON.stringify(data, null, 2)); 91 65 92 if (data.success) { 66 botUsername = data.data.bot_username || ''; 93 console.log('[CNVRSE DEBUG] Token validated successfully!'); 94 // Handle both response formats: {data: {bot_username}} or {bot_username} 95 var responseData = data.data || data; 96 botUsername = responseData.bot_username || ''; 97 var botName = responseData.bot_name || ''; 67 98 validatedToken = token; 99 console.log('[CNVRSE DEBUG] Bot username:', botUsername, 'Bot name:', botName); 68 100 69 101 // Bot validated, now auto-detect chat ID 70 102 helper.textContent = cnvrseAdminParams.i18n.lookingForChatId; 71 103 104 console.log('[CNVRSE DEBUG] Now detecting chat...'); 72 105 fetch( 73 106 cnvrseSettings.apiUrl + 'telegram/detect-chat', … … 83 116 .then( 84 117 function (response) { 85 return response.json(); } 118 console.log('[CNVRSE DEBUG] Chat detect response status:', response.status); 119 return response.json(); 120 } 86 121 ) 87 122 .then( 88 123 function (chatData) { 89 if (chatData.success) { 90 var chatId = chatData.data.chat_id; 124 console.log('[CNVRSE DEBUG] Chat detect data:', JSON.stringify(chatData, null, 2)); 125 // Handle both response formats: {success: true, chat_id} or {chat_id} 126 var chatResponseData = chatData.data || chatData; 127 var chatId = chatResponseData.chat_id; 128 129 // Check if we got a chat_id (success) or an error 130 if (chatId) { 131 console.log('[CNVRSE DEBUG] Chat ID found:', chatId); 91 132 chatIdInput.value = chatId; 92 133 93 134 // Save settings and show connected state 94 saveAndReload( token, chatId, data.data.bot_name, botUsername );135 saveAndReload( token, chatId, botName, botUsername ); 95 136 } else { 96 137 // No chat found - show "Open in Telegram" button 97 showOpenTelegramFlow( data.data.bot_name, botUsername ); 138 console.log('[CNVRSE DEBUG] No chat found, showing QR flow'); 139 showOpenTelegramFlow( botName, botUsername ); 98 140 } 99 141 } 100 142 ) 101 143 .catch( 102 function () { 144 function (err) { 145 console.error('[CNVRSE DEBUG] Chat detect error:', err); 103 146 resetToEmpty( cnvrseAdminParams.i18n.connectionError ); 104 147 } … … 106 149 } else { 107 150 // Token validation failed 108 resetToEmpty( data.data || cnvrseAdminParams.i18n.invalidToken ); 151 console.error('[CNVRSE DEBUG] Token validation FAILED:', data); 152 var errorMsg = data.message || (data.data && data.data.message) || data.data || cnvrseAdminParams.i18n.invalidToken; 153 console.error('[CNVRSE DEBUG] Error message:', errorMsg); 154 resetToEmpty( errorMsg ); 109 155 } 110 156 } 111 157 ) 112 158 .catch( 113 function () { 159 function (err) { 160 console.error('[CNVRSE DEBUG] Fetch error:', err); 161 console.error('[CNVRSE DEBUG] Error name:', err.name); 162 console.error('[CNVRSE DEBUG] Error message:', err.message); 163 console.error('[CNVRSE DEBUG] Error stack:', err.stack); 114 164 resetToEmpty( cnvrseAdminParams.i18n.connectionError ); 115 165 } … … 184 234 .then( 185 235 function (chatData) { 186 if (chatData.success) { 236 // Handle both response formats 237 var chatResponseData = chatData.data || chatData; 238 var chatId = chatResponseData.chat_id; 239 240 if (chatId) { 187 241 clearInterval( pollInterval ); 188 var chatId = chatData.data.chat_id;189 242 chatIdInput.value = chatId; 190 243 … … 257 310 258 311 function resetToEmpty(errorMsg) { 312 console.log('[CNVRSE DEBUG] resetToEmpty called with:', errorMsg); 259 313 tokenInput.classList.remove( 'cnvrse-telegram-field__input--validating' ); 260 314 connectBtn.classList.remove( 'cnvrse-telegram-field__btn--validating' ); -
cnvrse/trunk/cnvrse-lite.php
r3426548 r3426979 4 4 * Plugin URI: https://cnvrse.com/cnvrse-lite 5 5 * Description: Cnvrse Lite is a simple, privacy-friendly live chat widget for WordPress. Reply to your visitors directly from your WordPress Admin or from Telegram. No external accounts required. 6 * Version: 025.12.2 3.076 * Version: 025.12.24.01 7 7 * Author: cnvrse 8 8 * Author URI: https://profiles.wordpress.org/cnvrse/ … … 22 22 23 23 24 define( 'CNVRSE_VERSION', '025.12.2 3.07' );24 define( 'CNVRSE_VERSION', '025.12.24.01' ); 25 25 define( 'CNVRSE_FILE', __FILE__ ); 26 26 define( 'CNVRSE_DIR', plugin_dir_path( __FILE__ ) ); -
cnvrse/trunk/readme.txt
r3426548 r3426979 5 5 Tested up to: 6.9 6 6 Requires PHP: 7.4 7 Stable tag: 025.12.2 3.077 Stable tag: 025.12.24.01 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html -
cnvrse/trunk/src/REST/Controllers/class-cnvrse-rest-telegram-controller.php
r3426494 r3426979 211 211 * 212 212 * @param WP_REST_Request $request Request object. 213 * @return WP_REST_Response 214 */ 215 public function detect_chat( WP_REST_Request $request ): WP_REST_Response {213 * @return WP_REST_Response|WP_Error 214 */ 215 public function detect_chat( WP_REST_Request $request ): WP_REST_Response|WP_Error { 216 216 $token = $this->get_string_param( $request, 'token' ); 217 217
Note: See TracChangeset
for help on using the changeset viewer.