дзеркало
https://github.com/l0ng-ai/openidea.git
синхронізовано 2026-11-08 19:02:17 +02:00
* feat(settings): HTTP Proxy settings for the IDE's outgoing connections Add Appearance & Behavior › System Settings › HTTP Proxy with three modes: No proxy, Auto-detect proxy settings (the default; environment proxy as before) and Manual proxy configuration (HTTP or SOCKS, host and port, a comma-separated "No proxy for" list with `*` wildcards, optional proxy authentication). "Check connection…" GETs a URL with the settings as edited and reports the status or the error. - ide-core: `ProxySettings` plus routing (no-proxy globs, loopback always direct, credentials percent-encoded), the current proxy for the process, curl arguments and child-process variables. - ide-http: `client::build` / `client::shared` is the one HTTP client constructor; the HTTP Client requests and the update check go through it. - ide-tools: curl downloads (tools, JDKs, debug adapters, agent registry, remote server) follow the setting. - A manual proxy reaches child processes (language servers, debug adapters, terminals, git) as HTTP_PROXY / HTTPS_PROXY / ALL_PROXY / NO_PROXY. - The proxy password is kept in the owner-only saved passwords file (`proxy-password.json` in the app data directory), not in settings.toml. Co-Authored-By: Claude <[email protected]> * fix(host): Allow the Unix-only post-start test helpers on Windows Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: Claude <[email protected]>
89 рядки
1.2 KiB
CSS
89 рядки
1.2 KiB
CSS
.page {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
.modes {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.radio {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
min-height: 28px;
|
|
}
|
|
.radio input {
|
|
margin: 0;
|
|
accent-color: var(--accent);
|
|
}
|
|
.disabled {
|
|
color: var(--fg-subtle);
|
|
}
|
|
.hint {
|
|
padding-left: 20px;
|
|
color: var(--fg-subtle);
|
|
}
|
|
|
|
/* Manual configuration, indented under its radio button. */
|
|
.manual {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding-left: 20px;
|
|
}
|
|
.kinds {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 16px;
|
|
}
|
|
.hostRow {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 24px;
|
|
}
|
|
.host {
|
|
width: 220px;
|
|
}
|
|
.port {
|
|
width: 64px;
|
|
}
|
|
.wide {
|
|
width: 360px;
|
|
}
|
|
.toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
min-height: 28px;
|
|
}
|
|
.auth {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding-left: 20px;
|
|
}
|
|
.error {
|
|
color: var(--danger);
|
|
}
|
|
.ok {
|
|
color: var(--success, var(--fg-muted));
|
|
}
|
|
|
|
.check {
|
|
margin-top: 12px;
|
|
}
|
|
.popup {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
padding: 10px 14px;
|
|
max-width: 480px;
|
|
}
|
|
.urlRow {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
}
|
|
.result {
|
|
min-height: 1lh;
|
|
overflow-wrap: anywhere;
|
|
}
|