Describe the bug
In version 1.4.0 of the Datadog SDK, the newly added function updateFields will call the sendCrash function if the client's lastExitOrTerminationReason passed in through launch options is a string of any length greater than zero. This is a bug. If launch options doesn't contain a lastExitOrTerminationReason then sendCrash isn't called.
The sendCrash function doesn't use the passed in lastExitOrTerminationReason at all if the Roku firmware is above version 13. Instead it uses the more reliable exit code from roAppManager. The gating logic for running the RunCrashReporterTask is in two places: within the sendCrash function and within the calling function.
More than 99% of devices run with the latest 15.x firmware. Checking for lastExitOrTerminationReason here is no longer useful and can cause sendCrash to not be called at all as it is in our case.
Reproduction steps
You can repro the bug in the sample app by removing lastExitOrTerminationReason from args at the start of RunUserInterface.
SDK logs
No response
Expected behavior
No response
Affected SDK versions
1.4.0
Latest working SDK version
1.3.1
Did you confirm if the latest SDK version fixes the bug?
Yes
Integration Method
None
RokuOS Version
15.x
BrighterScript compiler version (optional)
No response
Device Information
No response
Other relevant information
No response
Describe the bug
In version 1.4.0 of the Datadog SDK, the newly added function
updateFieldswill call thesendCrashfunction if the client'slastExitOrTerminationReasonpassed in through launch options is a string of any length greater than zero. This is a bug. If launch options doesn't contain alastExitOrTerminationReasonthensendCrashisn't called.The
sendCrashfunction doesn't use the passed inlastExitOrTerminationReasonat all if the Roku firmware is above version 13. Instead it uses the more reliable exit code fromroAppManager. The gating logic for running the RunCrashReporterTask is in two places: within thesendCrashfunction and within the calling function.More than 99% of devices run with the latest 15.x firmware. Checking for
lastExitOrTerminationReasonhere is no longer useful and can causesendCrashto not be called at all as it is in our case.Reproduction steps
You can repro the bug in the sample app by removing
lastExitOrTerminationReasonfromargsat the start ofRunUserInterface.SDK logs
No response
Expected behavior
No response
Affected SDK versions
1.4.0
Latest working SDK version
1.3.1
Did you confirm if the latest SDK version fixes the bug?
Yes
Integration Method
None
RokuOS Version
15.x
BrighterScript compiler version (optional)
No response
Device Information
No response
Other relevant information
No response