mirror of
https://github.com/immich-app/immich.git
synced 2026-07-25 14:00:45 +03:00
Immich iOS app doesn't upload but prepares images and taking my space #7495
Open
opened 2026-02-05 13:05:12 +03:00 by OVERLORD
·
41 comments
No Branch/Tag Specified
main
chore/translations
fix/partner-ownership-contention
renovate/machine-learning
renovate/pypi-pillow-vulnerability
renovate/pypi-pydantic-settings-vulnerability
renovate/java-25.x
renovate/mobile
chore/harden-mobile-openapi-gen
renovate/java-21.x
fix/min-faces
refactor/asset-update
feat/merge-people-mobile
chore/face-cluster-abstraction
refactor/search-v3/pr-2a
fcast
fix/android-local-album-date
fix/24545-sync-retry-cx
fix/android-locked-folder-delete
make-sure-memory-widget-render
chore/freezed-example
fix/clamp-local-date-time-to-valid-value
fix/datetime-max-limit
fix/viewer-long-image-aspect
feat/native-core
feat/yucca-integration
refactor/mobile-actions
fix/ws-reconnect-battery
renovate/sharp
renovate/pigeon-27.x
refactor/auto-trash-sync
feat/release-source-branch
refactor/session-repository
fix/library-map-live-bounds-updates
renovate/permission_handler-12.x
renovate/node-24.x
fix/mobile-scroll-velocity-placeholders
fix/library-map-loading-flash
agg23/appbar-experiments
renovate/pep621-lock-file-maintenance-machine-learning
refactor/undo-actions
refactor/actions
feat/restore-action
feat/delete-action
fix/29853-thumbnail-decode-size
bugfix/live-photo-stuck
feature/load-previews
chore/pub-upgrade
custom-app-logo
fix/failed-sync-blocks-resume
feat/ml-hwaccel-testing
feat/workflow-logs
feat/server-chunked-uploads
feat/upload-action
fix-29727
feat/download-tag-action
feat/share-action
feat/album-actions
fix/android-cr3-save
feat/browser-profile-action
feat/cast-slideshow-action
feat/locked-folder-action
fix/unauthorized-memory-creation
feat/context-actions
refactor/action-class
feat/memories-view
refactor/asset-action-filter
feat/archive-action
feat/stack-action
feat/mobile-hls-player
refactor/stack-actions
feat/workflow-asset-tags
fix/timeline-drag-select-stops
fix/featured-photo-thumbnail-cache
fix/album-timeline-date-ordering
chore/album-remove-assets
feat/partner-table-permissions
fix/ocr-after-edit
fix/re-enable-pruning
refactor/delete-restore-actions
apk-build-deployment
edit-photo-stacking
fix/mise-lockfile
feat/web-hls-hover
refactor/store-cleanup
fix/hash-mismatch
refactor/app-metadata
refactor/advanced-settings
refactor/current-user
fix/dedupe-integrity-missing-paths
chore/albums-select
fix/fdroid-meta
refactor/per-asset-backup-flag
fix/av1-threads
fix/pass-secrets
fix/download-progress-stuck
fix/negative-backup-remainder
feat/map-asset-number
test-bump-prerelease
fix/handle-unlinking-motion-photos
fix/date-range-formatting
fix/mobile-album-action-msg
asset-add-to-album-trigger
refactor/face-editor-decoupling
feat/zoom-aware-face-editing
refactor/adaptive-image-dimensions
fix-face-editor-video-preview
fix-stack-face-tag-selection
fix/face-boxes-edit-panel
workflow-webhook-step
feat/hero_view_transitions
fix/map-sidepanel-queries
feat/dart-openapi-generator
claude/share-quality-5d7Gn
drag-drop-ghost-target
refactor/workflow-page
refactor/mobile-upload
fix-scroll-flicker-2
update-mise-lock-file
feat/kysely-0.29
release-candidate-flow-1
fix/mobile-22522-sqlite-2067
fix/job-lock
release-candidate-flow-3
release-candidate-flow-2
show-in-timeline-toggle
fix/mise-windows
plan-local-image-display
fix/remote-thumbnail-fallback
chore/riverpod-update
album-order-per-user
fix/web-timeline-dom-node-retention
chore/svelte-enable-state-referenced-locally
feat/favorite-albums
feat/patch-release-from-branch
fix/oauth-linking
feat/timeline_scroll_buffer
panorama-face-overlay
push-txxyuusptoru
push-zpwsovysllvn
chore/queue-endpoint-migration
fix/remove-from-album
chore/thumbnail-histogram
fix/video-thumbnail-bindthis-regression
fix/scrubber-drag-edge-cases
fix/timeline_layout_row_height
refactor-cancellable-task
uhthomas/fix-mobile-use-timer
uhthomas/fix-mobile-video-controls-key
uhthomas/chore-mobile-search-declarative
owner-role-album-user
feat/livephoto-editing
favorite-albums
uhthomas/fix-mobile-isolate-auth
fix/library-watcher-excludes
chore/library-e2e-to-medium
push-ynllunsvrpxy
fix/dont-delete-offline-library-files
push-zvwwxmvkrspv
push-kywsnvvkwzts
push-xxnxokokzrou
push-voozlrlkxsnu
view-in-timeline-transition
push-uymvmlknxpmx
push-qslzsplnusoz
fix/mobile-video-stall
uhthomas/draft-mobile-image-cache-cancel
push-yquostpqnkxp
feat/vitest-4
claude/offload-icloud-hashing-bI3GZ
midzelis/wip
uhthomas/fix-server-fsync-all
feat/mobile-widget-shared-client
push-lnyuzsutzkqq
push-vqqqxxvkunru
push-wvnmqoswptww
push-nwxlpmyzkyrl
fix/map-webgl-error
fix/mobile-player-fit
feat/panorama-tiles
csp-policy
push-rsywxvptwxuv
refactor/restores-file-interceptor
postgres-socketio
claude/auto-screenshot-web-changes-Y7efI
visual-review/pr-26535
push-lvyturrtwkrq
feat/library-offline-count
fix/mobile-video-aspect-ratio
uhthomas/fix-mobile-search-results
uhthomas/feat-sort-smart-search
uhthomas/chore-mobile-maplibre
uhthomas/mobile-fix-asset-details-album-pop
feat/crawl-wrapper
push-skvzqoozqkpl
feat/edit-filters
feat/pg-queue
refactor/asset-upload
better-project-structure
uhthomas/mobile-feat-asset-viewer-details
fix/ml-rocm-build
feat/asset-file-apis
feature/bottom-buttons-order
sqlite_thumbs
fix-keep-correct-ios-shared-album-asset
push-vpxwmwwxwnvw
fix-migration-width-height
shared-deep-link-handler
feat/thumbnail-native-clients
feat/platform-clients
fix/foreground-cloud-sync
filter-by-person
refactor/sidebar
fix/merged-edited-assets
feat/create-job-with-dto
feat/ios-fastlane-match
match-signing
fix-update-time-update-timeline
feat/modal-routes
feature/mobile-view-asset-owner
feat/system-settings
feature/show-activity-count
feat/location-favorites
feature/rearrange-buttons-2
fix/download-storage-template
chore/originals-in-asset-files
ben/tree-a11y
new-search-filter-ui
refactor/expectSelectedReadonly
refactor/mobile-grdb
feat/mobile-native-local-sync
refactor/timeline_ops
fix/scrubber_end
refactor/virtualsegment
refactor/rename_daymonth_groups
fix-remote-sync-clean-up
debug/cf-chunked-uploads
feat/search-filter-album/web
feat/session-permissions
feat/mobile-dynamic-thumbnails
refactor/extract_photostream
refactor/rename_load_api
refactor/timeline2
refactor/timeline3
feat-no-thumbhash-cache
feat/mobile-hdr-images
feat/beta-background-upload
fix/beta-timeline-memories-setting
fix/failed-uploads-not-removed
feat/groups
drift-map-page
feat/add-to-album-action
track-livephotos
feat/maintenance-worker
refactor/server-side-dedupe
feat/integrity-checks
dev/recognition-eval
lighter_buckets_test
perf/postgres-queue
tmp/demo-snapshot-preview
fix/server-migration-file-extension
rknn-toolkit-lite2
feature/Add-rocm-support-for-machine-learning
chore/async-hash-file
feat/shared-link-view-count
feat/graphql
no-video-player
fix/server-qsv-output-format
chore/server-geodata-tweaks
mobile/native-video-player-no-hero
feat/local-tileserver
feat/ml-armnn-conversion
chore/handle-output_dims
feat/capacitor-mobile-app-poc
feat/server-nvenc-hw-decoding
web/automation-ui
object-storage
ml/tflite
feat/ml-export-cli
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v3.0.0-rc.4
v3.0.0-rc.3
v3.0.0-rc.2
v3.0.0-rc.1
v3.0.0-rc.0
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.1
v2.4.0
v2.3.1
v2.3.0
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.0
v2.0.1
v2.0.0
v1.144.1
v1.144.0
v1.143.1
v1.143.0
v1.142.1
v1.142.0
v1.141.1
v1.141.0
v1.140.1
v1.140.0
v1.139.4
v1.139.3
v1.139.2
v1.139.1
v1.139.0
v1.138.1
v1.138.0
v1.137.3
v1.137.2
v1.137.1
v1.137.0
v1.136.0
v1.135.3
v1.135.2
v1.135.1
v1.135.0
v1.134.0
v1.133.1
v1.133.0
v1.132.3
v1.132.2
v1.132.1
v1.132.0
v1.131.3
v1.131.2
v1.131.1
v1.131.0
v1.130.3
v1.130.2
v1.130.1
v1.130.0
v1.129.0
v1.128.0
v1.127.0
v1.126.1
v1.126.0
v1.125.7
v1.125.6
v1.125.5
v1.125.4
v1.125.3
v1.125.2
v1.125.1
v1.125.0
v1.124.2
v1.124.1
v1.124.0
v1.123.0
v1.122.3
v1.122.2
v1.122.1
v1.122.0
v1.121.0
v1.120.2
v1.120.1
v1.120.0
v1.119.1
v1.119.0
v1.118.2
v1.118.1
v1.118.0
v1.117.0
v1.116.2
v1.116.1
v1.116.0
v1.115.0
v1.114.0
v1.113.1
v1.113.0
v1.112.1
v1.112.0
v1.111.0
v1.110.0
v1.109.2
v1.109.1
v1.109.0
v1.108.0
v1.107.2
v1.107.1
v1.107.0
v1.106.4
v1.106.3
v1.106.2
v1.106.1
v1.106.0
v1.105.1
v1.105.0
v1.104.0
v1.103.1
v1.103.0
v1.102.3
v1.102.2
v1.102.1
v1.102.0
v1.101.0
v1.100.0
v1.99.0
v1.98.2
v1.98.1
v1.98.0
v1.97.0
v1.96.0
v1.95.1
v1.95.0
v1.94.1
v1.94.0
v1.93.3
v1.93.2
v1.93.1
v1.93.0
v1.92.1
v1.92.0
v1.91.4
v1.91.3
v1.91.2
v1.91.1
v1.91.0
v1.90.2
v1.90.1
v1.90.0
v1.89.0
v1.88.2
v1.88.1
v1.88.0
v1.87.0
v1.86.0
v1.85.0
v1.84.0
v1.83.0
v1.82.1
v1.82.0
v1.81.1
v1.81.0
v1.80.0
v1.79.1
v1.79.0
v1.78.1
v1.78.0
v1.77.0
v1.76.1
v1.76.0
v1.75.2
v1.75.1
v1.75.0
v1.74.0
v1.73.0
v1.72.2
v1.72.1
v1.72.0
v1.71.0
v1.70.0
v1.69.0
v1.68.0
v1.67.2
v1.67.1
v1.67.0
v1.66.1
v1.66.0
v1.65.0
v1.64.0
v1.63.2
v1.63.1
v1.63.0
v1.62.1
v1.62.0
v1.61.0
v1.60.0
v1.59.1
v1.59.0
v1.58.0
v1.57.1
v1.57.0
v1.56.2
v1.56.1
v1.56.0
v1.55.1
v1.55.0
v1.54.1
v1.54.0
v1.53.0
v1.52.1
v1.52.0
v1.51.2
v1.51.1
v1.51.0
v1.50.1
v1.50.0
v1.49.0
v1.48.1
v1.48.0
v1.47.3
v1.47.2
v1.47.1
v1.47.0
v1.46.1
v1.46.0
v1.45.0
v1.44.0
v1.43.1
v1.43.0
v1.42.0_65-dev
v1.41.1_64-dev
v1.41.0_64-dev
v1.40.1_63-dev
v1.40.0_63-dev
v1.39.0_61-dev
v1.38.2_60-dev
v1.38.1_60-dev
v1.38.0_60-dev
v1.37.0_58-dev
v1.36.2_56-dev
v1.36.1_55-dev
v1.36.0_55-dev
v1.35.0_54-dev
v1.34.0_53-dev
v1.33.1_52-dev
v1.33.0_52-dev
v1.32.1_51-dev
v1.32.0_50-dev
v1.31.1_49-dev
v1.31.0_49-dev
v1.30.2_48-dev
v1.30.0_46-dev
v1.29.6_45-dev
v1.29.6_44-dev
v1.29.5_44-dev
v1.29.4_44-dev
v1.29.3_43-dev
v1.29.2_43-dev
v1.29.1_43-dev
v1.29.0_42-dev
v1.28.4_41-dev
v1.28.4_42-dev
v1.28.3_41-dev
v1.28.2_40-dev
v1.28.1_39-dev
v1.28.0_38-dev
v1.27.0_37-dev
v1.26.0_36-dev
v1.25.0_35-dev
v1.24.0_34-dev
v1.23.0_33-dev
v1.22.0_32-dev
v1.21.1_31-dev
v1.21.0_31-dev
v1.20.3_30-dev
v1.20.2_30-dev
v1.20.1_30-dev
v1.20.0_30-dev
v1.19.1_29-dev
v1.19.0_29-dev
v1.18.0_27-dev
v1.17.0_25-dev
v1.16.0_23-dev
v1.15.1_21-dev
v1.15.0_21-dev
v1.14.0_21-dev
v1.13.0_20-dev
v1.12.0_18-dev
v1.11.0_17-dev
v1.10.0_15-dev
v1.9.1_14-dev
v1.9.0_13-dev
v1.8.0_12-dev
v1.7.0_11-dev
v1.6.0_10-dev
v1.5.1+9-dev
v1.5.0+8-dev
v1.4.0+7-dev
v1.4.0+6-dev
v1.4.0-dev
v1.3.0-dev
v1.3.1-dev
v0.6-dev
v0.5-dev
v0.4-dev
v0.3-dev
v0.2-dev
first-android-release
Labels
Clear labels
accessibility
changelog:enhancement
changelog:security
changelog:skip
changelog:translation
cli
date-time
dependencies
documentation
external-library
format
good first issue
mobile-beta
mobile-beta
mobile-beta
needs-answer
nice to have
pull-request
sharing
tech-debt
📱mobile
🖥️web
🗄️server
🧠machine-learning
Mirrored from GitHub Pull Request
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: immich-app/immich#7495
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @iAmRenzo on GitHub (Oct 11, 2025).
I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.
The bug
I have enabled back-up for my entire photo library. That are 61.708 files. The app says 18.184 are ready for upload. After 5 days my upload count is still only 2.044. Immich is using 18 GB of storage.
Uploading could be fast within my network.
The OS that Immich Server is running on
Synology Docker / Portainer
Version of Immich Server
2.0.0
Version of Immich Mobile App
2.0.1 build 230
Platform with the issue
Device make and model
iPhone 16 Pro Max
Your docker-compose.yml content
Your .env content
Reproduction steps
...
Relevant log output
Additional information
No response
@alextran1502 commented on GitHub (Oct 11, 2025):
There are some limitations with users who are using iCloud at the moment. Since the assets are on iCloud, the app needs first to download them from iCloud before it can process them for upload to the server.
The two limitations here are
@alextran1502 commented on GitHub (Oct 11, 2025):
To get this process going faster, you can turn on the Download and keep original options in iCloud Photos on your device
@iAmRenzo commented on GitHub (Oct 11, 2025):
What does 'ready for upload' and 18GB of storage mean? Feels like no iCloud problem. Also iCloud up and download goes faster than Immich upload to a local server.
@goalie2002 commented on GitHub (Oct 11, 2025):
A few questions:
Now that you've described it in more detail, the app's storage usage could indeed be caused in part by #22574
@iAmRenzo commented on GitHub (Oct 12, 2025):
@goalie2002 commented on GitHub (Oct 12, 2025):
Ok, just keep using local ip the remove the proxy from the equation. I'm not 100% how the new Immich app behaves with iCloud, but I can say that iCloud can be atrociously slow, so it wouldn't surprise me if it is the limiting factor, but let's not assume that. Can you monitor the server resource usage while you upload? That synology's cpu isn't super fast and it comes with 4gb ram by default afaik so it could just be resource constraint (tho if that were the case I'd expect the upload to be fast when you initially start it, and then slow down over time)
@techn1fire commented on GitHub (Oct 13, 2025):
I have the same issue regardless if I'm accessing internally via direct IP or externally via proxy. Most of my content has uploaded to my NAS after a few weeks of waiting and clearing cache/redownloading the app, but now I'm down to roughly 80 items, most of which are videos from 2-50 GB. I've only ever seen the 50 GB video file successfully cache on my device and start uploading to my NAS, but then the app crashed, and it never would attempt to upload again. I've tried leaving my phone on/unlocked all night, but all I get is a full storage alert or I wake up to the app having crashed yet again.
I'm using a brand new 17 Pro Max @ 512GB with Wi-Fi 7 to my UGREEN 6-drive NAS connected via 2.5g Ethernet. I've attempted using a USB C to Ethernet adapter with my phone to provide a more stable connection, but that still doesn't fix the issue.
It seems as though when my phone tries to download my photos/videos from iCloud before they're uploaded, and the app crashes, then it cannot recover and eats up that storage space on my device. Clearing file cache does sometimes clear space, but not all of it, and I've left with ~100GB of unusable storage space used by Immich on my phone.
I've tried disabling automatic backup and manually uploading my large video files, but that just loads with no indication of how much is left to download, or if it failed without looking at the app logs.
Related/Similar to #22574
@Erdk2 commented on GitHub (Oct 13, 2025):
Same issue, last iOS, last immesh app version; app prepare upload and it doesn't upload nothing.
@ElioDiNino commented on GitHub (Oct 14, 2025):
My partner has also been having a similar issue. Switching back to the old timeline seemed to help, which is unfortunate.
@techn1fire commented on GitHub (Oct 14, 2025):
Last night I decided to download Immich on my phone again after having removed it for a week or so, and the large 50 GB video file I was having trouble with finally uploaded this morning!
After leaving my phone on/unlocked all night to re-hash my photos/videos, this morning I noticed my phone was getting hot and figured it was trying to download this file again. I had to look at my router network traffic (Unifi) to determine if that was the case since there's 0 indication of iCloud content caching in the app. 50 GB later, I saw the video file had cached on my device, and I could play the video in the Immich app before it started to upload (this is a 1:15:55 long video). For some reason though, before it started uploading, something in the app bugged out, and I had 50 GB of wasted space on my device. Checking the app logs indicated the media file for that video were missing, and going back to the video in the timeline now showed 0:00 again. I closed the app and tried again. It started to download the video file again, which now triggered a low storage alert, and at this point I'm at 100 GB of used space on my device. I removed some other content from my phone to free up space because I wanted to get this done, and finally it was able to cache the file and start uploading.
I wish everyone else luck here since the iOS backup logic is like a game of chance at this time.
This is the setup I have for reference:
iPhone 17 Pro Max, iOS 26.0.1 (512 GB)
1Gbps fiber internet with Wi-Fi 7 hitting over 1.1 Gbps on my phone (1.2 Gbps from the router directly)
10Gb Ubiquiti switch stack (AP connected via 2.5Gb uplink)
UGREEN 6-bay NAS with 2.5Gb uplink (Immich via docker)
@dburnette commented on GitHub (Oct 15, 2025):
I've been having this exact issue ever since the beta timeline was introduced. In the old timeline, almost every button press would freeze the app for 30+ seconds and so I was never able to use it. For the last several months, I have been fighting with Immich to upload my library, which is 90,000 photos, 5,800 videos, and 1.4TB in size.
Initially, like the previous posters, I thought maybe iCloud was to blame. Since my iPhone 16 Pro Max only had 1TB of storage, I couldn't download my library, so for the good for the Immich community, I went ahead and bought an iPhone 17 Pro Max with 2TB of storage, just so that I could store my library locally and fix the Immich uploading problems.
SORRY TO REPORT: It hasn't changed anything. All issues are EXACTLY the same with the entire library downloaded onto the device. Downloading from iCloud is not the issue. I STILL cannot upload my photos or videos, other than in fits and starts, usually 100-500 items at a time before the app just stops trying. Sometimes it just won't queue any additional photos as the server sits idle. Sometimes it queues a bunch of items but none of them upload.
I've run into all of the heating issues that users above have reported. Not charing overnight and draining the battery, over heating on wifi, etc. I've tried everything, plugging into Ethernet directly to iPhone via USB-C, being close to Wifi. I've tried reverse proxy and direct local connection. I've tried canceling "backup" (I'm sure you all have run into the 'cancelling takes forever' bug) and re-enabling it. I've restarted the app more time than I can count. I thought maybe certain albums are the problem, so I've tried deselecting and re-selecting certain albums in different configurations. I've tried blowing away my database and starting from scratch. Nothing works.
It's a frustrating game of whack-a-mole that is impossible to win. As of now, I've managed to backup about 51,000 assets, after MONTHS of trying.
It's so funny, I browse through this forum of users reporting issues actually USING IMMICH, and I'm so jealous because I can't even get to the point where I can encounter those bugs because uploading doesn't work. I feel like I'm constantly being gaslit by all of the people who claim it's so awesome.
I would love to financially support this product, but until the upload issues are fixed on iOS, I simply cannot do it. All other features of the product should be secondary to the very basic issue of uploading photos.
@Erdk2 commented on GitHub (Oct 15, 2025):
Immich 2.1.0 continues with same problem, its impossible to upload nothing
@iAmRenzo commented on GitHub (Oct 16, 2025):
Local ip doesn't change anything, unfortunately.
I cannot save all my library on my iPhone, but I can on my Mac. If I upload from my Mac (via the app), will it recognise the photos correctly on my phone and not upload them again? That would be something for now.
@goalie2002 commented on GitHub (Oct 16, 2025):
Assuming the files are identical, yes. But your phone will still have to hash all the assets to know that they're already uploaded, but if that step is working fine and only uploading is the issue, then this could be a good workaround for now.
@dburnette commented on GitHub (Oct 16, 2025):
What Mac app are you using? I searched and I cannot find a Immich app for Mac.
@iAmRenzo commented on GitHub (Oct 16, 2025):
The iPad app on my Mac will hash them too right?
@goalie2002 commented on GitHub (Oct 16, 2025):
Yes, but the app on your phone will still have to hash all of its local assets (iCloud counts as local) so it can check if that hash (and thus its associated asset) already exists on the server. This avoids unnecessary uploads, but still means every asset has to be pulled from iCloud at least once.
Edit: but at least if you upload them all from Mac first, they'll be on your server, so your phone won't have to actually upload anything. And you can start using your Immich instance sooner
@alextran1502 commented on GitHub (Oct 16, 2025):
Hey guys, first, I want to say that having a large library on iCloud and uploading it via Immich sucks, it is fucking slow and annoying. I know it is a pain, and I am very aware of this app's limitations at the moment.
In a perfect world, iCloud should provide the file's checksum or hash so we don't need to compute it beforehand to upload some files. Unfortunately, there are many obstacles to working with iCloud assets; that is the current state of the matter as we know it.
If you absolutely want to use Immich with a very big iCloud library, unfortunately, you might have to use iCloudPD to download them on a computer and then mount it via external library https://github.com/icloud-photos-downloader/icloud_photos_downloader, and then disable iCloud Photos.
Regardless, we are still finding ways to make it less painful for iCloud users with a large library.
@Erdk2 What is the exact issue you are having, how big is your library and what is the behavior?
@dburnette, do you mind providing the screenshot of the App Settings > Sync Status page?
@Erdk2 commented on GitHub (Oct 16, 2025):
The problem is the new timeline; I went back to old timeline and works all ok, I have same big library (90000 pics), since I use immich, new timeline in iOS app its the problem
@iAmRenzo commented on GitHub (Oct 21, 2025):
This is not an option. Immich is not mature enough to replace iCloud Photo library. So: no.
@dburnette commented on GitHub (Oct 21, 2025):
Here is the sync page along with the upload page and the upload details. Currently, the app just sits permanently in this state. If I disable backup, and re-enable, I can usually get it to upload some more photos, and then it gets stuck again. If I change up the selected Backup Albums, it will also usually start backing up some photos until it gets stuck again.
As I said above, I have my entire library downloaded locally, so no iCloud downloads should need to be performed.
@dburnette commented on GitHub (Oct 24, 2025):
@alextran1502 Sorry for not tagging you in my post!
@JMalland commented on GitHub (Oct 24, 2025):
Figured I'd also add my 5 cents to this post. I also appear to be having significant storage usage on the Immich App for IOS.
The other day, I was at a concert, and recorded a bunch of high quality video. After returning, I plugged my phone in, and began the upload in the foreground. Note, I'm not using iCloud storage whatsoever.
While uploading, whenever Immich began uploading more than 3 items at once, the uploads would fail (not even having completed). It seemed quite arbitrary as to how many concurrent uploads were going before the bulk either froze or failed.
It took many attempts to upload the majority of my files, and I had to disable and reenable backup multiple times. Now, I have maybe 3 videos left over (varying sizes, some slightly smaller than ones already uploaded) that each fail partway through uploading every time (roughly ~80%).
I feel like this whole process would have been much easier to debug if I could rrestrict the number of concurrent uploads from settings, especially with large files.
Now, any time Immich begins running the automatic backup, it takes more space from my iPhone in preparing the (failing) items for upload. This morning, I got a notification that my iPhone was out of storage, and Immich is using 36gb of my 128.
It's really inconvenient to have to uninstall the app to remove all the data when it takes so much space I can't open it anymore.
@aes3des commented on GitHub (Nov 12, 2025):
I had this exact same issue, I thought it was a reverse proxy issue for days. I read some comments around the new timeline, went into the app switched off new timeline and everything started to sync.
@sonovice commented on GitHub (Dec 9, 2025):
Thank you very much, @aes3des! This did help.
I guess this is also the current solution to various other issues here on GitHub:
@iAmRenzo commented on GitHub (Dec 10, 2025):
I've tried it local and with reverse proxy. I tried also the old timeline but I switched back and now uploads go faster with hashing (so not really uploads, because the data is already there; uploaded through Mac where images were offline). Still 50k too go. It's not quick.
@timonrieger commented on GitHub (Dec 17, 2025):
why don't you try requesting your iCloud photos on Apple's export page and then upload them?
@iAmRenzo commented on GitHub (Dec 17, 2025):
Because I want regular updates from my devices. The photos are already there. It's the process of hashing and skipping. But after weeks, it's done. Finally.
@ElioDiNino commented on GitHub (Dec 17, 2025):
Following up on my comment above: After getting everything backed up through the old timeline I finally convinced them to disable iCloud Photos syncing to test if that was the issue. Upon disabling syncing there was a prompt to either download all iCloud Photo assets locally or just keep whatever is already downloaded. I selected the latter and then switched the new Immich timeline back on.
Things have been running smoothly every since, but hard to say if that's only due to not having to interact with iCloud anymore or also since the app only has to hash and keep track of ~3k assets versus ~60k.
@asterycs commented on GitHub (Dec 31, 2025):
Hello! Just wanted to add one more data point here.
I was attempting to sync a 10k photo library from an Iphone 13 to my local immich instance (over wifi). After uploading a handful of pictures the sync would simply halt. The upload queue kept growing and the storage usage of the app kept increasing (checked in the system settings).
Indeed, switching to the old timeline and restarting the sync made the problem go away. The library is syncing just fine now with the old timeline enabled.
At least to me, iCloud appears to be unrelated to the upload problems since I didn't touch anything else apart from the timeline setting.
@niektenhoopen commented on GitHub (Jan 4, 2026):
I can confirm that this works for me too
@gerdemann commented on GitHub (Jan 5, 2026):
Same phenomenon here.
I have a shared album containing Live Photos, which I also have in my Recent album.
The new timeline hangs during upload, while the old one uploads everything correctly.
The logs show something like this:
Error getting motion file for asset F0B4B1DB-97CE-4F0F-A4DD-6B9DE7F2F3DD/L0/001, name: IMG_1268.HEIC, created on: 2024-12-06 04:44:48.000Z@niektenhoopen commented on GitHub (Jan 5, 2026):
Another thing I notice after completing the upload via the old timeline: if I switch back to the new timeline, I see the uploaded photos (with the cloud+checkmark icon) but also a duplicate of the uploaded photos (without checkmark) next to it. It seems that the new timeline thinks that the photos on Immich are different than on iCloud/iOS?
@Telesphoreo commented on GitHub (Jan 7, 2026):
Having this issue too. It does seem to be iCloud related as the majority of the photos were stored on iCloud, not the device. I initially switched to the old timeline and what's interesting is that it seemed like there was no hashing. It just started to download them from iCloud and upload them. However, it seems as if there are no concurrent uploads on the old timeline so it was taking a very long time. I ended up turning off iCloud Photos on the device and it started to upload correctly with the new timeline.
@alextran1502 commented on GitHub (Jan 7, 2026):
@niektenhoopen The new timeline uses the hash information to check for assets that exist on the server. The old implementation doesn't hash, which is why it is faster but error-prone when switching devices.
So when you switch to the new timeline, things will need to get hashed regardless.
@niektenhoopen commented on GitHub (Jan 8, 2026):
@alextran1502 When I backup everything via the old timeline and switch to the new timeline I see all recent images double and the sync is stuck on 2000 items (on wifi and charger for 12 hours now). Is this hashing something that I should do with a job?
@alextran1502 commented on GitHub (Jan 8, 2026):
I think that delegating the upload to the OS's queue has blinded us to why it isn't moving. So I don't have an answer for that. However, we are reworking the foreground upload mechanism to use the previous implementation instead, so we will have more control
WIP in #24883
@tj2041 commented on GitHub (Jan 12, 2026):
So I was having the same issue of them not uploading until I found this thread. I got it to work after turn on the old timeline and in my icloud settings I had to hit the download and keep originals setting from icloud too. after these 2 settings it uploaded everything pretty quickly
@ensingerphilipp commented on GitHub (Jan 19, 2026):
The not uploading Issues arise for me too, but this is not iOS specific, its happens on my Android aswell specifically when syncing Whatsapp Images and Videos
@ghost commented on GitHub (Jan 30, 2026):
Guys, forget it. For these people it is ALWAYS YOUR fault. My photos are all downloaded to my ipad and immich refuses to work properly. The sad thing is that it did work properly before. But since this is an OPE issue for months now, I doubt that anyone here will ever care about this. It will at one point be fixed by accident or it will remain this with people here shifting blame to the user. Always the same with this crap. Here's a tip: Use Ente Photos.
@niektenhoopen commented on GitHub (Jan 30, 2026):
Actually it works fine for me since the last update that includes the fix.
Besides that: I think you could be a bit more supportive for people that work on free software. I don't think they deserve this tone. But hey, good luck with the alternative.