Skip to content

feat: add tracker runtime and durable offline queue - #7

Merged
alirezat66 merged 1 commit into
mainfrom
milestone/03-runtime-offline-queue
Aug 17, 2026
Merged

feat: add tracker runtime and durable offline queue#7
alirezat66 merged 1 commit into
mainfrom
milestone/03-runtime-offline-queue

Conversation

@alirezat66

Copy link
Copy Markdown
Collaborator

Summary

Adds the production runtime responsible for tracker lifecycle, event delivery, failure isolation, offline persistence, and retry.

Changes

  • Adds coroutine-native FlexTrackClient
  • Adds tracker registration and lifecycle management
  • Delivers events concurrently to routed trackers
  • Isolates individual tracker failures
  • Adds in-memory event queue
  • Adds durable atomic-file event queue for Android
  • Queues events when the device is offline
  • Retries only tracker destinations that remain unsuccessful
  • Preserves queued events across application restarts
  • Handles coroutine cancellation correctly
  • Executes the shared Flutter/Kotlin Core MVP fixtures in tests

Reliability

  • One failing tracker does not prevent other trackers from receiving an event
  • Queue writes are atomic to protect against interrupted application writes
  • Successfully delivered destinations are not retried
  • Consent-rejected events are neither delivered nor queued

Verification

  • 28 Debug tests pass
  • 28 Release tests pass
  • All 8 shared conformance fixtures pass
  • Android lint passes
  • Release AAR generation passes
  • Maven Local publication passes

@alirezat66
alirezat66 merged commit 3c81aad into main Aug 17, 2026
1 check failed
@alirezat66
alirezat66 deleted the milestone/03-runtime-offline-queue branch August 17, 2026 20:40
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.

1 participant