Description
Currently the following events are only emitted on the server the change occured on:
In a network setup this causes the following scenarios:
- When adding/removing a node to a user through the backend server the events will only be emitted on the backend server.
- When a node expires the events are called on the backend servers and the proxy.
This makes it extremely difficult to run a piece of code only once in a global context if one of these events happens.
Proposed Behaviour
The events should be called globally, so if you add a node to a user via the backend server, the proxy should also emit a NodeMutateEvent (and also the other Node events if they fit into the change)
Extra Details
An example for what this change can be useful: A group history tracking with timestamps can be made only on the proxy, currently this is not possible and the fact that an expiring node calls the event on all servers makes it extremely difficult to track if a change has already been processed or not.
Description
Currently the following events are only emitted on the server the change occured on:
In a network setup this causes the following scenarios:
This makes it extremely difficult to run a piece of code only once in a global context if one of these events happens.
Proposed Behaviour
The events should be called globally, so if you add a node to a user via the backend server, the proxy should also emit a NodeMutateEvent (and also the other Node events if they fit into the change)
Extra Details
An example for what this change can be useful: A group history tracking with timestamps can be made only on the proxy, currently this is not possible and the fact that an expiring node calls the event on all servers makes it extremely difficult to track if a change has already been processed or not.