Currently, if a player client attempts to do deleteFilters (or addFilters) that request is sent to a GM client for execution, however awaiting those calls returns as soon as the message is sent.
Accordingly a second request can be made before the second has been recorded in the database and the second request may end up setting the workingFlags according to the values before the first effect has completed - resulting in an effect being left hanging around.
socketLib supports an awaitable executeAsGM function which only returns when the first deleteFilters has actually completed.
Switching to socketLib would alleviate some race conditions that case DAE pain.
Currently, if a player client attempts to do deleteFilters (or addFilters) that request is sent to a GM client for execution, however awaiting those calls returns as soon as the message is sent.
Accordingly a second request can be made before the second has been recorded in the database and the second request may end up setting the workingFlags according to the values before the first effect has completed - resulting in an effect being left hanging around.
socketLib supports an awaitable executeAsGM function which only returns when the first deleteFilters has actually completed.
Switching to socketLib would alleviate some race conditions that case DAE pain.