Skip to content

feat: support asynchronous multi-task callbacks (SDK-658)#171

Merged
brax10ward merged 1 commit into
masterfrom
braxton/sdk-658-react-native-sdk-should-allow-for-asynchronous-task
Jul 21, 2026
Merged

feat: support asynchronous multi-task callbacks (SDK-658)#171
brax10ward merged 1 commit into
masterfrom
braxton/sdk-658-react-native-sdk-should-allow-for-asynchronous-task

Conversation

@brax10ward

@brax10ward brax10ward commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Linear Link

https://linear.app/atomicbuilt/issue/SDK-658/react-native-sdk-should-allow-for-asynchronous-task-callbacks

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Refactor (non-breaking change which cleans up code)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update
  • This change impacts security

Checklist:

  • New and existing tests pass locally with my changes
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have tested on a physical iOS device and Android device
  • I have added tests that prove my fix is effective or that my feature works
  • I have followed the Code Review and Code Review Security guidelines
  • I have checked my code against flaws from the OWASP Top 10
    • A01:2021-Broken Access Control
    • A02:2021-Cryptographic Failures
    • A03:2021-Injection
    • A04:2021-Insecure Design
    • A05:2021-Security Misconfiguration
    • A06:2021-Vulnerable and Outdated Components
    • A07:2021-Identification and Authentication Failures
    • A08:2021-Software and Data Integrity Failures
    • A09:2021-Security Logging and Monitoring Failures
    • A10:2021-Server-Side Request Forgery

- add src/transactRegistry.ts: route each Atomic.transact() launch's
  callbacks by a wrapper-generated instanceId (+ unit tests)
- install one persistent listener per event; drop the removeAllListeners
  teardown that let a new launch override prior tasks' callbacks
- return a TransactTask handle { instanceId, remove() }; add onCleanup and
  iOS-only onError options
- tear down a task only on cleanup-application (onCleanup), not onFinish/onClose
- ios/android bridges: envelope every event as { instanceId, data }; key
  data-request handlers by instanceId
- android: reclaim the registry entry on launch failure (safety net)
- ios: resolve hideTransact promise; wire onError; drop dead onCompletion
  supportedEvents entry
@brax10ward
brax10ward marked this pull request as ready for review July 21, 2026 16:14
@brax10ward
brax10ward requested a review from a team as a code owner July 21, 2026 16:14
@brax10ward
brax10ward merged commit 7bd0901 into master Jul 21, 2026
5 checks passed
@brax10ward
brax10ward deleted the braxton/sdk-658-react-native-sdk-should-allow-for-asynchronous-task branch July 21, 2026 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants