iOS: moved registerSuccessfulExport() into onDismiss so it fires after the share sheet closes, not while it is still open. Android: hold launchReview() until the activity is RESUMED so the dialog cannot overlap the share chooser. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>