fix(catchers): validate beforeSend return value to avoid sending invalid payload #150
+4
−2
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.
Problem
When
beforeSendreturns a non-object (e.g.true,undefined, or omitsreturn), that value was used aspayloadand sent to the collector. The backend then stored it as-is (e.g.payload: truein MongoDB), which led to:Cannot return null for non-nullable field EventPayload.titleTypeError: can't access property "event", l is nullon project overviewCommon mistakes:
beforeSend: (e) => true(meant “allow”, but overwrites payload)beforeSend: (e) => { console.log(e); }(no return →undefinedas payload)Solution
Validate the return value of
beforeSendand only use it when it’s a valid event object: