-
-
Notifications
You must be signed in to change notification settings - Fork 98
Description
Plugin(s)
- Accelerometer
- Age Signals
- Android Battery Optimization
- Android Dark Mode Support
- Android Edge-to-Edge Support
- Android Foreground Service
- App Review
- App Shortcuts
- App Update
- Apple Sign-In
- Asset Manager
- Audio Player
- Audio Recorder
- Background Task
- Badge
- Barometer
- Biometrics
- Bluetooth Low Energy
- Cloudinary
- Contacts
- Datetime Picker
- File Compressor
- File Opener
- File Picker
- Geocoder
- Google Sign-In
- libSQL
- Live Update
- Managed Configurations
- Media Session
- NFC
- OAuth
- Pedometer
- Photo Editor
- Posthog
- Purchases
- Printer
- RealtimeKit
- Secure Preferences
- Screen Orientation
- Screenshot
- Speech Recognition
- Speech Synthesis
- Share Target
- Square Mobile Payments
- SQLite
- Superwall
- Torch
- Zip
Current problem
I want to load a specific bundle from a channel and there's no way to do it. sync({ channel }) only ever downloads the latest bundle — if I want an older bundle from the same channel, it's simply not possible unless it happens to already be cached on the device from a previous sync.
Preferred solution
Add support for downloading a specific bundle by channel and bundle ID:
downloadBundle({ channel: '2.3.4-test', bundleId: 'hg78372js-23f4-5678-bh8u-12345j12d1d1' })
Requiring both ensures the bundle is looked up within the correct channel, which mirrors how bundles are organized in Capawesome Cloud.
Alternatively, add fetchBundle({ channel, bundleId }) (similar to fetchLatestBundle) that returns the metadata (including downloadUrl) for a specific bundle, so the caller can then pass it to the existing downloadBundle. This would follow the two-step pattern already established by fetchLatestBundle + downloadBundle.
Alternative options
The existing downloadBundle({ bundleId, url }) could work, but there's no way to retrieve the download URL for a specific bundle programmatically through the plugin. Getting it would require making direct HTTP calls to the Capawesome Cloud REST API outside of the plugin, which is exactly the kind of thing the plugin is supposed to abstract away.
Additional context
The use case I'm looking to fulfill with this is a debug/QA workflow where we want to load a specific known build on a device — for example, testing a feature build that isn't currently at the head of its channel, or rolling back to a specific previous bundle that one of our users is experiencing bugs on. There is currently no way to target an older bundle by ID without it already being cached locally, which it may or may not be, depending on the device being used.
Before submitting
- I have read and followed the feature request guidelines.
- I have attached links to possibly related issues and discussions.