Skip to content

fix: [SDK-5065] report unbuildable log requests as a permanent failure - #1727

Merged
abdulraqeeb33 merged 1 commit into
mainfrom
ar/sdk-5065-ios-retry-sentinel
Aug 26, 2026
Merged

fix: [SDK-5065] report unbuildable log requests as a permanent failure#1727
abdulraqeeb33 merged 1 commit into
mainfrom
ar/sdk-5065-ios-retry-sentinel

Conversation

@abdulraqeeb33

Copy link
Copy Markdown
Contributor

fix: [SDK-5065] report unbuildable log requests as a permanent failure

The -1 transport sentinel was returned both when a request got no usable
response and when the URL could not be constructed at all. The shared retry
policy in the KMP logger classifies -1 as transient, so a malformed base URL or
app id would burn the full retry budget and its backoff on every batch,
indefinitely, against a misconfiguration that cannot resolve itself.

Reports -3 for the unbuildable case instead. The shared policy already treats
anything it does not recognise as permanent, so this needs no coordinated
change; the KMP side documents the distinction and pins it with a test.

No behavioural change until the export-retry work lands — before it, every
failure was single-shot regardless of code.

Companion to OneSignal-KMP-SDK#21, which adds the retry policy that makes this distinction matter. Independent of #1725 — it touches only the HTTP sender and needs no submodule bump.

Testing

OneSignalOSCore builds clean for iphonesimulator against the current submodule pin.

Made with Cursor

The -1 transport sentinel was returned both when a request got no usable
response and when the URL could not be constructed at all. The shared retry
policy in the KMP logger classifies -1 as transient, so a malformed base URL or
app id would burn the full retry budget and its backoff on every batch,
indefinitely, against a misconfiguration that cannot resolve itself.

Reports -3 for the unbuildable case instead. The shared policy already treats
anything it does not recognise as permanent, so this needs no coordinated
change; the KMP side documents the distinction and pins it with a test.

No behavioural change until the export-retry work lands — before it, every
failure was single-shot regardless of code.

Co-authored-by: Cursor <cursoragent@cursor.com>
@abdulraqeeb33
abdulraqeeb33 merged commit af12281 into main Aug 26, 2026
1 check passed
@abdulraqeeb33
abdulraqeeb33 deleted the ar/sdk-5065-ios-retry-sentinel branch August 26, 2026 17:16
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