mirror of
https://github.com/immich-app/immich.git
synced 2026-02-05 08:41:28 +03:00
[BUG] iOS Not Backing up Majority of Photos #721
Closed
opened 2026-02-04 22:07:38 +03:00 by OVERLORD
·
17 comments
No Branch/Tag Specified
main
fix/web-people-hidden-state
fix-filename-search-label
chore/yank-cloud-id
chore/oauth-labels
renovate/machine-learning
uhthomas/mobile-fix-app-bar-fade
feat/debug-schema
renovate/typescript-projects
fix/25803
feat/asset-file-apis
chore/translations
fix/web-switch-label-clickable
release/next
fix/timezones
fix/time-zone-upserts
midzelis/wip
push-zpwsovysllvn
push-nwxlpmyzkyrl
push-nvnkszuqwppm
renovate/github-actions
push-smstsuupsowp
refactor/adaptive_image
push-olwpzvrxnomt
push-lmxsupnmxspl
feat/web-chromecast-video-looping
feat/use-native-clients
renovate/flutter
fix/create-face-edited
fix/mobile-ios-mtls
docs/contributing
docs/mise-mobile
renovate/grafana-monorepo
feature/bottom-buttons-order
feat/immich-mobile-ui-showcase
refactor/consolidate-image-requests
renovate/connectivity_plus-7.x
renovate/major-vitest-monorepo
renovate/pypi-python-multipart-vulnerability
fix/mobile-people-query
sqlite_thumbs
feat/html-text
chore/no-macro-validation
refactor/purchase-store
uhthomas/mobile-fix-asset-jump
feat/pano-ocr
feat/shared-link-login
fix/database-backup-db-names
fix-keep-correct-ios-shared-album-asset
fix-memory-generation-and-display
feat/verify-permissions
refactor/album-service-small-tests
fix/ml-rocm-build
fix/flipped-dimensions-mobile
push-vpxwmwwxwnvw
fix-migration-width-height
refactor/more-queries
revert/prettier-translations
refactor/asset-service-queries
fix/locale-settings-desc
chore/add-debug-log
feat/edit-filters
shared-deep-link-handler
feat/mobile-editing
feat/thumbnail-native-clients
feat/platform-clients
feat/integrity-checks-izzy
fix/foreground-cloud-sync
feat/dynamic-layout
filter-by-person
feat/csp
refactor/sidebar
fix/disable-editing
fix/view-timeline-deeplink
image-zoom-on-slow-connection
fix-consider-dar-for-video-dimension
fix/merged-edited-assets
perf/optimize-album-sort
open-api-fix
feat/create-job-with-dto
use-toast-primary
feat/vitest-4
feat/ios-fastlane-match
match-signing
fix-update-time-update-timeline
chore/translation-keys
feat/modal-routes
feat/panorama-tiles
feature/mobile-view-asset-owner
feat/system-settings
feature/show-activity-count
better-info-in-asset-viewer
fix/all-people-count
feat/location-favorites
feature/rearrange-buttons-2
fix/download-storage-template
feat/kb-shortcuts-mobile
fix/people-count
push-qolzzzzxrvvn
chore/originals-in-asset-files
feat/asset-size-columns
ben/tree-a11y
new-search-filter-ui
refactor/expectSelectedReadonly
refactor/mobile-grdb
push-qvuktpxmkknu
feat/mobile-native-local-sync
refactor/timeline_ops
fix/scrubber_end
feat/version.txt
feat/context-menus
feat/server-chunked-uploads
refactor/virtualsegment
refactor/rename_daymonth_groups
fix/restrict-android-bg-worker
feat/android-periodic-worker
fix-remote-sync-clean-up
refactor/timeline_move_ops
renovate/mapbox-mapbox-gl-rtl-text-0.x
fix/timeline_split_selectable
feat/keyboard_actions_help_modal
feat/static_frontend
feat/notification-warnign-android
feat/plugins2
feat/plugins
test/create-workflow-token-action
fix/docs-force
debug/search-result-similarity
debug/cf-chunked-uploads
feat/eslint_rule
feat/search-filter-album/web
refactor/timeline_photostream
refactor/timelineasset_asset
feat/session-permissions
feat/timeline_photostream_assetnav
feat/timeline_minor_optimize
feat/timeline_perf_nocomp
feat/timeline_search_results_actions
feat/timeline_search_results_page
fix/timeline_padding
fix/timeline_search_reactivity_warnings
feat/timeline_scrollbar
feat/timeline_stream_withviewer
fix/timeline_back_forth_nav
refactor/timeline_photostream_component
fix/generated-files-checks
fix/locate-button-local
chore/base-image-mimalloc
refactor/timeline_assetlayout
refactor/timeline_selectable
refactor/timeline_aware_actions
refactor/timeline_monthsegment
feat/remove-old-pages
chore/deps-gradle
tmp_photostream
tmp/lcms
feat/mobile-dynamic-thumbnails
fix/mobile-finer-thumbnail-concurrency
refactor/timeline1
refactor/extract_photostream
refactor/rename_load_api
refactor/timeline2
refactor/timeline3
feat/multi-select-asset-viewer
feat-no-thumbhash-cache
refactor/asset_grid
feat/faster-access-checks
fix/18991
fix/19543
chore/temp-remove
fix/21419
feat/mobile-hdr-images
chore/update-mise-lockfile
feat/mise-server-checks
feat/mise-ci
feat/windows-2025
feat/dev_cli
refactor/mobile-migrate-clients
fix/map-theme
fix/require-checkbox
chore/use_swc
feat/efficient-thumbnail-decoding
refactor/mobile-thumbhash
refactor/mobile-thumbhash-new
fix/mobile-uncached-zoom
feat/beta-background-upload
fix/beta-timeline-memories-setting
fix/failed-uploads-not-removed
feat/mobile-shared-album
feat/groups
drift-map-page
drift-auth-user-sync
fix/disable-memory
feat/add-to-album-action
edit-date-time-action
drift-people-page
sqlite-remove-isIn
feat/inline-storage-columns
chore/required-reviewers
refact/asset-manager
fix/folder-sort
pnpm
feat/widget-multiple-server-urls
chore/medium-tests-dbname
fix/web-no-iterator-find
fix/map-pan-interruption
track-livephotos
timeline_events
chore/oxlint-migration
feat/maintenance-worker
feat/dav
chore/demo-snapshot
refactor/server-side-dedupe
feat/integrity-checks
dev/recognition-eval
lighter_buckets_test
perf/postgres-queue
postgres-queue
focus_rings
refactor/web-stores-1
refactor/add-to-taken
feat/sort-places
feat/sidecar-asset-file
vet
tmp/demo-snapshot-preview
fix/server-migration-file-extension
refactor/mobile-v2
fix/asset-update-race-condition
rknn-toolkit-lite2
refactor/mobile-split-up-search-page
feature/Add-rocm-support-for-machine-learning
feat/rocm
chore/async-hash-file
feat/shared-link-view-count
feat/rotation
feat/graphql
feat/job-ids
feat/ignore-library-permission-error
feat/docker-compose-builder
feat/kysely-typeorm
mobile/onboarding
no-video-player
fix/server-qsv-output-format
chore/server-geodata-tweaks
mobile/native-video-player-no-hero
feat/xxhash
fix/docs-concurrency
feat/preload-ml-textual-model
feat/local-tileserver
refactor/exif-orientation
original-path-infix
refactor/mobile/login-form-1
feat/server-editor-endpoints
fix/server-qsv-vbr
fix-mobile-db-problems
feat/ml-armnn-conversion
feat/mobile/backup-with-album-info
feat/fast-initial-sync-1
chore/handle-output_dims
feat/server-more-robust-generation
feat/unassign-faces
feat/shortcuts-on-asset-grid
feat/background-upload
feat/capacitor-mobile-app-poc
feat/server-nvenc-hw-decoding
release/v1.105
fix/mobile-fetch-non-archive
feat/fine-grained-access-controls
web/automation-ui
feat/mobile-server-endpoint-save-dropdown
feat/blurhash-thumbnail
object-storage
feat/memories-animations
dev/metrics
ml/tflite
feat/ml-export-cli
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
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#721
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 @srwareham on GitHub (Mar 1, 2023).
The bug
Zero of my photos previously taken via my iPhone's camera app (or other apps that save to camera roll) are being backed up anymore. Only screenshots and photos that were sent to me (e.g., via WhatsApp and then manually saved) are backed up to immich. The iOS app reports 3012 assets in "Remainder." Clicking sync again does not change this number. However, it will show "Uploading file info" and clicking the icon shows a file preview for each of the thousands of photos that aren't being synced.
If I take a new photo, it will not sync. If I take a new screenshot, it will sync. I have tried a clean install on my server and uninstalling/reinstalling the iOS app to no avail.
The OS that Immich Server is running on
Arch Linux
Version of Immich Server
v1.50 (also occured on v1.49)
Version of Immich Mobile App
v1.49 build.87
Platform with the issue
Your docker-compose.yml content
Your .env content
Reproduction steps
Additional information
Immich is being run and accessed in a LAN only. Previously, everything was working perfectly. I'm not sure when this changed. Probably sometime in the past 2-3 weeks. Within the past week, I upgraded from iOS 16.1(?) to 16.3.
Running the server with docker-compose up (without -d flag), I can see "POST /api/asset/upload HTTP/1.0" for my screenshots that are uploading. For the photos that aren't uploading, there is nothing in the server logs.
iOS device
iPhone SE on iOS 16.3.1
iCloud "Optimize iPhone Storage" is not enabled, it is set to "Download and Keep Originals"
Settings -> Immich-> shows immich has access to Photos->All Photos

iOS logs below after 1) full closing iOS app, 2) Open app, 3) Start Backup

Thank you for the fantastic product. Please let me know if/how I can help debug this.
@alextran1502 commented on GitHub (Mar 1, 2023):
Can you help me take a screen capture when you click the start upload button on the backup screen? Can you also monitor the log of the server at the uploading time?
@alextran1502 commented on GitHub (Mar 1, 2023):
Can you also help me take the screenshot of the album that you are selected to be uploaded?
@srwareham commented on GitHub (Mar 1, 2023):
Video of Start Upload
https://user-images.githubusercontent.com/3392952/222052010-56920612-9cab-47bc-9a6a-c362a7983be2.mp4
Screenshot of server log not changing at all during Start Upload session

The one POST is from previously testing taking a screenshot and clicking backup. That worked as described in my bug report above.
@alextran1502 commented on GitHub (Mar 1, 2023):
hmm this is very strange, I cannot reproduce this. Can you upload the files from the web interface?
Can you create a new instance and try to upload the files to the test instance?
@srwareham commented on GitHub (Mar 1, 2023):
I created a completely new instance today to try to debug this--so what I've shared above is just that. Right now, just tried uploading one of the photos via web UI and that worked fine.
I'd guess this is some sort of iOS permissions or weird iCloud issue. But the odd thing is that clicking the icon next to the "Uploading file info" actually does in fact show a preview of the relevant images. So its at least able to access a thumbnail, at a minimum
@alextran1502 commented on GitHub (Mar 1, 2023):
I assume the iCloud photos aren't actually on your device. If you tried to disable iCloud Photos, what would happen if you take a photo and then run the upload sequence?
@srwareham commented on GitHub (Mar 1, 2023):
Just disabled iCloud photo sync and took a picture. Didn't upload unfortunately. Is there a way to increase logging verbosity in the iOS app?
@JustAmply commented on GitHub (Mar 4, 2023):
I have a similar issue, and it seems to be related to #1122
It has to do with importing pictures via CLI, that are also on the iPhone. It doesn't deduplicate properly, as it errors out.
Don't know if it's the same issue though
@espy-engineering commented on GitHub (Mar 5, 2023):
I am also experiencing this issue. I was gonna dig into the code before posting but haven't had the chance. Mine was working perfectly fine until about beginning of January. Not sure if it was an app update or an iOS update.
@srwareham commented on GitHub (Mar 29, 2023):
I was hoping v1.52.0 would resolve this but unfortunately not. Observing exact same behavior, even after a clean install on both server and iOS
@alextran1502 commented on GitHub (Mar 29, 2023):
@srwareham Can you help me confirm again that you don't have iCloud Photo and optimized storage turned on?
@srwareham commented on GitHub (Mar 29, 2023):
@alextran1502 yes, can confirm

@alextran1502 commented on GitHub (Mar 29, 2023):
@srwareham hmm I assume that somehwere in shared album and iCloud photo that is causing the issue you are seeing since Immich has not been designed to work with those scenarios yet
@srwareham commented on GitHub (Mar 29, 2023):
@alextran1502 is there a way to increase logging verbosity in the iOS app to try to help diagnose this?
@espy-engineering commented on GitHub (Mar 30, 2023):
So for me it was user error. After finally having some time to debug it, I realized that I was getting 413s back from the server. Since I have my instance running behind my own Nginx reverse proxy, my request were getting denied because nginx has default limit of 1MB uploads in order to protect against DDOS. I modified the nginx config for that server and all is well. All photos are being uploaded. Previous only screenshots were being uploaded because screenshots were under the 1MB limit. So that was my specific issue.
@srwareham commented on GitHub (Apr 4, 2023):
@espy-engineering you are my absolute hero. That fixed my problem! I hadn't remembered that at some point I started using a ngnix reverse proxy and was no longer hard coding my immich server's IP address in the mobile app.
@alextran1502 is there a way for the mobile app's log to display when it gets 413 (and presumably other HTTP) error messages? This would help tremendously for this occasion and I'm sure others.
For anyone finding this later, the fix for me was editing
/etc/nginx/nginx.confto add a user-defined value forclient_max_body_size. I picked 20G as an arbitrarily large number that should be bigger than any of my videos@srwareham commented on GitHub (Apr 19, 2023):
Looks like more verbose mobile logging was just released in v1.54. Thanks so much!