Skip to content

Report API edge cases: no way to discard a created report, iOS created-report upload() resolves true when not launched, handler never sees terminating reports #141

Open

Description

@krassx

Found while documenting the 7.x beta (docs PR bugsee/docs#110). Checked against the source on main at 7.0.0-beta3; file:line references are to the SDK repo unless a repo is named. Not reproduced on a device unless a line says so.

  • createReport() cannot be abandoned: once it succeeds, every later createReport() rejects with E_REPORT_CREATE_BUSY until that report is uploaded or the JS runtime reloads (iOS keeps the slot until the upload completes: BGSRNCreatedReports.m:23-27, 51-55, 154-160). There is no discard().
  • iOS upload() of a created report always resolves true, even when the SDK is not launched: the iOS completion has no success flag (BugseeModule.mm:2366-2390).
  • The report handler never sees terminating reports: Android NDK crash relaunch and early recovery never reach JS; an iOS report recovered at launch gets only 2.5 s (BGSRNReportDeadlines.m:3-7); with report-handler-callback-timeout set to 1 s the Android JS handler is never called (ReportHandlerDeadlines.java:46-51).
  • The RN BugseeReport has no screenshot API (native Android Report has setScreenshot) and no e-mail field.
  • Unexpected native faults reject with RN's default error code (<op> failed) rather than a BugseeReportError.

Suggested direction

Add discard() for created reports; return a real result from the iOS upload; document (or lift) the handler's limits for recovered reports.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions