Improve metadata API in Report/Event #694
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.
Goal
This PR adds two new methods to replace the existing
add_tab
/remove_tab
—add_metadata
andclear_metadata
The new methods support almost all the use-cases of the old methods, with some additional functionality that matches other notifiers (e.g.
@bugsnag/js
):The only use-case that
add_tab
supported thatadd_metadata
doesn't is the automatic "custom" tab. This was created ifadd_tab
was called with a non-Hash value, but is quite a surprising API (e.g. see #587):Design
The implementation uses a
MetadataDelegate
class internally. This is to allow the new metadata operations to be supported in multiple classes asConfiguration
will gain support for global metadata in the future