diff --git a/server/src/plugin/plugin-remote.ts b/server/src/plugin/plugin-remote.ts index 0985e5296..f928be3d9 100644 --- a/server/src/plugin/plugin-remote.ts +++ b/server/src/plugin/plugin-remote.ts @@ -324,10 +324,10 @@ export async function setupPluginRemote(peer: RpcPeer, api: PluginAPI, pluginId: } if (eventDetails.property) { - remote.notify(id, eventDetails.eventTime, eventDetails.eventInterface, eventDetails.property, getSystemState()[id]?.[eventDetails.property], eventDetails.changed); + remote.notify(id, eventDetails.eventTime, eventDetails.eventInterface, eventDetails.property, getSystemState()[id]?.[eventDetails.property], eventDetails.changed).catch(() => {}); } else { - remote.notify(id, eventDetails.eventTime, eventDetails.eventInterface, eventDetails.property, eventData, eventDetails.changed); + remote.notify(id, eventDetails.eventTime, eventDetails.eventInterface, eventDetails.property, eventData, eventDetails.changed).catch(() => {}); } }); diff --git a/server/src/rpc.ts b/server/src/rpc.ts index 12490678a..ee5f600ec 100644 --- a/server/src/rpc.ts +++ b/server/src/rpc.ts @@ -479,6 +479,9 @@ export class RpcPeer { } async handleMessage(message: RpcMessage, deserializationContext?: any) { + if (Object.isFrozen(this.pendingResults)) + return; + try { switch (message.type) { case 'param': {