Как обычно, чтение документации, вероятно, первое и лучшее, что нужно сделать ...
Метод webContents contents.execute JavaScript ожидает строку кода в качестве первого аргумента ...
Это может помочь:
newRoom.webContents.executeJavaScript(
'client.emit("authentication", { username: "bob", password: "1234" })'
);
или:
newRoom.webContents.executeJavaScript(
`client.emit("authentication", {
username: "bob",
password: "1234"
})`
);
Однако в первоначальном вопросе упоминается, что " код выполняется нормально ", что означает, что его даже не нужно передавать процессу рендеринга для выполнения ...
client.emit("authentication", {
username: "bob",
password: "1234"
});