Uploads that hang, fail, or crash almost always fall into one of four patterns. This guide helps you diagnose which one is happening.
Pattern 1: iOS picker hangs for several seconds
Symptom: you tap Share a moment, pick photos in the iOS picker, and the screen just sits there for 10-60 seconds before anything starts uploading.
Cause: iOS is downloading your photos from iCloud. When your phone is set to "Optimize iPhone Storage" (the default), iOS keeps small previews on your device and the originals in iCloud. When Safari asks for the originals, iOS has to fetch them first. This is invisible, no spinner, no "downloading from iCloud" label.
Fix for guests at the event:
- Pick 3-5 photos at a time instead of 20
- Skip videos if Wi-Fi is spotty (videos are much bigger)
- Turn OFF "Optimize iPhone Storage" before the event if you're the photographer (Settings โ Photos โ Optimize iPhone Storage)
Fix for wedding content creators:
- Edit on your Mac, export as H.264 MP4
- AirDrop the exports to your iPhone
- AirDropped files skip iCloud entirely and upload immediately
The better fix: upload from desktop. Open the guest URL on your laptop. Desktop browsers skip both the iCloud fetch and HEIC conversion. A 50-video dump takes minutes on desktop that would take hours on iPhone.
Pattern 2: "Upload failed" after waiting a while
Symptom: progress bar reaches 60-90% then flips to "failed".
Cause: usually a network interruption. The venue Wi-Fi dropped briefly, or the file is too big for the current connection speed.
Fix:
- Stay on the same page. Capture Club automatically retries failed files up to 3 times with increasing delays.
- If retries keep failing on the same file, skip that one and try the others. A single bad upload shouldn't stop the rest.
- Switch from Wi-Fi to cellular. Most wedding venues have better cellular coverage than the guest Wi-Fi.
Root cause worth knowing: uploads go directly from the guest's phone to our S3 storage, not through our servers. If the S3 connection drops mid-upload, it won't resume, it restarts. On 5 GB files this can sting. For large files, hard-wire a laptop if you can.
Pattern 3: Video shows "processing" forever
Symptom: the video tile shows a spinner or "processing" indicator for 10+ minutes.
Cause: our video service (Mux) transcodes every video to H.264 MP4 so it plays everywhere. Typical wait:
- 30-second phone video: ~30-60 seconds to transcode
- 5-minute HD video: 2-3 minutes
- 10-minute 4K video: 5-10 minutes
- Anything over 30 minutes: can take 15-20 minutes
If a video sits "processing" for more than 20 minutes, something is wrong. Most common cause: the original file was corrupted during upload, or it's in an unusual format that Mux can't handle (rare, H.264, HEVC, ProRes, MP4, MOV all work).
Fix:
- Wait at least 15 minutes before assuming it's stuck
- Refresh the page, sometimes the "processing" state is cached locally
- If still stuck after 30 minutes, have the guest re-upload the video. If re-upload also sticks, contact support with the upload ID.
Pattern 4: Picker won't open at all
Symptom: you tap Share a moment, nothing happens. Or the button is grayed out.
Cause: iOS permissions. Safari needs "Allow Access to Photos" on each visit.
Fix:
- Close Safari completely (swipe up in the app switcher)
- Go to Settings โ Safari โ Camera / Photos โ make sure both are set to "Ask"
- Re-open the guest link. You should get a permission prompt on first attempt.
If even that doesn't work, switch to Chrome or Firefox on iOS. They have their own permission state.
Big batches and large albums
If you're uploading 50+ files at once from a phone:
- iOS has a 100-photo-at-a-time limit in the picker
- Bandwidth is the bottleneck. A venue with 10 Mbps up = ~1 GB per 15 minutes
- Our upload modal caps the per-session queue at ~200 items
- For anything larger, use a laptop with ethernet
Desktop upload also lets you drag-and-drop entire folders, which saves hundreds of taps.
When to contact support
Contact support if:
- Uploads consistently fail across multiple files AND multiple devices
- Videos stuck in "processing" for 30+ minutes
- Gallery page itself won't load (usually a Vercel hosting issue on our side)
- You see an error message with a request ID (we can trace those)
Include the guest URL, approximate time, and file sizes if you have them.
When NOT to contact support
- Single file failing once, just retry it
- Picker opens slowly on iOS, known iCloud behavior, not fixable by us
- Guest's phone battery died mid-upload, expected, retry after charge