Wrap problematic JSON.parse() in try catch #24
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.
This is not a great solution, but it is a functional one.
I have been using this personally for a couple of weeks now, no major issues, this will loose messages if they are sent faster than the synapse ratelimit, but I am not sure if that is due to this 'fix' or a limitation in the puppet bridge lacking retry logic.
The root cause of this issue seems to be an insuffecient check inside of hangups that sends two message's JSON at the same time, thereby causing a parse error. But if that simply fails, the messages still come through for whatever reason?
Anyway I do not have enough time to go through and fix this properly from the hangups side for a protocol Google will likely kill in the near future.
feedback welcome
fixes #22