Add debug logging to RDP page to trace button click issues

- Added console.log statements throughout RDP page JavaScript
- Log WebAssembly module loading progress
- Log event listener attachment
- Log button click events (connect, disconnect, window controls)
- Log function calls (showRdpConfig, startRdpConnection, connect)
- This will help identify where the execution stops when buttons are clicked
parent 11ca85ae
...@@ -309,6 +309,8 @@ ...@@ -309,6 +309,8 @@
</div> </div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script> <script>
console.log('RDP page script starting...');
// init kbdlayout_input // init kbdlayout_input
let defaultLayoutId; let defaultLayoutId;
for (let i = 0; i < layouts.length; ++i) { for (let i = 0; i < layouts.length; ++i) {
...@@ -323,11 +325,47 @@ for (let i = 0; i < layouts.length; ++i) { ...@@ -323,11 +325,47 @@ for (let i = 0; i < layouts.length; ++i) {
} }
// Since we don't have kbdlayout_input in this simplified version, we'll use default // Since we don't have kbdlayout_input in this simplified version, we'll use default
} }
console.log('Keyboard layouts initialized, defaultLayoutId:', defaultLayoutId);
let kbdInputLayoutEvent = () => {}; let kbdInputLayoutEvent = () => {};
let _Module = null; let _Module = null;
console.log('Starting WebAssembly module loading...');
WallixModule({
// INITIAL_MEMORY: 16777216, // 16**6
// INITIAL_MEMORY: 268435456, // 16**7
}).then((Module) => {
console.log('WebAssembly module loaded successfully');
_Module = Module;
// optional
const LogLevel = Module.LogLevel;
Module.log = function(priority, msg) {
const logger = (priority === LogLevel.Info) ? console.log
: (priority === LogLevel.Warning) ? console.warn
: (priority === LogLevel.Error) ? console.error
: (priority === LogLevel.Debug) ? (s) => {
console.debug("%c%s", 'color:yellow', s)
}
: console.info;
logger(msg);
};
// Set constants now that module is loaded
RdpClient = _Module.RdpClient;
ClipboardChannel = _Module.ClipboardChannel;
MouseFlags = _Module.MouseFlags;
InputFlags = _Module.InputFlags;
console.log('WebAssembly constants set:', { RdpClient: !!RdpClient, MouseFlags: !!MouseFlags, InputFlags: !!InputFlags });
}).catch((e) => {
console.error('Failed to load WebAssembly module:', e);
showNotification('Failed to load RDP WebAssembly module', 'danger');
});
// Constants will be set after module loads // Constants will be set after module loads
let RdpClient, ClipboardChannel, MouseFlags, InputFlags; let RdpClient, ClipboardChannel, MouseFlags, InputFlags;
...@@ -728,16 +766,44 @@ const onMouseWheel = (evt) => { ...@@ -728,16 +766,44 @@ const onMouseWheel = (evt) => {
} }
}; };
document.getElementById('connectBtn').addEventListener('click', showRdpConfig); console.log('Attaching event listeners...');
document.getElementById('disconnectBtn').addEventListener('click', disconnect);
document.getElementById('cancelConnectBtn').addEventListener('click', cancelConnect); document.getElementById('connectBtn').addEventListener('click', function(e) {
document.getElementById('startRdpBtn').addEventListener('click', startRdpConnection); console.log('Connect button clicked');
showRdpConfig();
});
document.getElementById('disconnectBtn').addEventListener('click', function(e) {
console.log('Disconnect button clicked');
disconnect();
});
document.getElementById('cancelConnectBtn').addEventListener('click', function(e) {
console.log('Cancel connect button clicked');
cancelConnect();
});
document.getElementById('startRdpBtn').addEventListener('click', function(e) {
console.log('Start RDP button clicked');
startRdpConnection();
});
// Window control buttons // Window control buttons
document.querySelector('.close-btn').addEventListener('click', disconnect); document.querySelector('.close-btn').addEventListener('click', function(e) {
document.querySelector('.maximize-btn').addEventListener('click', toggleFullscreen); console.log('Close button clicked');
document.querySelector('.minimize-btn').addEventListener('click', toggleFullscreen); disconnect();
document.getElementById('zoomBtn').addEventListener('click', toggleZoom); });
document.querySelector('.maximize-btn').addEventListener('click', function(e) {
console.log('Maximize button clicked');
toggleFullscreen();
});
document.querySelector('.minimize-btn').addEventListener('click', function(e) {
console.log('Minimize button clicked');
toggleFullscreen();
});
document.getElementById('zoomBtn').addEventListener('click', function(e) {
console.log('Zoom button clicked');
toggleZoom();
});
console.log('Event listeners attached');
// Input event handlers // Input event handlers
let ecanvas = document.getElementById('canvas'); let ecanvas = document.getElementById('canvas');
...@@ -811,6 +877,7 @@ function toggleZoom() { ...@@ -811,6 +877,7 @@ function toggleZoom() {
} }
function showRdpConfig() { function showRdpConfig() {
console.log('showRdpConfig called, connected:', connected);
if (connected) return; if (connected) return;
// Show the RDP configuration modal // Show the RDP configuration modal
...@@ -819,6 +886,7 @@ function showRdpConfig() { ...@@ -819,6 +886,7 @@ function showRdpConfig() {
} }
function startRdpConnection() { function startRdpConnection() {
console.log('startRdpConnection called');
// Hide the modal // Hide the modal
const modal = bootstrap.Modal.getInstance(document.getElementById('rdpConfigModal')); const modal = bootstrap.Modal.getInstance(document.getElementById('rdpConfigModal'));
modal.hide(); modal.hide();
...@@ -828,10 +896,12 @@ function startRdpConnection() { ...@@ -828,10 +896,12 @@ function startRdpConnection() {
} }
function connect() { function connect() {
console.log('connect called, connected:', connected);
if (connected) return; if (connected) return;
// Check if WebAssembly module is loaded // Check if WebAssembly module is loaded
if (!_Module) { if (!_Module) {
console.log('WebAssembly module not loaded yet');
showNotification('WebAssembly module not loaded yet. Please wait.', 'warning'); showNotification('WebAssembly module not loaded yet. Please wait.', 'warning');
return; return;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment