mirror of
https://github.com/ElectronNET/Electron.NET.git
synced 2026-05-06 20:28:22 +00:00
Fix SignalR event args spreading for Electron handlers
- Changed event handler to receive args as single array parameter - Spread array elements as individual arguments to match Socket.IO behavior
This commit is contained in:
@@ -75,15 +75,18 @@ class SignalRBridge {
|
||||
|
||||
setupMessageHandlers() {
|
||||
// Handle generic events from .NET - this is where .NET's Emit() calls arrive
|
||||
this.connection.on('event', (eventName, ...args) => {
|
||||
this.connection.on('event', (eventName, args) => {
|
||||
safeConsole.log(`[SignalRBridge] Received event: ${eventName}`);
|
||||
|
||||
// args is an array from .NET - spread it when calling handlers
|
||||
const argsArray = Array.isArray(args) ? args : [args];
|
||||
|
||||
// Check if we have handlers registered for this event
|
||||
if (this.eventHandlers.has(eventName)) {
|
||||
const handlers = this.eventHandlers.get(eventName);
|
||||
handlers.forEach(handler => {
|
||||
try {
|
||||
handler(...args);
|
||||
handler(...argsArray);
|
||||
} catch (err) {
|
||||
safeConsole.error(`[SignalRBridge] Error in event handler for ${eventName}:`, err);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user