Skip to content

refactor: Rebuild OneLinkService(s) and bump major version to 1.0.x - #4

Open
tareksabry1337 wants to merge 4 commits into
mainfrom
revamp/parameter-pasrsing
Open

tareksabry1337 wants to merge 4 commits into
mainfrom
revamp/parameter-pasrsing

Conversation

@tareksabry1337

@tareksabry1337 tareksabry1337 commented Nov 11, 2025 •

Copy link
Copy Markdown
Contributor

Note

Reworks AppsFlyer deep-linking to a structured DeepLinkResult with new helpers and listener callbacks across Android/iOS, expands constants, and updates CI to publish 1.0.x.

  • Appsflyer (KMM SDK):
    • Deep-link model: Replace flat DeepLinkResult with structured nested fields (Origin, Campaign, Advertisement, etc.) and add DeepLinkResult.notFound().
    • Helpers: Add DeepLinkHelpers to parse/build deep-link data (getDeepLinkValue, parseDestination, build* mappers).
    • Listener API: Remove onAppAttribution and nullable result; add onAttributionData and onDeepLinkNotFound; onDeepLinkingResult now requires a DeepLinkResult.
    • Error handling: Extend DeepLinkError with message and Generic; map SDK errors via toError().
    • Android/iOS services: Refactor to use new builders; gate attribution by is_first_launch; pass clickEvent/conversion; unify NOT_FOUND handling and error callbacks.
    • Constants/Utils: Greatly expand AppsFlyerConstants; update deep-link value generation to use AF_CHANNEL.
    • Removals: Remove legacy metadata/login helpers and related tests.
  • CI:
    • Add branch trigger revamp/parameter-pasrsing and bump publish version to 1.0.${{ github.run_number }}.

Written by Cursor Bugbot for commit 85e7a5d. This will update automatically on new commits. Configure here.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is being reviewed by Cursor Bugbot

Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

push:
branches:
- 'main'
- 'revamp/parameter-pasrsing'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Development Branch Leaked Into Production

The workflow includes a temporary development branch revamp/parameter-pasrsing (note the typo "pasrsing" instead of "parsing"). This appears to be temporary debug/development configuration that shouldn't be in a production release workflow, especially given the PR is about bumping to version 1.0.x.

Fix in Cursor Fix in Web

data object HttpStatusCode : DeepLinkError()
data object Unexpected : DeepLinkError()
data object DeveloperError : DeepLinkError()
data class Generic(override val message: String) : DeepLinkError(message)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Platform Mismatch Blocks Error Details.

Platform mismatch in DeepLinkError implementation. Android uses an open class with nested subclasses (Timeout, Network, etc.), while iOS uses a data class with an NSError parameter. The Android implementation's data objects don't pass values to the parent constructor's message parameter, making the error details inaccessible through the base class on Android, breaking cross-platform API consistency.

Fix in Cursor Fix in Web

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