Skip to content

Commit 26f583b

Browse files
committed
refactor: context isolation via preload script
Signed-off-by: Adam Setch <[email protected]>
1 parent 8c604d1 commit 26f583b

File tree

11 files changed

+87
-218
lines changed

11 files changed

+87
-218
lines changed

src/main/preload.ts

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
1-
import { contextBridge, ipcRenderer } from 'electron';
1+
import { contextBridge, ipcRenderer, shell } from 'electron';
22
import { namespacedEvent } from '../shared/events';
33

4+
import { type Link, OpenPreference } from '../renderer/types';
45
import { Constants } from '../renderer/utils/constants';
6+
import { isLinux, isMacOS, isWindows } from '../shared/platform';
57

68
const api = {
7-
openExternalLink: (url) =>
8-
ipcRenderer.send(namespacedEvent('open-external-link'), url),
9+
openExternalLink: (url: Link, openPreference: OpenPreference) => {
10+
console.log('PRELOAD OPEN LINK');
11+
12+
shell.openExternal(url, {
13+
activate: openPreference === OpenPreference.FOREGROUND,
14+
});
15+
},
916

1017
getAppVersion: () => {
1118
if (process.env.NODE_ENV === 'development') {
@@ -15,43 +22,35 @@ const api = {
1522
ipcRenderer.invoke(namespacedEvent('version'));
1623
},
1724

18-
encryptValue: (value) =>
25+
encryptValue: (value: string) =>
1926
ipcRenderer.invoke(namespacedEvent('safe-storage-encrypt'), value),
2027

21-
decryptValue: (value) =>
28+
decryptValue: (value: string) =>
2229
ipcRenderer.invoke(namespacedEvent('safe-storage-decrypt'), value),
2330

24-
quitApp: () => {
25-
console.log('PRELOAD DEBUGGING - QUIT APP');
26-
27-
ipcRenderer.send(namespacedEvent('quit'));
28-
},
31+
quitApp: () => ipcRenderer.send(namespacedEvent('quit')),
2932

3033
showWindow: () => ipcRenderer.send(namespacedEvent('window-show')),
3134

3235
hideWindow: () => ipcRenderer.send(namespacedEvent('window-hide')),
3336

34-
setAutoLaunch: (value) =>
37+
setAutoLaunch: (value: boolean) =>
3538
ipcRenderer.send(namespacedEvent('update-auto-launch'), {
3639
openAtLogin: value,
3740
openAsHidden: value,
3841
}),
3942

40-
setAlternateIdleIcon: (value) =>
43+
setAlternateIdleIcon: (value: boolean) =>
4144
ipcRenderer.send(namespacedEvent('use-alternate-idle-icon'), value),
4245

43-
setKeyboardShortcut: (keyboardShortcut) => {
44-
console.log('PRELOAD DEBUGGING - setKeyboardShortcut');
45-
46+
setKeyboardShortcut: (keyboardShortcut: boolean) => {
4647
ipcRenderer.send(namespacedEvent('update-keyboard-shortcut'), {
4748
enabled: keyboardShortcut,
4849
keyboardShortcut: Constants.DEFAULT_KEYBOARD_SHORTCUT,
4950
});
5051
},
5152

5253
updateTrayIcon: (notificationsLength = 0) => {
53-
console.log('PRELOAD DEBUGGING - UPDATE TRAY ICON');
54-
5554
if (notificationsLength < 0) {
5655
ipcRenderer.send(namespacedEvent('icon-error'));
5756
return;
@@ -63,22 +62,21 @@ const api = {
6362
}
6463

6564
ipcRenderer.send(namespacedEvent('icon-idle'));
66-
// ipcRenderer.send(namespacedEvent('update-tray-icon'), notificationsLength),
6765
},
6866

6967
updateTrayTitle: (title = '') =>
7068
ipcRenderer.send(namespacedEvent('update-title'), title),
7169

7270
isLinux: () => {
73-
return process.platform === 'linux';
71+
return isLinux();
7472
},
7573

7674
isMacOS: () => {
77-
return process.platform === 'darwin';
75+
return isMacOS();
7876
},
7977

8078
isWindows: () => {
81-
return process.platform === 'win32';
79+
return isWindows();
8280
},
8381
};
8482

src/renderer/components/__snapshots__/AllRead.test.tsx.snap

Lines changed: 4 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/renderer/components/__snapshots__/Oops.test.tsx.snap

Lines changed: 4 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/renderer/components/layout/__snapshots__/EmojiSplash.test.tsx.snap

Lines changed: 4 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/renderer/components/notifications/__snapshots__/AccountNotifications.test.tsx.snap

Lines changed: 4 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/renderer/components/primitives/__snapshots__/EmojiText.test.tsx.snap

Lines changed: 2 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/renderer/components/settings/__snapshots__/SettingsFooter.test.tsx.snap

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)