Merge pull request #395 from hashicorp/fix-empty-ipc-payload
fix: 🐛 IPC should check for method and handler for data
This commit is contained in:
3 files changed
+12
-12
No files matched your search
@@ -1,4 +1,5 @@
|
||||
import Ember from 'ember';
|
||||
import { assert } from '@ember/debug';
|
||||
import config from '../config/environment';
|
||||
|
||||
/**
|
||||
@@ -38,12 +39,10 @@ export function initialize() {
|
||||
const mockIPC = new MockIPC();
|
||||
window.addEventListener('message', async function (event) {
|
||||
if (event.origin !== window.location.origin) return;
|
||||
const { method, payload } = event.data;
|
||||
if (method) {
|
||||
const response =
|
||||
await mockIPC.invoke(method, payload);
|
||||
event.ports[0].postMessage(response);
|
||||
}
|
||||
const { method, payload } = event?.data ?? {};
|
||||
assert(`IPC requires a method, you passed '${method}'.`, method);
|
||||
const response = await mockIPC.invoke(method, payload);
|
||||
event.ports[0].postMessage(response);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,6 @@ ipcMain.handle('getOrigin', async (event, request) => {
|
||||
*/
|
||||
ipcMain.handle('setOrigin', async (event, request) => {
|
||||
log('setOrigin', request);
|
||||
origin = request.data;
|
||||
origin = request?.data;
|
||||
return origin;
|
||||
});
|
||||
@@ -1,4 +1,5 @@
|
||||
const { ipcRenderer } = require('electron');
|
||||
|
||||
// Messages must originate from this origin
|
||||
const emberAppOrigin = window.location.origin;
|
||||
|
||||
@@ -16,10 +17,10 @@ process.once('loaded', () => {
|
||||
*/
|
||||
window.addEventListener('message', async function (event) {
|
||||
if (event.origin !== emberAppOrigin) return;
|
||||
const response = await ipcRenderer.invoke(
|
||||
event.data.method,
|
||||
event.data.payload
|
||||
);
|
||||
event.ports[0].postMessage(response);
|
||||
const { method, payload } = event?.data ?? {};
|
||||
if (method) {
|
||||
const response = await ipcRenderer.invoke(method, payload);
|
||||
event.ports[0].postMessage(response);
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user