submitBugReport method
Submit a bug report. Returns a local UUID immediately. The report is enqueued to the outbox and uploaded in background. Use getSubmissionStatus to track progress.
Implementation
String submitBugReport({
required String description,
Map<String, dynamic>? metadata,
}) {
final localId = const Uuid().v4();
final payload = jsonEncode({
'projectId': config.projectId,
'description': description,
'metadata': metadata ?? {},
'timestamp': DateTime.now().toIso8601String(),
});
unawaited(
outboxDao
.enqueue(type: 'bug_report', payload: payload, id: localId)
.then((_) {
outboxDrainer.scheduleDrain();
})
.catchError((Object e) {
// Never throw into the host — fire-and-forget contract.
debugPrint('TesterPayKit: submitBugReport enqueue failed: $e');
}),
);
return localId;
}