The event trigger logic for once events sometimes splice the once array, which means the iteration loop gets out of sync and skips some entries.
Repro (pseudo code):
var skylink = new Skylink();
skylink.init();
skylink.getUserMedia();
// Wait for init to complete
skylink.joinRoom('roomName', {}, function() {
// Callback is never called because it internally uses a once that never triggers
});
The event trigger logic for once events sometimes
splice
theonce
array, which means the iteration loop gets out of sync and skips some entries.Repro (pseudo code):