Cut unused API surface, make iOS startUpload idempotent - #30
Merged
Conversation
This was referenced Aug 24, 2026
dmurphy5
marked this pull request as ready for review
August 25, 2026 17:15
dmurphy5
force-pushed
the
dylan/v9-2-cleanup
branch
from
August 25, 2026 17:35
e848e57 to
a175c42
Compare
dmurphy5
marked this pull request as draft
August 25, 2026 17:38
dmurphy5
marked this pull request as ready for review
August 27, 2026 18:32
Listeners are global-only: addListener loses its uploadId parameter and the JS-side id filter. android.maxRetries is removed (the retry budget becomes a library constant), along with ios.getUploadStatus. The notification tap listener (android.addNotificationListener) is kept because Diana's tap-routing uses it (uploadNotificationEpics.ts). iOS startUpload now resolves with the existing id when a task for the same customUploadId is already pending or running, mirroring Android's ExistingWorkPolicy.KEEP. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
dmurphy5
force-pushed
the
dylan/v9-2-cleanup
branch
from
August 28, 2026 16:49
a175c42 to
b6d6d27
Compare
elliottkember
approved these changes
Aug 31, 2026
elliottkember
left a comment
There was a problem hiding this comment.
I think this is fine. We may have some external users but I doubt they're using all aspects of the API. Happy to ship this and take pull requests about it
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Diana is the only consumer of this library. This PR removes the API that Diana does not use:
android.maxRetriesoption. Diana never set it. The library owns the retry policy.getUploadStatusfunction. Its one use was a consumer workaround.The PR keeps
android.addNotificationListener. Diana uses it to route notification taps (uploadNotificationEpics.ts:35). An earlier usage check had missed the JS wrapper name.The PR renames the
customUploadIdoption toid. There is no reason for thecustomprefix.The PR also makes iOS
startUploadidempotent for a consumer-supplied id. A second call with the same id resolves with that id. It does not start a second upload. Android already has this behavior throughExistingWorkPolicy.KEEP. This change madegetUploadStatusunnecessary.🤖 Generated with Claude Code