Skip to content

SDK 0.3.3: dedupe setAppUserId identify posts - #6

Merged
cursor[bot] merged 1 commit into
mainfrom
cursor/sdk-0-3-3-identify-dedupe-07be
Oct 14, 2026
Merged

cursor[bot] merged 1 commit into
mainfrom
cursor/sdk-0-3-3-identify-dedupe-07be

Conversation

@KennyYe

@KennyYe KennyYe commented Oct 14, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Bring the Flutter SDK to parity with @tapapplink/react-native 0.3.3 (tapapplink/tapapplink-react-native#6). Apps that link the billing user id from several places could fire /ingestIdentify multiple times per launch. 0.3.3 skips when the id matches the last successfully identified value (persisted like trackInstall), coalesces concurrent identical calls into one request, and still posts when the id changes.

Also expose optional codeMatches and offer.creatorName on typed TapAppLinkRedeemResult from applyCode, matching server redeemCode when already attributed (tapapplink/tapapplink#60).

Changes

  • Persist successful appUserId after /ingestIdentify; hydrate restores it
  • Skip /ingestIdentify when appUserId equals the last successful identify
  • Coalesce concurrent identical setAppUserId calls into one POST
  • A different appUserId still posts; failed identify is not persisted and retries
  • Add typed TapAppLinkRedeemResult / TapAppLinkRedeemOffer with nullable codeMatches and offer.creatorName
  • Bump package / sdkVersion to 0.3.3 with changelog (en-AU)

Test plan

  • Same id twice in one session posts once and returns skipped
  • Cold start with persisted id skips POST
  • Concurrent identical calls share one in-flight future
  • Different id posts again
  • Failed identify is not persisted and retries
  • applyCode success exposes codeMatches and nullable offer.creatorName
  • CI green

After merge: tag v0.3.3 on the merge commit to trigger publish.yml pub.dev publish.

Open in Web Open in Cursor 

Skip /ingestIdentify when appUserId matches the last successful
identify (persisted), coalesce concurrent identical calls, and expose
codeMatches plus offer.creatorName on TapAppLinkRedeemResult.

Co-authored-by: Kenny Ye <KennyYe@users.noreply.github.com>
@KennyYe
KennyYe marked this pull request as ready for review October 14, 2026 11:46
@cursor
cursor Bot merged commit ae9b427 into main Oct 14, 2026
2 checks passed
@cursor
cursor Bot deleted the cursor/sdk-0-3-3-identify-dedupe-07be branch October 14, 2026 11:46
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