Bug Description
1. Summary
In New Relic Vega Crash Reporting Agent, an attribute value containing commas is not correctly sent to New Relic.
Bug Severity
- Impacts operation of app
- Blocks current development
- Improvement suggestion
- Issue with documentation (If selected, please share the doc link and describe the issue)
- Other
2. Steps to Reproduce
- Call
NrKeplerCrash.setCustomAttributes()with an value containing commas. - Call
NrKeplerCrash.recordError() - The logs on New Relic shows broken structure logs.
3. Observed Behavior
Run below,
NrKeplerCrash.registerHandler(
ENVIRONMENTS.NEWRELIC_ACCOUNT_ID,
ENVIRONMENTS.NEWRELIC_LICENSE_KEY,
'US',
ENVIRONMENTS.APP_VERSION,
);
NrKeplerCrash.setCustomAttributes({
metadata: 'value1,value2,value3',
});
const error = new Error('The test error.');
void NrKeplerCrash.recordError(error.message, error.stack ?? '');
Then, part of the metadata data is missing.
4. Expected Behavior
4.a Possible Root Cause & Temporary Workaround
When sending logs to the New Relic Log API using the following procedure, it behaves as expected.
curl --location 'https://log-api.newrelic.com/log/v1' \
--header 'Content-Type: application/json' \
--header "Api-Key: ${NEWRELIC_LICENSE_KEY}" \
--data '{ "message": "The test error.", "attributes": "{\"metadata\":\"value1,value2,value3\"}" }'
Therefore, I think there is an issue with the internal implementation of the New Relic Vega Crash Reporting Agent.
5. Logs or crash report
n/a
6. Environment
-
New Relic Vega Crash Reporting Agent Version: 1.0.64-beta
-
SDK Version: 0.21.4677
-
App State: Foreground
-
OS Information
NAME="OS" OE_VERSION="4.0.0" OS_MAJOR_VERSION="1" OS_MINOR_VERSION="1" RELEASE_ID="10" OS_VERSION="1.1" BRANCH_CODE="TV Ship" BUILD_DESC="OS 1.1 (TV Ship/4434)" BUILD_FINGERPRINT="4.0.163721.0(3072cab629675a74)/4434N:user-external/release-keys" BUILD_VARIANT="user-external" BUILD_TAGS="release-keys" BUILD_DATE="Thu Sep 25 15:30:34 UTC 2025" BUILD_TIMESTAMP="1758814234" VERSION_NUMBER="1001010443450"
7. Example Code Snippet / Screenshots / Screengrabs
import { NrKeplerCrash } from '@amzn/nrkeplercrash';
import { useEffect } from 'react';
import { AppRegistry, View } from 'react-native';
import { name as appName } from './app.json';
function Application() {
useEffect(() => {
NrKeplerCrash.registerHandler(
ENVIRONMENTS.NEWRELIC_ACCOUNT_ID,
ENVIRONMENTS.NEWRELIC_LICENSE_KEY,
'US',
ENVIRONMENTS.APP_VERSION,
);
NrKeplerCrash.setCustomAttributes({
metadata: 'value1,value2,value3',
});
const error = new Error('The test error.');
void NrKeplerCrash.recordError(error.message, error.stack ?? '');
}, []);
return <View />;
}
AppRegistry.registerComponent(appName, () => Application);

