From ffb34ac581065b1182ec5f93a30d2204f5a5aed9 Mon Sep 17 00:00:00 2001 From: Rahul Pidde <206018639+cx-rahul-pidde@users.noreply.github.com> Date: Fri, 7 Nov 2025 10:24:23 +0530 Subject: [PATCH 1/2] remote-ssh ouath fix --- media/auth.js | 35 ++++++++++++++++++++---- src/webview/authenticationWebview.ts | 40 ++++++++++++++++++++++------ 2 files changed, 62 insertions(+), 13 deletions(-) diff --git a/media/auth.js b/media/auth.js index eece23c9..cc79f64d 100644 --- a/media/auth.js +++ b/media/auth.js @@ -1,5 +1,7 @@ +// Add console.log to check DOMContentLoaded registration and call (function () { document.addEventListener("DOMContentLoaded", function () { + console.log("DOMContentLoaded event registered and called"); const vscode = acquireVsCodeApi(); const authButton = document.getElementById("authButton"); const messageBox = document.getElementById("messageBox"); @@ -13,9 +15,15 @@ const authenticatedMessage = document.getElementById( "authenticatedMessage" ); + // Debug: initial classList of loginForm + if (loginForm) { + console.log("loginForm.classList initial:", Array.from(loginForm.classList)); + } - window.addEventListener("message", (event) => { + window.addEventListener("message", (event) => { + console.log("window message event received (auth button enable/disable):", event.data); const message = event.data; + console.log("parsed message object (auth button enable/disable):", message); if (message.command === "disableAuthButton") { const authButton = document.getElementById("authButton"); if (authButton) { @@ -45,6 +53,7 @@ document.querySelectorAll('input[name="authMethod"]').forEach((radio) => { radio.addEventListener("change", (e) => { + console.log("authMethod radio change event:", e.target.value); const isOAuth = e.target.value === "oauth"; document .getElementById("oauthForm") @@ -58,6 +67,7 @@ }); authButton.addEventListener("click", () => { + console.log("authButton clicked"); messageBox.style.display = "none"; vscode.postMessage({ @@ -71,12 +81,15 @@ }); function handleInputApiKey() { + console.log("apiKey input event"); messageBox.style.display = "none"; isBtnDisabled(); } apiKeyInput.addEventListener("input", handleInputApiKey); function isBtnDisabled() { + // Add log to check when isBtnDisabled is called + console.log("isBtnDisabled called"); const authMethod = document.querySelector( "input[name='authMethod']:checked" ).value; @@ -91,6 +104,7 @@ } function showMessage(text, isError) { + console.log("showMessage called:", text, isError); document.getElementById("messageText").textContent = text; messageBox.style.display = "flex"; if (isError) { @@ -107,7 +121,9 @@ } window.addEventListener("message", (event) => { + console.log("window message event received (auth state, loader, etc):", event.data); const message = event.data; + console.log("parsed message object (auth state, loader, etc):", message); if (message.type === "setAuthState") { const logoutButton = document.getElementById("logoutButton"); @@ -116,15 +132,18 @@ authenticatedMessage.classList.remove("hidden"); logoutButton.classList.remove("hidden"); messageBox.style.display = "none"; + console.log("loginForm.classList after authenticated:", Array.from(loginForm.classList)); } else { loginForm.classList.remove("hidden"); authenticatedMessage.classList.add("hidden"); logoutButton.classList.add("hidden"); + console.log("loginForm.classList after unauthenticated:", Array.from(loginForm.classList)); } logoutButton.replaceWith(logoutButton.cloneNode(true)); document .getElementById("logoutButton") .addEventListener("click", () => { + console.log("logoutButton clicked"); vscode.postMessage({ command: "requestLogoutConfirmation" }); }); } else if (message.type === "showLoader") { @@ -173,8 +192,10 @@ ) { window.addEventListener("message", (event) => { if (event.data.type === messageType) { + console.log(`Autocomplete message received for ${messageType}:`, event.data.items); const items = event.data.items; inputElement.addEventListener("input", function () { + console.log(`Autocomplete input event for ${messageType}:`, this.value); const query = this.value.toLowerCase(); listElement.innerHTML = ""; if (validateCallback) { @@ -205,8 +226,9 @@ filteredItems.forEach((item) => { const div = document.createElement("div"); div.classList.add("autocomplete-item"); - div.innerHTML = ` ${item}`; + div.innerHTML = ' ' + item; div.addEventListener("click", function () { + console.log(`Autocomplete item clicked for ${messageType}:`, item); inputElement.value = item; listElement.innerHTML = ""; listElement.style.display = "none"; @@ -220,6 +242,8 @@ }); document.addEventListener("click", function (event) { + // Add log for document click in autocomplete + console.log("Document click event for autocomplete"); if (event.target !== inputElement) { listElement.innerHTML = ""; listElement.style.display = "none"; @@ -231,9 +255,10 @@ }); } - setupAutocomplete(urlInput, urlsList, "setUrls", (query) => - vscode.postMessage({ command: "validateURL", baseUri: query }) - ); + setupAutocomplete(urlInput, urlsList, "setUrls", (query) => { + console.log("setupAutocomplete validateCallback for setUrls:", query); + vscode.postMessage({ command: "validateURL", baseUri: query }); + }); setupAutocomplete(tenantInput, tenantList, "setTenants"); }); })(); diff --git a/src/webview/authenticationWebview.ts b/src/webview/authenticationWebview.ts index 7f5fd999..e4deb435 100644 --- a/src/webview/authenticationWebview.ts +++ b/src/webview/authenticationWebview.ts @@ -37,33 +37,43 @@ export class AuthenticationWebview { } private async initialize() { - this._panel.webview.postMessage({ type: "showLoader" }); + console.log("[AuthenticationWebview.initialize] posting showLoader message"); + await this._panel.webview.postMessage({ type: "showLoader" }); const authService = AuthService.getInstance(this.context, this.logs); let hasToken = false; try { + console.log("[AuthenticationWebview.initialize] validating and updating auth state..."); hasToken = await authService.validateAndUpdateState(); + console.log("[AuthenticationWebview.initialize] validateAndUpdateState result:", hasToken); } catch (error) { console.error("Error validating authentication state:", error); } - this._panel.webview.postMessage({ - type: "setAuthState", - isAuthenticated: hasToken, - }); + const setAuthStateMessage = { type: "setAuthState", isAuthenticated: hasToken }; + console.log("[AuthenticationWebview.initialize] posting setAuthState message:", setAuthStateMessage); + await this._panel.webview.postMessage(setAuthStateMessage); const urls = this.getURIs(this.context); - this._panel.webview.postMessage({ type: "setUrls", items: urls }); + const setUrlsMessage = { type: "setUrls", items: urls }; + console.log("[AuthenticationWebview.initialize] posting setUrls message:", setUrlsMessage); + await this._panel.webview.postMessage(setUrlsMessage); const tenants = this.getTenants(this.context); - this._panel.webview.postMessage({ type: "setTenants", items: tenants }); - this._panel.webview.postMessage({ type: "hideLoader" }); + const setTenantsMessage = { type: "setTenants", items: tenants }; + console.log("[AuthenticationWebview.initialize] posting setTenants message:", setTenantsMessage); + await this._panel.webview.postMessage(setTenantsMessage); + console.log("[AuthenticationWebview.initialize] posting hideLoader message"); + await this._panel.webview.postMessage({ type: "hideLoader" }); } public static show(context: vscode.ExtensionContext, webViewCommand: WebViewCommand, logs?: Logs) { + console.log("[AuthenticationWebview.show] invoked"); if (AuthenticationWebview.currentPanel) { + console.log("[AuthenticationWebview.show] revealing existing panel"); AuthenticationWebview.currentPanel._panel.reveal(vscode.ViewColumn.One); return; } + console.log("[AuthenticationWebview.show] creating new webview panel"); const panel = vscode.window.createWebviewPanel( AuthenticationWebview.viewType, "Checkmarx One Authentication", @@ -74,12 +84,14 @@ export class AuthenticationWebview { localResourceRoots: [context.extensionUri], } ); + console.log("[AuthenticationWebview.show] webview panel created, instantiating AuthenticationWebview"); AuthenticationWebview.currentPanel = new AuthenticationWebview( panel, context, logs, webViewCommand ); + console.log("[AuthenticationWebview.show] AuthenticationWebview instance created and stored in currentPanel"); } // eslint-disable-next-line @typescript-eslint/no-unused-vars @@ -114,6 +126,7 @@ export class AuthenticationWebview { } private _getWebviewContent(): string { + console.log("[AuthenticationWebview._getWebviewContent] generating webview HTML"); const styleBootStrap = this.setWebUri( "media", "bootstrap", @@ -131,6 +144,17 @@ export class AuthenticationWebview { const successIcon = this.setWebUri("media", "icons", "success.svg"); const errorIcon = this.setWebUri("media", "icons", "error.svg"); const nonce = getNonce(); + console.log("[AuthenticationWebview._getWebviewContent] resource URIs", { + styleBootStrap: styleBootStrap.toString(), + scriptBootStrap: scriptBootStrap.toString(), + scriptUri: scriptUri.toString(), + styleAuth: styleAuth.toString(), + loginIcon: loginIcon.toString(), + logoutIcon: logoutIcon.toString(), + successIcon: successIcon.toString(), + errorIcon: errorIcon.toString(), + nonce + }); return ` From b3f44a0e98dd2d9bbea6fa02fb554b3e52b512b7 Mon Sep 17 00:00:00 2001 From: Rahul Pidde <206018639+cx-rahul-pidde@users.noreply.github.com> Date: Thu, 20 Nov 2025 18:48:26 +0530 Subject: [PATCH 2/2] removed logs --- media/auth.js | 25 ------------------------- src/webview/authenticationWebview.ts | 24 ------------------------ 2 files changed, 49 deletions(-) diff --git a/media/auth.js b/media/auth.js index cc79f64d..ebf42e8e 100644 --- a/media/auth.js +++ b/media/auth.js @@ -1,7 +1,5 @@ -// Add console.log to check DOMContentLoaded registration and call (function () { document.addEventListener("DOMContentLoaded", function () { - console.log("DOMContentLoaded event registered and called"); const vscode = acquireVsCodeApi(); const authButton = document.getElementById("authButton"); const messageBox = document.getElementById("messageBox"); @@ -15,15 +13,9 @@ const authenticatedMessage = document.getElementById( "authenticatedMessage" ); - // Debug: initial classList of loginForm - if (loginForm) { - console.log("loginForm.classList initial:", Array.from(loginForm.classList)); - } window.addEventListener("message", (event) => { - console.log("window message event received (auth button enable/disable):", event.data); const message = event.data; - console.log("parsed message object (auth button enable/disable):", message); if (message.command === "disableAuthButton") { const authButton = document.getElementById("authButton"); if (authButton) { @@ -53,7 +45,6 @@ document.querySelectorAll('input[name="authMethod"]').forEach((radio) => { radio.addEventListener("change", (e) => { - console.log("authMethod radio change event:", e.target.value); const isOAuth = e.target.value === "oauth"; document .getElementById("oauthForm") @@ -67,7 +58,6 @@ }); authButton.addEventListener("click", () => { - console.log("authButton clicked"); messageBox.style.display = "none"; vscode.postMessage({ @@ -81,15 +71,12 @@ }); function handleInputApiKey() { - console.log("apiKey input event"); messageBox.style.display = "none"; isBtnDisabled(); } apiKeyInput.addEventListener("input", handleInputApiKey); function isBtnDisabled() { - // Add log to check when isBtnDisabled is called - console.log("isBtnDisabled called"); const authMethod = document.querySelector( "input[name='authMethod']:checked" ).value; @@ -104,7 +91,6 @@ } function showMessage(text, isError) { - console.log("showMessage called:", text, isError); document.getElementById("messageText").textContent = text; messageBox.style.display = "flex"; if (isError) { @@ -121,9 +107,7 @@ } window.addEventListener("message", (event) => { - console.log("window message event received (auth state, loader, etc):", event.data); const message = event.data; - console.log("parsed message object (auth state, loader, etc):", message); if (message.type === "setAuthState") { const logoutButton = document.getElementById("logoutButton"); @@ -132,18 +116,15 @@ authenticatedMessage.classList.remove("hidden"); logoutButton.classList.remove("hidden"); messageBox.style.display = "none"; - console.log("loginForm.classList after authenticated:", Array.from(loginForm.classList)); } else { loginForm.classList.remove("hidden"); authenticatedMessage.classList.add("hidden"); logoutButton.classList.add("hidden"); - console.log("loginForm.classList after unauthenticated:", Array.from(loginForm.classList)); } logoutButton.replaceWith(logoutButton.cloneNode(true)); document .getElementById("logoutButton") .addEventListener("click", () => { - console.log("logoutButton clicked"); vscode.postMessage({ command: "requestLogoutConfirmation" }); }); } else if (message.type === "showLoader") { @@ -192,10 +173,8 @@ ) { window.addEventListener("message", (event) => { if (event.data.type === messageType) { - console.log(`Autocomplete message received for ${messageType}:`, event.data.items); const items = event.data.items; inputElement.addEventListener("input", function () { - console.log(`Autocomplete input event for ${messageType}:`, this.value); const query = this.value.toLowerCase(); listElement.innerHTML = ""; if (validateCallback) { @@ -228,7 +207,6 @@ div.classList.add("autocomplete-item"); div.innerHTML = ' ' + item; div.addEventListener("click", function () { - console.log(`Autocomplete item clicked for ${messageType}:`, item); inputElement.value = item; listElement.innerHTML = ""; listElement.style.display = "none"; @@ -242,8 +220,6 @@ }); document.addEventListener("click", function (event) { - // Add log for document click in autocomplete - console.log("Document click event for autocomplete"); if (event.target !== inputElement) { listElement.innerHTML = ""; listElement.style.display = "none"; @@ -256,7 +232,6 @@ } setupAutocomplete(urlInput, urlsList, "setUrls", (query) => { - console.log("setupAutocomplete validateCallback for setUrls:", query); vscode.postMessage({ command: "validateURL", baseUri: query }); }); setupAutocomplete(tenantInput, tenantList, "setTenants"); diff --git a/src/webview/authenticationWebview.ts b/src/webview/authenticationWebview.ts index e4deb435..45173e3c 100644 --- a/src/webview/authenticationWebview.ts +++ b/src/webview/authenticationWebview.ts @@ -37,43 +37,33 @@ export class AuthenticationWebview { } private async initialize() { - console.log("[AuthenticationWebview.initialize] posting showLoader message"); await this._panel.webview.postMessage({ type: "showLoader" }); const authService = AuthService.getInstance(this.context, this.logs); let hasToken = false; try { - console.log("[AuthenticationWebview.initialize] validating and updating auth state..."); hasToken = await authService.validateAndUpdateState(); - console.log("[AuthenticationWebview.initialize] validateAndUpdateState result:", hasToken); } catch (error) { console.error("Error validating authentication state:", error); } const setAuthStateMessage = { type: "setAuthState", isAuthenticated: hasToken }; - console.log("[AuthenticationWebview.initialize] posting setAuthState message:", setAuthStateMessage); await this._panel.webview.postMessage(setAuthStateMessage); const urls = this.getURIs(this.context); const setUrlsMessage = { type: "setUrls", items: urls }; - console.log("[AuthenticationWebview.initialize] posting setUrls message:", setUrlsMessage); await this._panel.webview.postMessage(setUrlsMessage); const tenants = this.getTenants(this.context); const setTenantsMessage = { type: "setTenants", items: tenants }; - console.log("[AuthenticationWebview.initialize] posting setTenants message:", setTenantsMessage); await this._panel.webview.postMessage(setTenantsMessage); - console.log("[AuthenticationWebview.initialize] posting hideLoader message"); await this._panel.webview.postMessage({ type: "hideLoader" }); } public static show(context: vscode.ExtensionContext, webViewCommand: WebViewCommand, logs?: Logs) { - console.log("[AuthenticationWebview.show] invoked"); if (AuthenticationWebview.currentPanel) { - console.log("[AuthenticationWebview.show] revealing existing panel"); AuthenticationWebview.currentPanel._panel.reveal(vscode.ViewColumn.One); return; } - console.log("[AuthenticationWebview.show] creating new webview panel"); const panel = vscode.window.createWebviewPanel( AuthenticationWebview.viewType, "Checkmarx One Authentication", @@ -84,14 +74,12 @@ export class AuthenticationWebview { localResourceRoots: [context.extensionUri], } ); - console.log("[AuthenticationWebview.show] webview panel created, instantiating AuthenticationWebview"); AuthenticationWebview.currentPanel = new AuthenticationWebview( panel, context, logs, webViewCommand ); - console.log("[AuthenticationWebview.show] AuthenticationWebview instance created and stored in currentPanel"); } // eslint-disable-next-line @typescript-eslint/no-unused-vars @@ -126,7 +114,6 @@ export class AuthenticationWebview { } private _getWebviewContent(): string { - console.log("[AuthenticationWebview._getWebviewContent] generating webview HTML"); const styleBootStrap = this.setWebUri( "media", "bootstrap", @@ -144,17 +131,6 @@ export class AuthenticationWebview { const successIcon = this.setWebUri("media", "icons", "success.svg"); const errorIcon = this.setWebUri("media", "icons", "error.svg"); const nonce = getNonce(); - console.log("[AuthenticationWebview._getWebviewContent] resource URIs", { - styleBootStrap: styleBootStrap.toString(), - scriptBootStrap: scriptBootStrap.toString(), - scriptUri: scriptUri.toString(), - styleAuth: styleAuth.toString(), - loginIcon: loginIcon.toString(), - logoutIcon: logoutIcon.toString(), - successIcon: successIcon.toString(), - errorIcon: errorIcon.toString(), - nonce - }); return `