Skip to content

Add Storage list APIs and progress observers#76

Merged
marcprux merged 2 commits into
skiptools:mainfrom
IT-Guy007:main
May 13, 2026
Merged

Add Storage list APIs and progress observers#76
marcprux merged 2 commits into
skiptools:mainfrom
IT-Guy007:main

Conversation

@IT-Guy007
Copy link
Copy Markdown
Contributor

Implement Firebase Storage listing and byte-level progress observation: add async list/maxResults/pageToken and listAll on StorageReference, introduce StorageListResult wrapper (items, prefixes, pageToken), and add StorageTaskStatus/StorageProgress/StorageTaskSnapshot types. Implement observe/removeObserver/removeAllObservers for UploadTask and FileDownloadTask (with internal observer tracking) and provide no-op/overrides for other download tasks. Update tests to exercise list APIs and observer types, and update README to reflect increased Storage support; remove related TODO comments.

Thank you for contributing to the Skip project! Please use this space to describe your change and add any labels (bug, enhancement, documentation, etc.) to help categorize your contribution.

Please review the contribution guide at https://skip.dev/docs/contributing/ for advice and guidance on making high-quality PRs.

Skip Pull Request Checklist:

  • REQUIRED: I have signed the Contributor Agreement
  • REQUIRED: I have tested my change locally with swift test
  • OPTIONAL: I have tested my change on an iOS simulator or device
  • OPTIONAL: I have tested my change on an Android emulator or device

  • AI was used to generate or assist with generating this PR. Please specify below how you used AI to help you, and what steps you have taken to manually verify the changes.

Used for debugging observe functionality

Implement Firebase Storage listing and byte-level progress observation: add async list/maxResults/pageToken and listAll on StorageReference, introduce StorageListResult wrapper (items, prefixes, pageToken), and add StorageTaskStatus/StorageProgress/StorageTaskSnapshot types. Implement observe/removeObserver/removeAllObservers for UploadTask and FileDownloadTask (with internal observer tracking) and provide no-op/overrides for other download tasks. Update tests to exercise list APIs and observer types, and update README to reflect increased Storage support; remove related TODO comments.
@cla-bot cla-bot Bot added the cla-signed label May 13, 2026
Copy link
Copy Markdown
Member

@marcprux marcprux left a comment

Choose a reason for hiding this comment

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

Looks good! It just needs one quick fix.

Comment thread Sources/SkipFirebaseStorage/SkipFirebaseStorage.swift Outdated
Clamp Int64 maxResults to the Swift Int range before casting to Int to prevent overflow when calling platformValue.list(...). Adds a `clamped` variable and uses it in both list(maxResults:) overloads so large or small Int64 values won't cause invalid Int conversion.
@marcprux
Copy link
Copy Markdown
Member

Thanks for the contribution!

@marcprux marcprux merged commit 9e2d45e into skiptools:main May 13, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants