mirror of
https://github.com/immich-app/immich.git
synced 2026-07-25 14:00:45 +03:00
Images show twice in Mobile Apps - Not on server #6202
Closed
opened 2026-02-05 12:05:40 +03:00 by OVERLORD
·
38 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
📱mobile
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#6202
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 @konradwalsh on GitHub (Jun 3, 2025).
I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.
The bug
The issues
https://github.com/immich-app/immich/issues/2129
is marked closed.. but the issue remains.
Is it best to open a new issue or have that reopened?
The OS that Immich Server is running on
Debian
Version of Immich Server
1.34
Version of Immich Mobile App
1.134
Platform with the issue
Your docker-compose.yml content
Your .env content
Reproduction steps
...
Relevant log output
Additional information
No response
@alextran1502 commented on GitHub (Jun 3, 2025):
Can you share the screenshots and logs?
@konradwalsh commented on GitHub (Jun 3, 2025):
Sure.. but I am just wondering is it better to reopen the original issue as it is full of examples? And then close this one...
@alextran1502 commented on GitHub (Jun 3, 2025):
The older issue is old, and many things have changed, so it is better to keep this one open.
Can you also go to App Settings > Advanced > Turn on troubleshooting.
Then go to the two photos that are duplicated and show the info button, then copy and take the two screenshots, then share them here?
@konradwalsh commented on GitHub (Jun 3, 2025):
@konradwalsh commented on GitHub (Jun 3, 2025):
@alextran1502 commented on GitHub (Jun 3, 2025):
Hmm, looks like these two files are different based on their name.
A couple of questions
@konradwalsh commented on GitHub (Jun 3, 2025):
Samsung Galaxy fold 6 and the same behaviour on Samsung S22.. this also happens on iPhone
Just photo mode in the standard camera
Just camera
@alextran1502 commented on GitHub (Jun 3, 2025):
If you long-press the asset that hasn't been uploaded on the timeline (cloud with cross icon), can you try to upload it and see if you can also see it on the web?
@alextran1502 commented on GitHub (Jun 3, 2025):
At the bottom of the camera settings page, can you help try reset camera settings and capture a new photo, see if the additonal jxl file get generated
@konradwalsh commented on GitHub (Jun 3, 2025):
SO I tried that various ways.. but I dont end up with an extra image on the web
@alextran1502 commented on GitHub (Jun 3, 2025):
Can you help clear the cache and document for the Immich app on your phone?
@konradwalsh commented on GitHub (Jun 3, 2025):
I did camera reset and still had the same AFTER it upload and it resyncd
@alextran1502 commented on GitHub (Jun 3, 2025):
@shenlong-tanwen Any thoughts on this?
@shenlong-tanwen commented on GitHub (Jun 3, 2025):
@konradwalsh Can you zip and share both the assets, one that has cloud crossed icon and the other with the cloud icon?
@EphremTil17 commented on GitHub (Jun 4, 2025):
Exact same issue after updating to version 1.133, I saw duplicated entries in the mobile library whenever an asset was both on-device and assigned to a synced album. Restoring a recent database backup fixed most of it, but about a month’s worth of timeline entries still showed each photo twice—once with the cloud‐only icon and once with the “not backed up” icon. To work around it, I confirmed those files were already uploaded to Immich and an offsite backup, then removed the local copies. Since then, I haven’t been able to reproduce the issue: if I download a photo back onto the device, Immich neither flags it as present in the album nor adds the checkmark to the cloud icon, even though the file is definitely local. Hope that gives some context.
Edit: Just realized Immich downloads assets to ../DCIM/Immich and not ../DCIM/Camera. After moving the files to ../DCIM/Camera, the cloud icon with a checkmark appeared so I could not replicate the bug after the problematic local assets were removed.
@schontho commented on GitHub (Jun 4, 2025):
Hi
I solved the problem at the moment for myself. I downloaded the pictures by USB from my phone, uploaded them over the webbrowser and after that installed the android app and synced the folder with the immiche server. Now I don't have pictures twice anymore.
Maybe it helps other as well.
@konradwalsh commented on GitHub (Jun 6, 2025):
So now.. go take a photo...
Wait for the upload to happen.
Kill the app and open it and that photo will have this issue
@konradwalsh commented on GitHub (Jun 6, 2025):
I have done this and tried and fresh device with no history
@PubBow commented on GitHub (Jun 11, 2025):
I deleted app (iOS) and re-installed with same issue.
@alextran1502 commented on GitHub (Jun 11, 2025):
Hmm, I wonder if Android now generate jxl automatically
@alextran1502 commented on GitHub (Jun 11, 2025):
@PubBow do you know if you have edited that photo by chance?
@PubBow commented on GitHub (Jun 11, 2025):
@alextran1502 Hi, No I don't think so - happy to replicate if you like. I pretty sure I just took a test photo, added to an album and selected the album selected to backup. I can view one instance of the photo on another account where the photo is shared.
@shenlong-tanwen commented on GitHub (Jun 11, 2025):
@PubBow / @konradwalsh Can one of you zip and share the originals of both the assets over to us in discord?
@PubBow commented on GitHub (Jun 12, 2025):
@shenlong-tanwen
To confirm, you would like the original photo taken on the device and a copy of the photo uploaded to Immich?
@jpros commented on GitHub (Jun 12, 2025):
Jumping in here, I have a similar issue on iOS, sent on discord but reuploading it here.
Immich with duplicated image:

Photos app with a single image:

Info of the "duplicated" image:

Info of the correct image:

Looks like the duplicate is the low-res iCloud creates before downloading the full-res image. For some reason, the app still got that cached.
Tried to delete the image on Immich, but it doesn't work. When I tap the delete button, nothing happens. Also, no log from the delete action.
I'm assuming I have that issue with 30 images, as those 30 "duplicates" are stuck on the backup process.
Please let me know if there's any other information I can provide.
I'm also able to debug the app on my iPhone if it helps.
@PubBow commented on GitHub (Jun 13, 2025):
@jpros Thanks, saved me a job
@PubBow commented on GitHub (Jun 26, 2025):
Hi all,
Any updates on this?
@alextran1502 commented on GitHub (Jun 26, 2025):
@PubBow clear the app cache and data would fix this issue
@konradwalsh commented on GitHub (Jun 27, 2025):
unfortunately not in my case.. if I do that it appears to fix it..
but take the next photo and wait for it to upload then do a syn and the issue starts from that photo onwards
@PubBow commented on GitHub (Jun 27, 2025):
@alextran1502
I have iOS - not sure that is an option. I have deleted the app which will clear everything and re-installed it but the issue still exists.
@CybranM commented on GitHub (Jul 10, 2025):
I had this issue on Android 12 (Oneplus 7 Pro) but reinstalling the app worked for me.
Although it did remember my settings etc when I reinstalled but maybe thats on purpose?
@konradwalsh commented on GitHub (Jul 10, 2025):
@alextran1502
any progress to report... ?
@alextran1502 commented on GitHub (Jul 10, 2025):
Reinstall the app perhaps?
@konradwalsh commented on GitHub (Jul 10, 2025):
thanks.. as stated many times I have tried and the others reporting the same
anything like resintalling, different phone, clear data, clear cache
all appears to work because the app is now only showing whats truly on the server
but the issue will start again on the next photo and from then on
@alextran1502 commented on GitHub (Jul 10, 2025):
Thanks for the update, as we are working on the new timeline anyway, this issue might be fixed then
@CybranM commented on GitHub (Jul 10, 2025):
Never mind, when I started the app now I see duplicates again. It did temporarily fix it though :S
@jpros commented on GitHub (Jul 19, 2025):
I’ve deleted the app, now it’s downloading all the photos from iCloud and validating for duplicates again. In 80k images I’ll let you know if it fixed the issue. But so far the experience is very bad.
@jrasm91 commented on GitHub (Sep 15, 2025):
This has been fixed in the new timeline. Let me know if you are still seeing it on the new timeline.