Coder Social home page Coder Social logo

ylexus / jiotty-photos-uploader Goto Github PK

View Code? Open in Web Editor NEW
66.0 4.0 11.0 3.87 MB

Uploads your media files to Google Photos creating albums based on the directory structure

Java 97.19% CSS 0.48% Shell 2.04% Batchfile 0.29%
google-photos photos upload organize-photos jiotty-photos-uploader

jiotty-photos-uploader's People

Contributors

axylee avatar besite avatar cantolla avatar marcovanree avatar sngnr avatar ylexus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

jiotty-photos-uploader's Issues

"INVALID_ARGUMENT: Request contains an invalid media item id." on existing photos.

Hi and thanks for this great app! It definitely saves me from a lot of trouble. As per the wiki you've written and specifically "If a photo has already been uploaded, will duplicate be created?"--->3, the program should be able to add photos already exist in Google Photos AND that are uploaded again to an album created by Jiotty.

I can't get this to work however and Jiotty spits out an "INVALID_ARGUMENT: Request contains an invalid media item id" error. I even tried with one photo to no avail. Clearing out the .jiottyphotouploader folder also didn't help.

What gives?

Fix MacOS notarization

Since 3 feb 2020, Apple requires hardened runtime and signing with timestamp for all binaries

Chinese Translation

To help with translation, please have a look at this file: https://github.com/ylexus/jiotty-photos-uploader/blob/master/src/main/resources/i18n/Resources.properties. It contains all the phrases needed by the app. The file is in the format:

key=phrase

There are also some clarifying comments in the file that start with '#' - these explain some context for the key that follows, but do not need to be translated.

@axylee, there are two options:

  1. if you are familiar with git and GitHub, you could just create two copies of this file in same directory and submit a pull request.
  2. if you are not familiar with git, please copy-paste the contents of the file above here twice in two different comments and in each comment replace the English text after the "=" with the corresponding Chinese phrase?

Thanks again for agreeing to help!

Order of items in albums

Uploaded photos are displayed in Google Photos album in some inconsistent order. They are definitely not ordered by date (which is the case when one uses native Google Photos UI to do it).

IMHO it would be natural to sort the photos by date in create albums. Maybe this is another limitation of Google Photos API? Then it's worth mentioning it in Wiki.

Affected version: 1.0.8

Uploading to create albums w/existing photos

Hi, I saw your Reddit post saying that uploading with existing photos was working. So I was using the app on Mac and I was trying to upload to get the app to create an album for me when I had previously uploaded the photos via web browser or backup and sync and for some reason I can't get it to create that album if the photos exist already. If the photos have not been uploaded before, the app works perfectly and does create that album. Any insight on how you were able to get that to work initially when you had existing photos? I also tried deleting the photos and then even permanently deleting and then re uploading through the app but then that didn't work either.

Thank you for your help!

another copy of the app is already running - error

Hi. I’ve been using your great utility for a week or so and its been working fine.
But when I came to run it today, I got this error mgs:
another copy of the app is already running
so I looked in Task manager, and I could not see any evidence of this. So I rebooted and still got the same msg when I restarted. I’ve uninstalled and reinstalled, tried removing all references to Jiotty photos uploader from regedit, restarted, reinstalled and still get this msg.
I’m now at the end of my own problem-solving skills.
Any chance of some help / guidance please?
Richard

Add tip to detail what happens in event of failures

Great piece of software, but it isn't clear whether failures stop upload of photos, or whether the api limit has been hit. Uploads appear to have stopped but I don't k ow whether to wait or whether a failure has caused them to stop.

If Google request quota is exceeded, hint the user

Notify the user about this, in a friendly way:

RESOURCE_EXHAUSTED: Quota exceeded for quota metric 'All requests' and limit 'All requests per day' of service 'photoslibrary.googleapis.com' for consumer 'project_number:641898159424'.

Add support for High quality instead of Original full resolution

Looks like the upload is original full resolution. My Google Photos account setting is High quality (free unlimited storage). Getting error INVALID_ARGUMENT: The remaining storage in the user's account is not enough to perform this operation.

Can you honor the upload setting or provide a Jiotty setting for upload resolution? Thanks

Date change to today with large video file

The date will change to today with Jiotty , tested below steps :
1: upload to GP manually within the web browser , the file size and date is correct .
2: delete and clean up the bin .
3: upload to GP the same video with Jiotty uploader , the file size the same , but the date change to today .
1-test file size in explorer
1-test file size in explorer

2-manual upload to GP
2-manual upload to GP

3-data size and date is correct
3-data size and date is correct

4-date change with Jiotty
4-date change with Jiotty

Privacy

Hello, thanks for releasing this app, it's very useful batch upload photos onto a google photos. I do however have some concerns about uploading thousands and thousands of pictures to Google photos via this API. What is the level of privacy that you can offer i.e. the app will not store users' photos and personal data? Thank you so much.

FR: Option to add files from subfolders to main album

photo folder

  • folder1
    • folder2
      • photo1.jpg
      • photo2.jpg
    • folder3
      • photo2.jpg
  • folder4

Like the example
all files in folder 1 including subfolders (folder2 and folder3) will be added to album "folder1"

In this case you will have 2 albums, Folder1 and Folder4

Fails to upload a folder with more than 50 images

Tested using Windows 10. Version 1.0.6

When I try an upload a folder with over 50 images I get this error for each of the files:

C:\PHOTOGRAPHS\ALBUM_NAME\FILE_NAME.JPG INVALID_ARGUMENT: Request must have less than 50 items.

Steps to reproduce:

1)Create folder A with 70 images
2)Try to upload the folder A
3)Fails with the error INVALID_ARGUMENT: Request must have less than 50 items. --however Album A is created in Google photos, it is just empty
4)Move 30 of the images from folder to folder B (folder A now has 40 images)
5)Try and upload folder A
5)This should be successful - the album on Google photos now has 40 images
6)Move the 30 images from folder B back into folder A (folder A now has all 70 images)
7)Try to upload folder A
8)Should fail with the error INVALID_ARGUMENT: Request must have less than 50 items.
9)Remove from folder A the 40 images that successfully uploaded under point 5 (folder A now has 30 images)
10)Try and upload folder A
11)This should be successful - the album on Google photos now has all 70 images

Stock on Loading albums in cloud

Stock on Loading albums in cloud
Changed IP, Not working
Uninstall and install, Not working
sign-out and signing , not working
revoke access and grant it again, not working
Screenshot (3)

Fails the whole upload if a a directory matches pre-existing album that's been created manually by user

2020-03-30 20:17:13,139 ERROR [JavaFX Application Thread] n.y.g.u.UploadPaneControllerImpl Upload failed
java.util.concurrent.CompletionException: java.lang.RuntimeException: java.util.concurrent.CompletionException: com.google.api.gax.rpc.InvalidArgumentException: io.grpc.StatusRuntimeException: INVALID_ARGUMENT: No permission to add media items to this album.
	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314) ~[?:?]
	at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319) ~[?:?]
	at java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:990) ~[?:?]
	at java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:970) ~[?:?]
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) ~[?:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1769) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) ~[?:?]
	at java.lang.Thread.run(Thread.java:832) ~[?:?]
Caused by: java.lang.RuntimeException: java.util.concurrent.CompletionException: com.google.api.gax.rpc.InvalidArgumentException: io.grpc.StatusRuntimeException: INVALID_ARGUMENT: No permission to add media items to this album.
	at net.yudichev.googlephotosupload.core.GooglePhotosUploaderImpl.lambda$uploadFile$3(GooglePhotosUploaderImpl.java:100) ~[main/:?]
	at java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:986) ~[?:?]
	... 6 more
Caused by: java.util.concurrent.CompletionException: com.google.api.gax.rpc.InvalidArgumentException: io.grpc.StatusRuntimeException: INVALID_ARGUMENT: No permission to add media items to this album.
	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314) ~[?:?]
	at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319) ~[?:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1766) ~[?:?]
	... 3 more
Caused by: com.google.api.gax.rpc.InvalidArgumentException: io.grpc.StatusRuntimeException: INVALID_ARGUMENT: No permission to add media items to this album.
	at com.google.api.gax.rpc.ApiExceptionFactory.createException(ApiExceptionFactory.java:49) ~[gax-1.45.0.jar:1.45.0]
	at com.google.api.gax.grpc.GrpcApiExceptionFactory.create(GrpcApiExceptionFactory.java:72) ~[gax-grpc-1.45.0.jar:1.45.0]
	at com.google.api.gax.grpc.GrpcApiExceptionFactory.create(GrpcApiExceptionFactory.java:60) ~[gax-grpc-1.45.0.jar:1.45.0]
	at com.google.api.gax.grpc.GrpcExceptionCallable$ExceptionTransformingFuture.onFailure(GrpcExceptionCallable.java:97) ~[gax-grpc-1.45.0.jar:1.45.0]
	at com.google.api.core.ApiFutures$1.onFailure(ApiFutures.java:68) ~[api-common-1.8.1.jar:?]
	at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1072) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1164) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:958) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:749) ~[guava-28.2-jre.jar:?]
	at io.grpc.stub.ClientCalls$GrpcFuture.setException(ClientCalls.java:515) ~[grpc-stub-1.21.0.jar:1.21.0]
	at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:490) ~[grpc-stub-1.21.0.jar:1.21.0]
	at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39) ~[grpc-api-1.21.0.jar:1.21.0]
	at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23) ~[grpc-api-1.21.0.jar:1.21.0]
	at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40) ~[grpc-api-1.21.0.jar:1.21.0]
	at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:700) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39) ~[grpc-api-1.21.0.jar:1.21.0]
	at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23) ~[grpc-api-1.21.0.jar:1.21.0]
	at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40) ~[grpc-api-1.21.0.jar:1.21.0]
	at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:399) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:500) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:65) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:592) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$700(ClientCallImpl.java:508) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:632) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) ~[grpc-core-1.21.0.jar:1.21.0]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	... 3 more
	Suppressed: com.google.api.gax.rpc.AsyncTaskException: Asynchronous task failed
		at com.google.api.gax.rpc.ApiExceptions.callAndTranslateApiException(ApiExceptions.java:57) ~[gax-1.45.0.jar:1.45.0]
		at com.google.api.gax.rpc.UnaryCallable.call(UnaryCallable.java:112) ~[gax-1.45.0.jar:1.45.0]
		at com.google.photos.library.v1.internal.InternalPhotosLibraryClient.batchCreateMediaItems(InternalPhotosLibraryClient.java:353) ~[google-photos-library-client-1.4.0.jar:1.4.0]
		at com.google.photos.library.v1.PhotosLibraryClient.batchCreateMediaItems(PhotosLibraryClient.java:176) ~[google-photos-library-client-1.4.0.jar:1.4.0]
		at net.yudichev.jiotty.connector.google.photos.GooglePhotosClientImpl.lambda$null$2(GooglePhotosClientImpl.java:81) ~[jiotty-connector-google-photos-1.4.0.jar:?]
		at java.util.Optional.map(Optional.java:258) ~[?:?]
		at net.yudichev.jiotty.connector.google.photos.GooglePhotosClientImpl.lambda$null$4(GooglePhotosClientImpl.java:81) ~[jiotty-connector-google-photos-1.4.0.jar:?]
		at net.yudichev.jiotty.common.inject.BaseLifecycleComponent.lambda$whenStartedAndNotLifecycling$5(BaseLifecycleComponent.java:60) ~[jiotty-common-1.4.0.jar:?]
		at net.yudichev.jiotty.common.lang.Locks.inLock(Locks.java:22) ~[jiotty-common-1.4.0.jar:?]
		at net.yudichev.jiotty.common.inject.BaseLifecycleComponent.whenNotLifecycling(BaseLifecycleComponent.java:54) ~[jiotty-common-1.4.0.jar:?]
		at net.yudichev.jiotty.common.inject.BaseLifecycleComponent.whenStartedAndNotLifecycling(BaseLifecycleComponent.java:58) ~[jiotty-common-1.4.0.jar:?]
		at net.yudichev.jiotty.connector.google.photos.GooglePhotosClientImpl.lambda$uploadMediaItem$5(GooglePhotosClientImpl.java:58) ~[jiotty-connector-google-photos-1.4.0.jar:?]
		at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1764) ~[?:?]
		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) ~[?:?]
		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) ~[?:?]
		at java.lang.Thread.run(Thread.java:832) ~[?:?]
Caused by: io.grpc.StatusRuntimeException: INVALID_ARGUMENT: No permission to add media items to this album.
	at io.grpc.Status.asRuntimeException(Status.java:533) ~[grpc-api-1.21.0.jar:1.21.0]
	at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:490) ~[grpc-stub-1.21.0.jar:1.21.0]
	at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39) ~[grpc-api-1.21.0.jar:1.21.0]
	at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23) ~[grpc-api-1.21.0.jar:1.21.0]
	at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40) ~[grpc-api-1.21.0.jar:1.21.0]
	at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:700) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39) ~[grpc-api-1.21.0.jar:1.21.0]
	at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23) ~[grpc-api-1.21.0.jar:1.21.0]
	at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40) ~[grpc-api-1.21.0.jar:1.21.0]
	at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:399) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:500) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:65) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.close(ClientCallImpl.java:592) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl.access$700(ClientCallImpl.java:508) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:632) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37) ~[grpc-core-1.21.0.jar:1.21.0]
	at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123) ~[grpc-core-1.21.0.jar:1.21.0]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	... 3 more

Improve progress bars

  1. "Uploading media files" can now display precise percentage
  2. "Processing folders" is not needed anymore

Uploading a zero-length NEF file results in "com.google.api.gax.rpc.ApiException: java.lang.IllegalArgumentException: The upload was completed but failed to finalize or get the result"

2020-03-28 12:11:53,104 ERROR [JavaFX Application Thread] n.y.g.u.UploadPaneControllerImpl Upload failed
java.util.concurrent.CompletionException: java.lang.RuntimeException: java.util.concurrent.CompletionException: java.lang.RuntimeException: Failed uploading /Volumes/Public/pic-do-not-upload-to-goggle-photos/UK/out-duplicate-with-src/2008-08-26-SmilingForFlera/DSC_4791.NEF
	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314) ~[?:?]
	at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319) ~[?:?]
	at java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:990) ~[?:?]
	at java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:970) ~[?:?]
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) ~[?:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1776) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
	at java.lang.Thread.run(Thread.java:830) ~[?:?]
Caused by: java.lang.RuntimeException: java.util.concurrent.CompletionException: java.lang.RuntimeException: Failed uploading /Volumes/Public/pic-do-not-upload-to-goggle-photos/UK/out-duplicate-with-src/2008-08-26-SmilingForFlera/DSC_4791.NEF
	at net.yudichev.googlephotosupload.core.GooglePhotosUploaderImpl.lambda$uploadFile$3(GooglePhotosUploaderImpl.java:101) ~[main/:?]
	at java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:986) ~[?:?]
	... 6 more
Caused by: java.util.concurrent.CompletionException: java.lang.RuntimeException: Failed uploading /Volumes/Public/pic-do-not-upload-to-goggle-photos/UK/out-duplicate-with-src/2008-08-26-SmilingForFlera/DSC_4791.NEF
	at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314) ~[?:?]
	at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319) ~[?:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773) ~[?:?]
	... 3 more
Caused by: java.lang.RuntimeException: Failed uploading /Volumes/Public/pic-do-not-upload-to-goggle-photos/UK/out-duplicate-with-src/2008-08-26-SmilingForFlera/DSC_4791.NEF
	at net.yudichev.jiotty.connector.google.photos.GooglePhotosClientImpl.lambda$null$1(GooglePhotosClientImpl.java:71) ~[jiotty-connector-google-photos-1.4.1.jar:?]
	at java.util.Optional.ifPresent(Optional.java:176) ~[?:?]
	at net.yudichev.jiotty.connector.google.photos.GooglePhotosClientImpl.lambda$null$4(GooglePhotosClientImpl.java:71) ~[jiotty-connector-google-photos-1.4.1.jar:?]
	at net.yudichev.jiotty.common.inject.BaseLifecycleComponent.lambda$whenStartedAndNotLifecycling$5(BaseLifecycleComponent.java:60) ~[jiotty-common-1.4.1.jar:?]
	at net.yudichev.jiotty.common.lang.Locks.inLock(Locks.java:22) ~[jiotty-common-1.4.1.jar:?]
	at net.yudichev.jiotty.common.inject.BaseLifecycleComponent.whenNotLifecycling(BaseLifecycleComponent.java:54) ~[jiotty-common-1.4.1.jar:?]
	at net.yudichev.jiotty.common.inject.BaseLifecycleComponent.whenStartedAndNotLifecycling(BaseLifecycleComponent.java:58) ~[jiotty-common-1.4.1.jar:?]
	at net.yudichev.jiotty.connector.google.photos.GooglePhotosClientImpl.lambda$uploadMediaItem$5(GooglePhotosClientImpl.java:58) ~[jiotty-connector-google-photos-1.4.1.jar:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1771) ~[?:?]
	... 3 more
Caused by: com.google.api.gax.rpc.ApiException: java.lang.IllegalArgumentException: The upload was completed but failed to finalize or get the result.
	at com.google.photos.library.v1.upload.PhotosLibraryUploadExceptionMappingFn.apply(PhotosLibraryUploadExceptionMappingFn.java:48) ~[google-photos-library-client-1.4.0.jar:1.4.0]
	at com.google.photos.library.v1.upload.PhotosLibraryUploadExceptionMappingFn.apply(PhotosLibraryUploadExceptionMappingFn.java:29) ~[google-photos-library-client-1.4.0.jar:1.4.0]
	at com.google.api.core.ApiFutures$GaxFunctionToGuavaFunction.apply(ApiFutures.java:204) ~[api-common-1.8.1.jar:?]
	at com.google.common.util.concurrent.AbstractCatchingFuture$CatchingFuture.doFallback(AbstractCatchingFuture.java:223) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.AbstractCatchingFuture$CatchingFuture.doFallback(AbstractCatchingFuture.java:211) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.AbstractCatchingFuture.run(AbstractCatchingFuture.java:124) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:141) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:130) ~[guava-28.2-jre.jar:?]
	at com.google.common.util.concurrent.ListenableFutureTask.done(ListenableFutureTask.java:86) ~[guava-28.2-jre.jar:?]
	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:381) ~[?:?]
	at java.util.concurrent.FutureTask.setException(FutureTask.java:250) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:269) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	... 3 more
Caused by: java.lang.IllegalArgumentException: The upload was completed but failed to finalize or get the result.
	at com.google.photos.library.v1.upload.PhotosLibraryUploadCallable.buildUploadMediaItemResponse(PhotosLibraryUploadCallable.java:303) ~[google-photos-library-client-1.4.0.jar:1.4.0]
	at com.google.photos.library.v1.upload.PhotosLibraryUploadCallable.call(PhotosLibraryUploadCallable.java:183) ~[google-photos-library-client-1.4.0.jar:1.4.0]
	at com.google.photos.library.v1.upload.PhotosLibraryUploadCallable.call(PhotosLibraryUploadCallable.java:45) ~[google-photos-library-client-1.4.0.jar:1.4.0]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	... 3 more

Failed to launch JVM

Hello,

Whenver I try to start the windows 10 app (I am on windows 10) it shows me an failed to launch JVM error:
failed to launch jvm
main.log

Linux version may crash on startup on machines with NVidia GPU

Logs and crash dump:
main.log
hs_err_pid11798.log

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f8e7987ce78, pid=11798, tid=11820
#
# JRE version: OpenJDK Runtime Environment (13.0.2+8) (build 13.0.2+8)
# Java VM: OpenJDK 64-Bit Server VM (13.0.2+8, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C  [libnvidia-glcore.so.435.21+0x9ede78]

Linux version may display empty window on startup

The following in printed to the console and the Log in to Google window is empty.

Framebuffer object format is unsupported by the video hardware. (GL_FRAMEBUFFER_UNSUPPORTED)(FBO - 820)
Error creating framebuffer object with TexID 6)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.