mirror of
https://github.com/cline/cline.git
synced 2026-09-21 05:10:09 +08:00
fix: use vscode.env.asExternalUri for auth callback URLs in VS Code Web (#9144)
* fix: use vscode.env.asExternalUri for auth callback URLs in VS Code Web The OAuth callback redirect was broken in VS Code Web (code serve-web) environments because the callback URL used a raw vscode:// URI scheme, which the OS would route to the local desktop VS Code app instead of the web instance. This change wraps both getCallbackUrl() and getIdeRedirectUri() with vscode.env.asExternalUri() which properly transforms URIs based on the environment: - Desktop VS Code: unchanged (vscode://...) - VS Code Remote SSH: adds remote authority for proper routing - VS Code Web: transforms to HTTPS URL that routes through the web server Fixes #5109 (remaining callback redirect issue) Related: #2152 * fix: use HTTP-based auth callback for VS Code Web mode In VS Code Web (code serve-web), vscode:// URIs redirect to the desktop app instead of staying in the browser. This change uses AuthHandler (local HTTP server) for the auth callback in web mode, matching how CLI/standalone already handles auth. - getCallbackUrl: use AuthHandler when UIKind.Web - getIdeRedirectUri: return empty in web mode to avoid vscode:// redirect * fix: add fallback for openExternal RPC for JetBrains compatibility The openExternal host bridge RPC is not implemented in the JetBrains plugin, causing sign-in to fail silently. This adds a fallback to the 'open' npm package when the host RPC fails with UNIMPLEMENTED. Fixes #9164, #9137, #9138
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"claude-dev": patch
|
||||
---
|
||||
|
||||
Fix JetBrains sign-in regression by adding fallback for openExternal RPC
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
"cline": patch
|
||||
---
|
||||
|
||||
fix: use vscode.env.asExternalUri for auth callback URLs only in VS Code Web
|
||||
|
||||
Fixes OAuth callback redirect in VS Code Web (`code serve-web`) environments by using `vscode.env.asExternalUri()` to resolve the callback URI. This is gated behind a `vscode.env.uiKind === UIKind.Web` check so regular desktop VS Code continues to use the `vscode://` URI directly, avoiding unintended transformations from `asExternalUri`.
|
||||
Reference in New Issue
Block a user