Skip to content

Commit

Permalink
fix(proxy): show friendly error when proxy config is not supported CO…
Browse files Browse the repository at this point in the history
…MPASS-8345 (#6321)

* chore: show friendly error when proxy config is not supported

* chore: fix log

* chore: fix eslint checks
  • Loading branch information
kmruiz authored Oct 4, 2024
1 parent a06e469 commit 3b15310
Showing 1 changed file with 36 additions and 1 deletion.
37 changes: 36 additions & 1 deletion packages/compass/src/main/application.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import './disable-node-deprecations'; // Separate module so it runs first
import path from 'path';
import { EventEmitter } from 'events';
import type { BrowserWindow, Event, ProxyConfig } from 'electron';
import { dialog } from 'electron';
import { app, safeStorage, session } from 'electron';
import { ipcMain } from 'hadron-ipc';
import type { AutoUpdateManagerState } from './auto-update-manager';
Expand Down Expand Up @@ -301,7 +302,41 @@ class CompassApplication {
try {
const proxyOptions = proxyPreferenceToProxyOptions(value);
await app.whenReady();
await target.setProxy(translateToElectronProxyConfig(proxyOptions));

try {
const electronProxyConfig =
translateToElectronProxyConfig(proxyOptions);
await target.setProxy(electronProxyConfig);
} catch (err) {
const headline = String(
err && typeof err === 'object' && 'message' in err
? err.message
: err ||
'Currently Compass does not support authenticated or ssh proxies.'
);

log.warn(
mongoLogId(1_001_000_332),
logContext,
'Unable to set proxy configuration',
{
error: headline,
}
);

const sep = path.sep;
const configPath = `${app.getPath(
'userData'
)}${sep}AppPreferences${sep}General.json`;

dialog.showErrorBox(
'Unsupported proxy configuration',
`${headline}\n\n
To reset the proxy configuration, remove the "proxy" key in ${configPath} and restart Compass.`
);

app.quit();
}

const agent = createAgent(proxyOptions);
const fetch = createFetch(agent || {});
Expand Down

0 comments on commit 3b15310

Please sign in to comment.