Skip to content
This repository was archived by the owner on May 15, 2026. It is now read-only.

Commit e462255

Browse files
committed
fix(azure): stop auto-filling API version from pasted URL
Pasted URLs often contain older API versions (e.g., 2024-05-01-preview) that are incompatible with the Responses API. The parser now only extracts endpoint and deployment name, letting the API version default to 2025-04-01-preview.
1 parent ae946fa commit e462255

3 files changed

Lines changed: 6 additions & 15 deletions

File tree

webview-ui/src/components/settings/providers/Azure.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,6 @@ export const Azure = ({ apiConfiguration, setApiConfigurationField }: AzureProps
3636
if (parsed) {
3737
setApiConfigurationField("azureBaseUrl", parsed.baseUrl)
3838
setApiConfigurationField("azureDeploymentName", parsed.deploymentName)
39-
if (parsed.apiVersion) {
40-
setApiConfigurationField("azureApiVersion", parsed.apiVersion)
41-
}
4239
} else {
4340
setApiConfigurationField("azureBaseUrl", rawValue)
4441
}

webview-ui/src/components/settings/utils/__tests__/parseAzureUrl.spec.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
import { parseAzureUrl } from "../parseAzureUrl"
22

33
describe("parseAzureUrl", () => {
4-
it("parses a full openai.azure.com URL with api-version", () => {
4+
it("parses a full openai.azure.com URL (ignores api-version)", () => {
55
const result = parseAzureUrl(
66
"https://my-resource.openai.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2024-10-21",
77
)
88
expect(result).toEqual({
99
baseUrl: "https://my-resource.openai.azure.com/openai",
1010
deploymentName: "gpt-4o",
11-
apiVersion: "2024-10-21",
1211
})
1312
})
1413

@@ -19,7 +18,6 @@ describe("parseAzureUrl", () => {
1918
expect(result).toEqual({
2019
baseUrl: "https://my-deployment.cognitiveservices.azure.com/openai",
2120
deploymentName: "gpt-5.2",
22-
apiVersion: "2024-05-01-preview",
2321
})
2422
})
2523

@@ -30,7 +28,6 @@ describe("parseAzureUrl", () => {
3028
expect(result).toEqual({
3129
baseUrl: "https://my-resource.services.ai.azure.com/openai",
3230
deploymentName: "my-model",
33-
apiVersion: "2025-01-01",
3431
})
3532
})
3633

@@ -57,7 +54,6 @@ describe("parseAzureUrl", () => {
5754
expect(result).toEqual({
5855
baseUrl: "https://my-resource.openai.azure.com/openai",
5956
deploymentName: "gpt-4.turbo.2024",
60-
apiVersion: "2024-10-21",
6157
})
6258
})
6359

@@ -68,7 +64,6 @@ describe("parseAzureUrl", () => {
6864
expect(result).toEqual({
6965
baseUrl: "https://my-resource.openai.azure.com/openai",
7066
deploymentName: "my-deploy",
71-
apiVersion: "2024-10-21",
7267
})
7368
})
7469

@@ -102,14 +97,13 @@ describe("parseAzureUrl", () => {
10297
})
10398
})
10499

105-
it("handles additional query parameters besides api-version", () => {
100+
it("ignores query parameters including api-version", () => {
106101
const result = parseAzureUrl(
107102
"https://my-resource.openai.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2024-10-21&extra=param",
108103
)
109104
expect(result).toEqual({
110105
baseUrl: "https://my-resource.openai.azure.com/openai",
111106
deploymentName: "gpt-4o",
112-
apiVersion: "2024-10-21",
113107
})
114108
})
115109
})

webview-ui/src/components/settings/utils/parseAzureUrl.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ export interface ParsedAzureUrl {
33
baseUrl: string
44
/** e.g. "gpt-5.2" */
55
deploymentName: string
6-
/** e.g. "2024-05-01-preview" */
7-
apiVersion?: string
86
}
97

108
/**
119
* Parses a full Azure OpenAI URL into its components.
1210
* Returns null if the URL doesn't match the expected pattern.
1311
*
12+
* Extracts the base URL and deployment name only — the api-version query
13+
* parameter is intentionally ignored so the application default is used.
14+
*
1415
* Supported URL formats:
1516
* - https://{resource}.openai.azure.com/openai/deployments/{deployment}/chat/completions?api-version={ver}
1617
* - https://{resource}.cognitiveservices.azure.com/openai/deployments/{deployment}/responses?api-version={ver}
@@ -32,7 +33,6 @@ export function parseAzureUrl(input: string): ParsedAzureUrl | null {
3233

3334
const baseUrl = `${url.origin}${match[1]}`
3435
const deploymentName = decodeURIComponent(match[2])
35-
const apiVersion = url.searchParams.get("api-version") ?? undefined
3636

37-
return { baseUrl, deploymentName, ...(apiVersion !== undefined && { apiVersion }) }
37+
return { baseUrl, deploymentName }
3838
}

0 commit comments

Comments
 (0)