mirror of
https://github.com/immich-app/immich.git
synced 2026-02-05 00:30:57 +03:00
[BUG] Deleting duplicate pictures lead to negative remainder counter #415
Closed
opened 2026-02-04 20:20:59 +03:00 by OVERLORD
·
30 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
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#415
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 @ytzelf on GitHub (Nov 15, 2022).
Describe the bug
After adding the Camera album on my Android phone to Immich I deleted numerous pictures from another app (duplicate finder). The assets remained in the cloud and the dashboard now show a negative Remainder.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Some kind of purging mechanism where pictures that don't live on the phone are deleted from the server.
Screenshots
If applicable, add screenshots to help explain your problem.
System
121.351.35Additional context
Add any other context about the problem here.
@alextran1502 commented on GitHub (Nov 15, 2022):
confirmed
@ytzelf commented on GitHub (Nov 15, 2022):
I don't know to what extent you want the two way sync to be authoritative but I'd expect the phone to be the single source of trust for the pictures and those deleted from there should be deleted from the server, either real time or through a pruning cron-job type process that makes sure that server is sync'd to phone daily or so.
@alextran1502 commented on GitHub (Nov 15, 2022):
@ytzelf I don't think you want that because then if you remove photos or videos on the phone to have more space to take more photos they will be also deleted on the server. Which is not what backing up means.
@ytzelf commented on GitHub (Nov 15, 2022):
OK then i'm not sure how to work around that issue.
What I could see working is
1/ Select all items in backups and not on the phone (separate issue - easily selecting all items, items for a specific date range or items based on their storage location is needed)
2/ Delete these items on the backup location from the mobile app (maybe a delete subdialog on pictures - "delete from phone" and "delete from backup")
If you're fine having pictures on backup that were explicitely deleted from the phone then I'm not sure this is even an issue at all tbh (and the remainder counter can just be max(0, total-uploaded)). Probably more a matter of being able to view, quickly select, and delete quickly these pictures.
@gh3597 commented on GitHub (Nov 20, 2022):
May be related to this issue but I got a negative number after closing and re-opening the app, no deleting needed.
@spupuz commented on GitHub (Nov 20, 2022):
Same proplem for me.
@SpecialAro commented on GitHub (Dec 21, 2022):
I just left my phone to do it's first backup on a freshly new immich server during the night and I got this.
@alextran1502 commented on GitHub (Dec 21, 2022):
Beside backup up from the phone, did by chance upload anything else from the web or from the CLI? If you go on the web and hover on the question mark next to the Photos button, what is the sum of the photos and videos count?
@SpecialAro commented on GitHub (Dec 21, 2022):
Nop, just through this phone.
This? It is exactly 1913 (as shows on the phone)
@jrasm91 commented on GitHub (Dec 21, 2022):
Is this related to Live Photos being stored as two parts (and showing up in the count as two separate assets)? Is there a way for you to easily tell how many live photos you have?
Ideally the backup count should be how many assets are left to backup, which is unrelated to how many are on the server or have previously been backed-up to the server. It should be something like:
count(assets from selected albums on device) - count(where on device asset is in list of assets on the server).@gh3597 commented on GitHub (Dec 21, 2022):
Wouldn't have thought so as I have zero live photos.
All I did when I got this initially was to install the app and let it sync. No other upload methods used at that point in time.
@alextran1502 commented on GitHub (Dec 23, 2022):
I think you have some duplicate photos or videos and the app doesn't handle the duplication count correctly. Can you help me confirm if you have some duplicate photos or videos in your library?
@SpecialAro commented on GitHub (Jan 4, 2023):
Just quickly looked through all my photos and I can't find any duplicates (at least the file names are always different).
@gh3597 commented on GitHub (Jan 17, 2023):
Not as far as I'm aware. Depends on what the criteria is? File names will all be unique, anything "duplicate" will be things like downloaded items that have no or minimal metadata?
Just opened the app (not logged in for a while as the server/app was not the same version so have been "locked out" until I could update the server) and using foreground backup it is now backing up -43 assets, and this number is decreasing i.e. first image uploaded then remainder is -44 etc. None of the current photos are duplicates and certainly not all of them.
@samip5 commented on GitHub (Jan 28, 2023):
I have also noticed this issue on Android.
@ikaruswill commented on GitHub (Apr 9, 2023):
Dropping by to share a finding.
-1coincides with the exact number of files stuck in theuploadsubfolder (which was corrupted due to incomplete/failed upload).-30is still much larger than the number of stuck files5.librarysubfolder.My hypothesis is that there is a possibility that files stuck in the
uploadfolder may count towards library size and therefore contribute towards this negative photo count issue.My two cents on source of truth and this issue overall:
Remainder@ameyp commented on GitHub (May 24, 2023):
Just encountered this bug too, on Android. I did not manually delete any photos, but overnight the app has ended up with
Remainder: -9, and I have a permanent notification sayingBacking up your assets... 42% (3/7).Looking at my library, the two newest photos have a cloud icon with a line through it, which I take to mean that they aren't backed up (looking at progres logs, looks like I've encountered https://github.com/immich-app/immich/issues/2547 too). Perhaps worth noting that I hadn't launched the app in a while. I launched it this morning after I saw the stuck notification, got a message about a server update, updated the server but the problem remains.
There were 10 files in the
/usr/src/app/upload/upload/<uid>folder, I deleted them but that hasn't addressed the problem.@bigbeka commented on GitHub (May 27, 2023):
Using iOS client:
I understand that the counter just subtracts 'Backup' number from 'Total' that's on device.
My suggestion would be to compare the last backed up photo/video ID with the one on device and then count from there how many more photos/videos are to be backed up.
@austinbarberrepo commented on GitHub (May 29, 2023):
Wanted to leave a note that I just experienced this as well on iOS. Not sure if you need me to help gather information or not for you.
@mtettke123 commented on GitHub (Jun 3, 2023):
Seem to have the same problem:
Workflow: I started by uploading images from my new phone using immich - after deciding it's a great tool I installed immich on my old phone to upload these pictures, too. Maybe that's the problem?! ...
@mmorys commented on GitHub (Jun 23, 2023):
Same issue. Fresh setup and was backing up ~8000 photos/videos on my Android phone. I had made changes during the process, adding 2 more albums, and restarting my phone. At one point the Total started showing ~5000 even though camera still had 8000 assets.
I was able to resolve the issue by deleting the app's cache and data. Upon login to a fresh app, I reselected the backup albums and the Total is now correct, matching Backup.
@d3473r commented on GitHub (Jul 25, 2023):
Thank you, this workaround fixes the issue for me also :)
@ytzelf commented on GitHub (Jul 26, 2023):
That ... did it for me as well. Thanks a lot it was somewhat irking ^^
@NextBlaubeere commented on GitHub (Aug 31, 2023):
I freshly installed immich two times, to see if the error was on my side, but i can confirm this bug:
//edit:
deleting cache does not help in my case. maybe a full wipe of the app-data would ...
@lead0r commented on GitHub (Sep 8, 2023):
I can confirm that this does happen with the Android app with a freshly installed server and that deleting app cache and data doesn't really solve the issue
@jrnewell commented on GitHub (Sep 18, 2023):
I was able to reproduce getting a negative number following these steps (I am on ios).
@vitor-alves commented on GitHub (Oct 30, 2023):
Deleting app data and cached on Android worked for me
@Tyree commented on GitHub (Nov 20, 2023):
I have the same problem. Mine is -1677.
I have theorized that what caused it was initially having the "Recent" category selected when I enabled auto-backup. Items in that category will overlap items in other selected categories/locations. So once I realized and deselected it, there were already "extra" items uploaded that the app now sees as a negative count. More items auto-uploaded than the app is set for.
Deleting the app data (Android) and setting up auto-backup again did reset everything for me.
@hobesman commented on GitHub (Dec 2, 2023):
That might be what caused it for you, but I just selected the folders (not including "recent"), let it sync, and found the negative number when I came back. Somewhere along the way, the "total" is getting way off track.
@avdept commented on GitHub (Feb 21, 2024):
Im not sure about official team's position on this, but IMO it could be solved by checking # of images that were shot after latest upload timestamp