Image upload not complete using CLI

The image upload is not complete when using the CLI to upload.
user@pc ~/p/g/s/T/CLI (main)> node bin/index.js upload --key KEYKEYKEY --server http://192.168.21.10:8083/api -d /home/user/output -t 16
Warning: deprecated option --directory used, this will be removed in a future release. Please specify paths with --recursive instead
Checking connectivity with Immich instance...
Server status: OK
Checking credentials...
Login status: OK
Successful authentication for user [email protected]
Indexing local assets...
Indexing complete, found 24346 local assets
Comparing local assets with those on the Immich instance...
A total of 2903 assets will be uploaded to the server
Do you want to start upload now? (y/n) y
Start uploading...
Upload Progress | █████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ | 11% || 2903/24346
Failed to upload 0 files []
user@pc ~/p/g/s/T/CLI (main)> node bin/index.js upload --key KEYKEYKEY --server http://192.168.21.10:8083/api -d /home/user/output -t 16
Warning: deprecated option --directory used, this will be removed in a future release. Please specify paths with --recursive instead
Checking connectivity with Immich instance...
Server status: OK
Checking credentials...
Login status: OK
Successful authentication for user [email protected]
Indexing local assets...
Indexing complete, found 24346 local assets
Comparing local assets with those on the Immich instance...
A total of 2903 assets will be uploaded to the server
user@pc ~/p/g/s/T/CLI (main)>
user@pc ~/p/g/s/T/CLI (main)> node bin/index.js upload --key KEYKEYKEY --server http://192.168.21.10:8083/api -d /home/user/output -t 16
Warning: deprecated option --directory used, this will be removed in a future release. Please specify paths with --recursive instead
Checking connectivity with Immich instance...
Server status: OK
Checking credentials...
Login status: OK
Successful authentication for user [email protected]
Indexing local assets...
Indexing complete, found 24346 local assets
Comparing local assets with those on the Immich instance...
A total of 2903 assets will be uploaded to the server
Do you want to start upload now? (y/n) y
Start uploading...
Upload Progress | █████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ | 11% || 2903/24346
Failed to upload 0 files []
user@pc ~/p/g/s/T/CLI (main)> node bin/index.js upload --key KEYKEYKEY --server http://192.168.21.10:8083/api -d /home/user/output -t 16
Warning: deprecated option --directory used, this will be removed in a future release. Please specify paths with --recursive instead
Checking connectivity with Immich instance...
Server status: OK
Checking credentials...
Login status: OK
Successful authentication for user [email protected]
Indexing local assets...
Indexing complete, found 24346 local assets
Comparing local assets with those on the Immich instance...
A total of 2903 assets will be uploaded to the server
user@pc ~/p/g/s/T/CLI (main)>
As you can see the CLI stops uploading after the 2903 images are uploaded, as expected. However when starting the CLI again, it still finds the 2903 assets that don't match Online I can see that I have 21445 assets uploaded, in the output folder there are 24346 which means exactly 2901 photos failed to upload which still doesn't match the 2903 exactly but get's me closer
66 Replies
Quadrubo
QuadruboOP2y ago
I also now used -r as a CLI option instead of the depreacted -d which yields the same results These are the filetypes in the directory:
48 gif
250 jpeg
23034 jpg
946 mp4
68 png
48 gif
250 jpeg
23034 jpg
946 mp4
68 png
When monitoring the output of the cli command the files not being uploaded seem random to me.
Seion
Seion2y ago
I am having the same issue ...
CLI git:(main) ✗ node bin/index.js upload --key KEYKEYKEY --server http://HOST:2283/api -d '/Users/s/d/gp/Takeout/output' -t 16
Warning: deprecated option --directory used, this will be removed in a future release. Please specify paths with --recursive instead
Checking connectivity with Immich instance...
Server status: OK
Checking credentials...
Login status: OK
Successful authentication for user HIDE
Indexing local assets...
Indexing complete, found 30477 local assets
Comparing local assets with those on the Immich instance...
A total of 2836 assets will be uploaded to the server
Do you want to start upload now? (y/n) y
Start uploading...
Upload Progress | ████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ | 9% || 2836/30477 || Current file [/Users/s/d/gp/Takeout/output/VID_20161108_100344.mp4]
Failed to upload 0 files []
➜ CLI git:(main) ✗ node bin/index.js upload --key KEYKEYKEY --server http://HOST:2283/api -d '/Users/s/d/gp/Takeout/output' -t 16
Warning: deprecated option --directory used, this will be removed in a future release. Please specify paths with --recursive instead
Checking connectivity with Immich instance...
Server status: OK
Checking credentials...
Login status: OK
Successful authentication for user HIDE
Indexing local assets...
Indexing complete, found 30477 local assets
Comparing local assets with those on the Immich instance...
A total of 2831 assets will be uploaded to the server
Do you want to start upload now? (y/n)
CLI git:(main) ✗ node bin/index.js upload --key KEYKEYKEY --server http://HOST:2283/api -d '/Users/s/d/gp/Takeout/output' -t 16
Warning: deprecated option --directory used, this will be removed in a future release. Please specify paths with --recursive instead
Checking connectivity with Immich instance...
Server status: OK
Checking credentials...
Login status: OK
Successful authentication for user HIDE
Indexing local assets...
Indexing complete, found 30477 local assets
Comparing local assets with those on the Immich instance...
A total of 2836 assets will be uploaded to the server
Do you want to start upload now? (y/n) y
Start uploading...
Upload Progress | ████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ | 9% || 2836/30477 || Current file [/Users/s/d/gp/Takeout/output/VID_20161108_100344.mp4]
Failed to upload 0 files []
➜ CLI git:(main) ✗ node bin/index.js upload --key KEYKEYKEY --server http://HOST:2283/api -d '/Users/s/d/gp/Takeout/output' -t 16
Warning: deprecated option --directory used, this will be removed in a future release. Please specify paths with --recursive instead
Checking connectivity with Immich instance...
Server status: OK
Checking credentials...
Login status: OK
Successful authentication for user HIDE
Indexing local assets...
Indexing complete, found 30477 local assets
Comparing local assets with those on the Immich instance...
A total of 2831 assets will be uploaded to the server
Do you want to start upload now? (y/n)
anyone else having this issue? @Alex Any ideas
Alex Tran
Alex Tran2y ago
What issue are you seeing? there are 30477 local assets and it will upload 2831 because other have been uploaded It would be nice to also check the logs of the server to see what happen during the upload process as well
Seion
Seion2y ago
I wiped everything and will be uploading about 70K assets again, I will see if I can catch the logs this time its like it won't upload the last 2831 no matter how many times I ran it but no errors on the CLI side of things Failed to upload 0 files [] @Alex which logs should I look at it happened again immich_server ? there is nothing actively being logged in it as I am attempting the upload the second time. this was the last log
[Nest] 1 - 06/06/2023, 12:43:17 AM WARN [ImmichServer] Search is enabled
[Nest] 1 - 06/06/2023, 12:57:44 AM ERROR [ExpressAdapter] Premature close
Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
at new NodeError (node:internal/errors:399:5)
at ServerResponse.onclose (node:internal/streams/end-of-stream:154:30)
at ServerResponse.emit (node:events:525:35)
at emitCloseNT (node:_http_server:984:10)
at Socket.onServerResponseClose (node:_http_server:277:5)
at Socket.emit (node:events:525:35)
at TCP.<anonymous> (node:net:322:12)
[Nest] 1 - 06/06/2023, 12:57:45 AM ERROR [ExpressAdapter] Premature close
Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
at new NodeError (node:internal/errors:399:5)
at ServerResponse.onclose (node:internal/streams/end-of-stream:154:30)
at ServerResponse.emit (node:events:525:35)
at emitCloseNT (node:_http_server:984:10)
at Socket.onServerResponseClose (node:_http_server:277:5)
at Socket.emit (node:events:525:35)
at TCP.<anonymous> (node:net:322:12)
[Nest] 1 - 06/06/2023, 12:43:17 AM WARN [ImmichServer] Search is enabled
[Nest] 1 - 06/06/2023, 12:57:44 AM ERROR [ExpressAdapter] Premature close
Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
at new NodeError (node:internal/errors:399:5)
at ServerResponse.onclose (node:internal/streams/end-of-stream:154:30)
at ServerResponse.emit (node:events:525:35)
at emitCloseNT (node:_http_server:984:10)
at Socket.onServerResponseClose (node:_http_server:277:5)
at Socket.emit (node:events:525:35)
at TCP.<anonymous> (node:net:322:12)
[Nest] 1 - 06/06/2023, 12:57:45 AM ERROR [ExpressAdapter] Premature close
Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
at new NodeError (node:internal/errors:399:5)
at ServerResponse.onclose (node:internal/streams/end-of-stream:154:30)
at ServerResponse.emit (node:events:525:35)
at emitCloseNT (node:_http_server:984:10)
at Socket.onServerResponseClose (node:_http_server:277:5)
at Socket.emit (node:events:525:35)
at TCP.<anonymous> (node:net:322:12)
Alex Tran
Alex Tran2y ago
Those errors can be ignore as it is the message when a video stream is terminated Maybe those assets that are not accounted in the CLI is not supported by Immich
Seion
Seion2y ago
some are jpg
Alex Tran
Alex Tran2y ago
How many have been uploaded to Immich, do you know?
Seion
Seion2y ago
for the second run Indexing local assets... Indexing complete, found 40523 local assets Comparing local assets with those on the Immich instance... A total of 18009 assets will be uploaded to the server
Seion
Seion2y ago
No description
Alex Tran
Alex Tran2y ago
so it says that it will upload 18009 to the instance
Seion
Seion2y ago
yes the second time I ran it
Alex Tran
Alex Tran2y ago
I suspect the other 2000s differences are from mobile upload?
Seion
Seion2y ago
I doubt i had 2000 before I started this import
Alex Tran
Alex Tran2y ago
What are other sources you have been using to upload to Immich?
Seion
Seion2y ago
mobile, but it was like 144 or somewhere around that
Alex Tran
Alex Tran2y ago
So what you are suspecting is it says it will upload 18000 files but somehow inflates to 20700 files? well technically 22400 files including the videos
Seion
Seion2y ago
Indexing complete, found 40523 local assets 40523 - 20783 - 1749 = 17,991 the first run was on the full 40523 the second run in the same 40523 directory its attempting to upload 18000 that it "failed" or never told me it failed on in the first run
Alex Tran
Alex Tran2y ago
how many assets would it report if you run the CLI again?
Seion
Seion2y ago
its almost finished and ill try it again do jobs need to be finished for those server counts to be updated and for the CLI API to know
Alex Tran
Alex Tran2y ago
No it doesn't the files are uploaded to the server are the raw files, the server just handles generating additional files and then running through the ML pipeline
Seion
Seion2y ago
last 500 files apparently are a bunch of mp4's ... taking a bit console commands from run 2 and 3
➜ kristoupload immich upload --key XXX --server http://localhost:2283/api --recursive ./
Checking connectivity with Immich instance...
Server status: OK
Checking credentials...
Login status: OK
Successful authentication for user XXX
Indexing local assets...
Indexing complete, found 40523 local assets
Comparing local assets with those on the Immich instance...
A total of 18009 assets will be uploaded to the server
Do you want to start upload now? (y/n) y
Start uploading...
Upload Progress | ██████████████████░░░░░░░░░░░░░░░░░░░░░░ | 44% || 18009/40523 || Current file [/media/storage_1/pbackup/x/x.jpg]
Failed to upload 0 files []
➜ kristoupload immich upload --key XXXX --server http://localhost:2283/api --recursive ./
Checking connectivity with Immich instance...
Server status: OK
Checking credentials...
Login status: OK
Successful authentication for user XXXX
Indexing local assets...
Indexing complete, found 40523 local assets
Comparing local assets with those on the Immich instance...
A total of 18009 assets will be uploaded to the server
Do you want to start upload now? (y/n) n
Abort Upload Process
➜ kristoupload immich upload --key XXX --server http://localhost:2283/api --recursive ./
Checking connectivity with Immich instance...
Server status: OK
Checking credentials...
Login status: OK
Successful authentication for user XXX
Indexing local assets...
Indexing complete, found 40523 local assets
Comparing local assets with those on the Immich instance...
A total of 18009 assets will be uploaded to the server
Do you want to start upload now? (y/n) y
Start uploading...
Upload Progress | ██████████████████░░░░░░░░░░░░░░░░░░░░░░ | 44% || 18009/40523 || Current file [/media/storage_1/pbackup/x/x.jpg]
Failed to upload 0 files []
➜ kristoupload immich upload --key XXXX --server http://localhost:2283/api --recursive ./
Checking connectivity with Immich instance...
Server status: OK
Checking credentials...
Login status: OK
Successful authentication for user XXXX
Indexing local assets...
Indexing complete, found 40523 local assets
Comparing local assets with those on the Immich instance...
A total of 18009 assets will be uploaded to the server
Do you want to start upload now? (y/n) n
Abort Upload Process
@Alex so it ran through the whole 18009 the second time and still is like it didnt upload
Seion
Seion2y ago
No description
Seion
Seion2y ago
nothing new in docker logs immich_server I can pull it from git and put a log into the response if you know which file and line I need to put it in i put in a log
Seion
Seion2y ago
No description
Seion
Seion2y ago
its returning duplicate: true ? logging out the localAssets that are part of the 18000 one for example has id of id: 'photo0026-edited_2.jpg-445926', Hitting the api with the /api/asset/device id Does not have that id in the array returned
Seion
Seion2y ago
No description
Seion
Seion2y ago
@jrasm91 have you done any work on that asset api side to have any thoughts on this issue?
// handle duplicates with a success response
if (error instanceof QueryFailedError && (error as any).constraint === 'UQ_userid_checksum') {
const checksums = [file.checksum, livePhotoFile?.checksum].filter((checksum): checksum is Buffer => !!checksum);
const [duplicate] = await this._assetRepository.getAssetsByChecksums(authUser.id, checksums);
return { id: duplicate.id, duplicate: true };
}
// handle duplicates with a success response
if (error instanceof QueryFailedError && (error as any).constraint === 'UQ_userid_checksum') {
const checksums = [file.checksum, livePhotoFile?.checksum].filter((checksum): checksum is Buffer => !!checksum);
const [duplicate] = await this._assetRepository.getAssetsByChecksums(authUser.id, checksums);
return { id: duplicate.id, duplicate: true };
}
https://github.com/immich-app/immich/blob/6ce35d47f5582b89294578c691705727a184b996/server/apps/immich/src/api-v1/asset/asset.service.ts#LL137C12-L137C12 not sure if that method gets called when url: ${endpoint}/asset/upload, gets called from the CLI script
jrasm91
jrasm912y ago
Sorry what is the problem exactly? Two things going on here I can help clarify on. 1. If the device asset id is in the list it will skip it. This basically means same filename, modified timestamp, etc. This is actually being replaced with a checksum hash instead. There is an open PR to change that already done. it will not try to upload it in this case. 2. A new asset is uploaded and a hash is calculated on the server. When it tries to save it to the database an error happens because the same hash already exists. We return duplicate: true, and the asset id that it matched with (along with a 200 status code instead of 201). You have a filename that is supposedly a duplicate. You can run sha1sum <filename> locally. You can hit /api/asset/assetById/:assetId to get the details for the duplicate. You will see the same checksum (although it is base 64 url encoded) and the original filename, which you can probably also find locally and manually verify it is a duplicate.
Seion
Seion2y ago
On your # 1 the non PR version is not happening in my case, I hit the API endpoint -> https://photos.hidden.net/api/asset/MyDeviceUUIDhere and I also logged out what new assets is the CLI command attempting to upload again and then searched the return API results for a couple of those file names and did not find them, so thats why its not skipping them on the CLI side. It then tries to upload them but the API is counting them as duplicates, I am assuming its finding a file with the same hash, I am going to investigate this part to see why they have the same hash, is it a true duplicate or something else
jrasm91
jrasm912y ago
Yup, that makes sense and that is exactly how it is configured to work. This would imply the duplicates are two separate files with two different names. Or, the file was already uploaded by a different source (phone, etc.)
Seion
Seion2y ago
there is around 18K that its counting as duplicate
jrasm91
jrasm912y ago
Have you verified any of them yet?
Seion
Seion2y ago
the console logged array looks a lot smaller than 18K, but a lot of them look like burst shots nvm its truncating the array being logged
jrasm91
jrasm912y ago
Did you look this one up?
Seion
Seion2y ago
is :assetId the filename+size ? for the api you described above
jrasm91
jrasm912y ago
No that's a guid assetDeviceId is the filename
Seion
Seion2y ago
ok let me get the hash locally and then ill try hitting that api
jrasm91
jrasm912y ago
What do you need the hash for?
Seion
Seion2y ago
I got to get a different example than what I screenshotted above as I am not sure what file name it was trying to upload there
data: { id: '689ca022-6047-4b13-8b94-48804eec3606', duplicate: true }
}
/media/storage_1/pbackup/kristoupload/00000IMG_00000_BURST20190226115815827_COVER_1.jpg
data: { id: '689ca022-6047-4b13-8b94-48804eec3606', duplicate: true }
}
/media/storage_1/pbackup/kristoupload/00000IMG_00000_BURST20190226115815827_COVER_1.jpg
"id": "689ca022-6047-4b13-8b94-48804eec3606",
"deviceAssetId": "00000IMG_00000_BURST20190226115815827_COVER.jpg-3364743",
"id": "689ca022-6047-4b13-8b94-48804eec3606",
"deviceAssetId": "00000IMG_00000_BURST20190226115815827_COVER.jpg-3364743",
I am assuming a bunch of those burst shots are either duplicates or may have the same hash let me see if I can find some non burst shots
jrasm91
jrasm912y ago
What is the filename it tried to upload and what is the filename of the already uploaded one on the server? COVER.jpg vs COVER_1.jpg? Looks like a duplicate copy to me
Seion
Seion2y ago
No description
Seion
Seion2y ago
This is from google takeout I dont see this in photos.google.com but when exported its doing this crap
jrasm91
jrasm912y ago
In google photos you can edit photos and it save over the original, so only the edited one shows up. I thinkn that's unrelated to this duplicate problem though. Those jpgs are presumably different version (sha1). Is this the file it tried to upload?
/media/storage_1/pbackup/kristoupload/00000IMG_00000_BURST20190226115815827_COVER_1.jpg
/media/storage_1/pbackup/kristoupload/00000IMG_00000_BURST20190226115815827_COVER_1.jpg
What is the original filename for this asset? 689ca022-6047-4b13-8b94-48804eec3606
Seion
Seion2y ago
"originalFileName": "00000IMG_00000_BURST20190226115815827_COVER", here is some names of the other ones that its trying to upload
{
id: '11132009121_1.jpg-379470',
filePath: '/media/storage_1/pbackup/kristoupload/11132009121_1.jpg'
},
{
id: '11132009121_2.jpg-379470',
filePath: '/media/storage_1/pbackup/kristoupload/11132009121_2.jpg'
},
{
id: '11132009123_1.jpg-347464',
filePath: '/media/storage_1/pbackup/kristoupload/11132009123_1.jpg'
},
{
id: '11132009123_2.jpg-347464',
filePath: '/media/storage_1/pbackup/kristoupload/11132009123_2.jpg'
},
{
id: '11132009121_1.jpg-379470',
filePath: '/media/storage_1/pbackup/kristoupload/11132009121_1.jpg'
},
{
id: '11132009121_2.jpg-379470',
filePath: '/media/storage_1/pbackup/kristoupload/11132009121_2.jpg'
},
{
id: '11132009123_1.jpg-347464',
filePath: '/media/storage_1/pbackup/kristoupload/11132009123_1.jpg'
},
{
id: '11132009123_2.jpg-347464',
filePath: '/media/storage_1/pbackup/kristoupload/11132009123_2.jpg'
},
I bet those 123_1 / 123_2 are the same file not modified but somehow google duplicated for some reason
jrasm91
jrasm912y ago
Do you have two files locally? Where does
00000IMG_00000_BURST20190226115815827_COVER.jpg
00000IMG_00000_BURST20190226115815827_COVER_1.jpg
00000IMG_00000_BURST20190226115815827_COVER.jpg
00000IMG_00000_BURST20190226115815827_COVER_1.jpg
come from?
Seion
Seion2y ago
➜ Google Photos find . -name '00000IMG_00000_BURST20190226115815827_COVER*'
./Family _ friends/00000IMG_00000_BURST20190226115815827_COVER.jp.json
./Family _ friends/00000IMG_00000_BURST20190226115815827_COVER.jpg
./Family _ friends(1)/00000IMG_00000_BURST20190226115815827_COVER.jp.json
./Family _ friends(1)/00000IMG_00000_BURST20190226115815827_COVER.jpg
./Photos from 2019/00000IMG_00000_BURST20190226115815827_COVER.jp.json
./Photos from 2019/00000IMG_00000_BURST20190226115815827_COVER.jpg
➜ Google Photos find . -name '00000IMG_00000_BURST20190226115815827_COVER*'
./Family _ friends/00000IMG_00000_BURST20190226115815827_COVER.jp.json
./Family _ friends/00000IMG_00000_BURST20190226115815827_COVER.jpg
./Family _ friends(1)/00000IMG_00000_BURST20190226115815827_COVER.jp.json
./Family _ friends(1)/00000IMG_00000_BURST20190226115815827_COVER.jpg
./Photos from 2019/00000IMG_00000_BURST20190226115815827_COVER.jp.json
./Photos from 2019/00000IMG_00000_BURST20190226115815827_COVER.jpg
➜ kristoupload find . -name '00000IMG_00000_BURST20190226115815827_COVER*'
./00000IMG_00000_BURST20190226115815827_COVER.jpg
./00000IMG_00000_BURST20190226115815827_COVER_1.jpg
./00000IMG_00000_BURST20190226115815827_COVER_2.jpg
➜ kristoupload find . -name '00000IMG_00000_BURST20190226115815827_COVER*'
./00000IMG_00000_BURST20190226115815827_COVER.jpg
./00000IMG_00000_BURST20190226115815827_COVER_1.jpg
./00000IMG_00000_BURST20190226115815827_COVER_2.jpg
top box is original export, bottom is after I ran the exif script and is what I am attempting to upload
jrasm91
jrasm912y ago
Looks like they're duplicates. I mean, it looks like everything is working as expected. CLI doesn't re-upload the same file (name + modified date) again, and it correctly detects an uploaded duplicate and doesn't re-upload it. Well, it re-uploads, but doesn't re-add it.
Seion
Seion2y ago
I think you are correct, ill just have to run through and verify a bunch
jrasm91
jrasm912y ago
It's a bit of a rabbit-hole trying to figure out why you have duplicates in the first place though 😛
Seion
Seion2y ago
Yea and google takeout is a pain I need to build a google photos api exporter
jrasm91
jrasm912y ago
I need to do that too haha
Seion
Seion2y ago
@Quadrubo See the fun conversation above, may be the same issue you are having
Quadrubo
QuadruboOP2y ago
oh okay I see so i probably have duplicates then. Any plan to show that in the cli as feedback, e.g. 2000 images where not uploaded because they are duplicate
Seion
Seion2y ago
I could maybe do a PR for that i'll look at it tonight, since the res already contains duplicate: true, should be pretty easy to add
Seion
Seion2y ago
No description
Seion
Seion2y ago
spelling error but how does that look actually I am going to add an option to write the duplicate file names to a file apparently writing a file in node is apparently not straight forward.... ill look at it some more in the morning lol and do a PR
jrasm91
jrasm912y ago
You should be able to do fs.writeFileSync(path to file, files.join('\n')) or similar
Seion
Seion2y ago
I tried writeFile / createWriteStream, and finally worked with writeFileSync lol
Seion
Seion2y ago
No description
Seion
Seion2y ago
GitHub
Duplicate counts and write to file by adoreparler · Pull Request #9...
Added functionality to count how many files were reported as duplicates after attempting to upload to the server. Added functionality to write those duplicate file names to a file
jrasm91
jrasm912y ago
Commit added, not sure if I need to do anything in this pull request to get them to be added. They show in the commits list.
What do you mean by this?
Seion
Seion2y ago
I was not sure if I had to do anything to the PR after i committed the second time but I think I figured it out lol
jrasm91
jrasm912y ago
Yeah you can continue to add commits and they are added to the pr
vakulenchuk
vakulenchuk2y ago
Hello there, I found this thread because I was having the same problem. What appears to be a large number of assets are not uploaded (no matter how many passes of the directory are made). I am assuming they are duplicates but the number is quite high and so I would like to inspect the files. I am not quite sure how to get a list, this PR looks to fix this but in the mean time is there a method to find these files without this code being released?
Seion
Seion2y ago
Pull from my fork and use that?
vakulenchuk
vakulenchuk2y ago
The obvious choice hehe thanks ill give it a try.

Did you find this page helpful?