Fix duplicate serial console messages #243
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #234
I am not positive, but I think the existing
removeEventListener()
is not working becausethis.onSerialReceive.bind(this)
is producing a new function each time it's called. So when it gets called for remove() technically it is a different instance of the function than the one that ends up being passed toaddEventListener()
and thus the one that will need to be passed next time to remove in order for it to get de-activated.This resolves it by creating the callback once, storing it on
this
and then referencing it from there for both the add and remove listener calls.I tested this locally and it does seem to resolve the duplicate serial issue, with it I can now disconnect / re-connect multiple times and still end up with just a single instance of the serial output.