mirror of
https://github.com/immich-app/immich.git
synced 2026-02-05 00:30:57 +03:00
[BUG] App upload progress is reset when the screen goes off #330
Closed
opened 2026-02-04 19:43:13 +03:00 by OVERLORD
·
20 comments
No Branch/Tag Specified
main
feat/asset-file-apis
chore/translations
fix/web-switch-label-clickable
fix/web-people-hidden-state
renovate/typescript-projects
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
renovate/machine-learning
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-app-bar-fade
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#330
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 @oddlama on GitHub (Sep 24, 2022).
Describe the bug
I have about 3000 assets on my phone that need to be synced (some of those should already exist, but apparently the app doesn't check whether certain checksums already exist). I set my screen-off time to the maximum possible value on my Huawei phone which is 10 minutes. I manually start a backup and everything seems to working fine.
The problem is when I miss the opportunity to stop my phone from locking the screen, the upload progress is stopped probably because the phone goes to sleep. After unlocking the phone, the remainder is correctly displayed wherever the process stopped (last time at around 1000 remaining assets). When I now press the button "Start backup" again, the remainder is immediately reset and all 3000 assets are uploaded again.
It sounds to me like the app isn't saving it's state regularly when it changes, which causes it to be reset when the app lifecycle is stopped and resumed. I would even argue that ideally the client should send the server a list of checksums and the server should return only the indices in that list which the server doesn't already know. This way the state of already known images could be updated quickly by the client and only the files that actually need to be uploaded would actually be uploaded. Currently I had to exclude several gigabytes of videos to at least get all the images backed up (the videos just take too long to reupload on each try).
EDIT: I now managed to complete all uploads, but still the progress hasn't been saved after I locked my phone :( Apparently the state isn't even saved on completion, I'm not sure what to do to trigger a save.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The app's state should be saved regularly
System
v1.29.41.29.1 build 43@alextran1502 commented on GitHub (Sep 24, 2022):
Firstly, sorry for the inconvenience. This error seems to be specific to the phone model as I cannot reproduce it on my Samsung S9. My steps are as follow, let me know if they are the same as yours
Recent (All)album/folderStart BackupBackupandRemainderhave changed accordinglyStart Backup.Backupcontinue to count up while theRemaindercounts down as expected.Question
What are the state of the following buttons on your phone?

More context
The state of the count is updated when
Start backupbutton, it will perform the similar action above.Hint: You can turn on background service and the app will perform the backup in the background so that you don't have to leave the phone on.
@oddlama commented on GitHub (Sep 25, 2022):
Oh no worries! I'm just trying to help, I don't strictly depend on any of this :)
I knew what I was getting into when you said it isn't production ready.
Is it normal that it takes ~3 seconds for the app to change from "Selected: none" to the actual selected assets when I go here?
I can't do that unforunately, I don't want all images on my phone to be uploaded as that would include whatsapp images and other things that I don't want. Instead I have chosen two of the shown folders (Camera, Snapchat).
At this point I get Total 2987, Backup 235, Remainder 2752. That is also the state to where I'm reset all the time.
Same here, the displayed state is still correct until I press start again.
It takes 3 seconds where it calculates something, then the count is reset to 235 and the process begins anew.
I have both of those off at the moment (i though it might be related to the problem), but just tested it again with both of the buttons turned on. The same thing happens.
How is the comparison done currently? With checksums or file names? I did complete a full backup once on my phone today by continuously tapping the screen, and it doesn't detect that these have already been uploaded.
Interesting... can I do something to help here? Do you need logcat logs?
That's what I did initially but when i noticed that it was reset periodically i tried to solve it by doing manual backups. I also followed the instructions to disable background battery optimizations for my phone. But even if it would be killed it should not reset the state.
@siankatabg commented on GitHub (Oct 7, 2022):
Did you by any chance used the cli tool to upload old photos?
I've the same issue and I think the cli tool bugged my setup. I'll try to find some time and do it from scratch again to check that out.
@oddlama commented on GitHub (Oct 7, 2022):
Yes I did use the CLI tool
@dorianim commented on GitHub (Oct 8, 2022):
I can confirm this issue on a Huawei P30. The backup runs and as soon as the screen goes off, it stops, even though background backup is enabled.
@alextran1502 commented on GitHub (Oct 8, 2022):
@dorianim background backup will not show the progress on the backup page as it is managed by the background worker.
@dorianim commented on GitHub (Oct 8, 2022):
Ok, I'll leave the phone in standby for some time and check back if the pictures are uploaded.
Thanks for your great efforts, by the way! I really like this project, and it is exactly what I've been looking for for years :)
@dorianim commented on GitHub (Oct 9, 2022):
Well... I started at 2440 assets left when I wrote the comment, left the phone in standby until now. Now, it's been at 2500 for about two minutes and then it suddenly jumped to 2370.
@alextran1502 commented on GitHub (Oct 11, 2022):
@dorianim it means the background backup is working. It is the expected behavior, do you have any concern about this behavior?
@manuke42 commented on GitHub (Oct 20, 2022):
If you uploaded some photos via the CLI and then try to upload some of the same photos from mobile uploads them, too, but the server rejects the upload due to same checksum and the progress will reset on next start of the app.
Steps to reproduce:
To make this more obvious you should make many (100) photos at once and repeat the steps. So you will see the progress to reset to 100 left assets on mobile every time you restart the app.
I think the pull request #595 was going to solve this problem.
@siankatabg commented on GitHub (Oct 31, 2022):
I'd like to report that #853 fixed the issue on my end even on the old instance where it wasn't working! Thanks.
@ZuluWhiskey commented on GitHub (Jun 17, 2023):
I just wanted to add, for anyone else who has the same symptom (uploads not working / restarting when opening the app). I had an NGINX reverse proxy issue, so connected directly via the private IP at home and it worked. I'll edit this comment once I work out the correct configuration...
@alextran1502 commented on GitHub (Jun 17, 2023):
@ZuluWhiskey this is the expected behavior though. The app has two upload mechanism, foreground and background. When you out the app to the background, any current foreground upload will be canceled and if you have background upload enabled then the phone OS will schedule for the background backup to run at a later time
What is the behavior are you expecting?
@ZuluWhiskey commented on GitHub (Jun 17, 2023):
My issue was the same as the original post, on my iPhone I would start the backup and the progress would show pictures as uploading, but if:
Then when I reopened the app it would start the upload process from the first picture again and none of the pictures that it looked like were previously uploading were anywhere to be seen on Immich.
To test to see if my NGINX reverse proxy was the problem, I connected directly via the local IP and once I did so everything worked correctly 👍
So I've got an issue with my NGINX configuration, but I'm not sure what that is as I've included the headers suggested in the Immich documentation - It may just be me but I wanted to share on here just in case anyone had the same problem
@ZuluWhiskey commented on GitHub (Jun 17, 2023):
Ah, so looking through other issues I just spotted that you have an NGINX template in the repo which I didn't know was there 👍I think it'd be great if that was mentioned on the Reverse Proxy page in the docs for Custom reverse proxies
It's already there, I'm blind!
@dantufis commented on GitHub (Jul 15, 2023):
Hello,
I have this problem on Motorola edge 30. back-up don't work in background, only when the screen is on and you must be with the app open. I test it on iphone 11 and it have the same issue. All back up options are turned on.
Anyway, great work with this app, I love it.
@pokemonbattledroid commented on GitHub (Jan 19, 2024):
same issue on iphone 15 pro and pixel 7a too. maybe it's just the initial upload? just keep tapping the screen, hoping the auto upload works after the initial backup sequence.
@ZuluWhiskey commented on GitHub (Jan 20, 2024):
Are you using a direct connection with IP address only and nothing special?
@pokemonbattledroid commented on GitHub (Jan 20, 2024):
Yes. No special setups, box standard.
--
iamgo.net
On Sat, 20 Jan 2024 at 20:49, ZuluWhiskey @.***> wrote:
@mikael1022 commented on GitHub (May 21, 2025):
defenetly i have same probleme look like from proxy inverse from synology for me i will try to swap to proxy manager .