zorgluf / souvenirs-android

Android app for souvenirs albums
GNU General Public License v3.0
10 stars 5 forks source link

Integrated debugger? Better diagnostics? #19

Closed ckuethe closed 5 months ago

ckuethe commented 1 year ago

Screenshot_20221008-231908

I've seen a couple of other issues where you've asked folks for logcat;I'm away from my computer so I can't grab logs but I got this error while trying to create a Souvenir. Would it be possible to add some detailed logging that works without logcat? Tell me if there's an app/api version mismatch? File conflicts? Etc.

I'm pretty sure there's nothing wrong with my next server since I'm using the the regular nextcloud app to view my uploaded photos right now...

Thanks

zorgluf commented 1 year ago

Thanks for the report. Which version of Souvenir app on nextcloud server do you run ? Any errors from the nextcloud logs ? A tool to upload logs would be nice, but the ones I know are not really free and/or not welcomed by fdroid store. But I will try to look for something.

ckuethe commented 1 year ago

Server: Nextcloud 24.0.6 Souvenirs Plugin: 1.7.0 Mobile: Android 13 App: 2.8.1 (Fdroid)

I don't see anything in the nextcloud server logs related to souvenirs and it's not entirely clear what to grep for in my logcat output.

ckuethe commented 1 year ago

Here's what I've extracted from my phone...

10-08 18:36:37.930 20320 20320 E AndroidRuntime: FATAL EXCEPTION: main
10-08 18:36:37.930 20320 20320 E AndroidRuntime: Process: fr.nuage.souvenirs, PID: 20320
10-08 18:36:37.930 20320 20320 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at fr.nuage.souvenirs.viewmodel.PageDiffUtilCallback.getOldListSize(PageDiffUtilCallback.java:19)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.recyclerview.widget.DiffUtil.calculateDiff(DiffUtil.java:123)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.recyclerview.widget.DiffUtil.calculateDiff(DiffUtil.java:105)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at fr.nuage.souvenirs.view.PageEditAdapter.setPages(PageEditAdapter.java:54)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at fr.nuage.souvenirs.view.EditPageFragment.lambda$onCreateView$4$fr-nuage-souvenirs-view-EditPageFragment(EditPageFragment.java:152)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at fr.nuage.souvenirs.view.EditPageFragment$$ExternalSyntheticLambda4.onChanged(Unknown Source:4)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LiveData.setValue(LiveData.java:309)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.Transformations$1.onChanged(Transformations.java:76)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.MediatorLiveData$Source.onChanged(MediatorLiveData.java:152)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:146)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged(LiveData.java:468)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LiveData.observeForever(LiveData.java:234)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.MediatorLiveData$Source.plug(MediatorLiveData.java:141)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.MediatorLiveData.onActive(MediatorLiveData.java:118)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LiveData.changeActiveCounter(LiveData.java:390)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged(LiveData.java:466)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LiveData$LifecycleBoundObserver.onStateChanged(LiveData.java:425)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:354)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.java:265)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.java:307)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.java:148)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.java:134)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.fragment.app.FragmentViewLifecycleOwner.handleLifecycleEvent(FragmentViewLifecycleOwner.java:88)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.fragment.app.Fragment.performStart(Fragment.java:3060)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.fragment.app.FragmentStateManager.start(FragmentStateManager.java:587)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:279)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1840)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1764)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1701)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at androidx.fragment.app.FragmentManager$4.run(FragmentManager.java:488)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at android.os.Handler.handleCallback(Handler.java:942)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:99)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at android.os.Looper.loopOnce(Looper.java:201)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:288)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:7898)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
10-08 18:36:37.930 20320 20320 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
10-08 18:37:05.503 20469 20469 E AndroidRuntime: FATAL EXCEPTION: main
10-08 18:37:05.503 20469 20469 E AndroidRuntime: Process: fr.nuage.souvenirs, PID: 20469
10-08 18:37:05.503 20469 20469 E AndroidRuntime: java.lang.IllegalArgumentException: Invalid target position
10-08 18:37:05.503 20469 20469 E AndroidRuntime:    at androidx.recyclerview.widget.RecyclerView$SmoothScroller.start(RecyclerView.java:11807)
10-08 18:37:05.503 20469 20469 E AndroidRuntime:    at androidx.recyclerview.widget.RecyclerView$LayoutManager.startSmoothScroll(RecyclerView.java:8470)
10-08 18:37:05.503 20469 20469 E AndroidRuntime:    at fr.nuage.souvenirs.view.helpers.CenterLayoutManager.smoothScrollToPosition(CenterLayoutManager.java:28)
10-08 18:37:05.503 20469 20469 E AndroidRuntime:    at androidx.recyclerview.widget.RecyclerView.smoothScrollToPosition(RecyclerView.java:1790)
10-08 18:37:05.503 20469 20469 E AndroidRuntime:    at fr.nuage.souvenirs.view.EditPageFragment.lambda$onCreateView$11$fr-nuage-souvenirs-view-EditPageFragment(EditPageFragment.java:240)
10-08 18:37:05.503 20469 20469 E AndroidRuntime:    at fr.nuage.souvenirs.view.EditPageFragment$$ExternalSyntheticLambda13.run(Unknown Source:6)
10-08 18:37:05.503 20469 20469 E AndroidRuntime:    at android.os.Handler.handleCallback(Handler.java:942)
10-08 18:37:05.503 20469 20469 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:99)
10-08 18:37:05.503 20469 20469 E AndroidRuntime:    at android.os.Looper.loopOnce(Looper.java:201)
10-08 18:37:05.503 20469 20469 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:288)
10-08 18:37:05.503 20469 20469 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:7898)
10-08 18:37:05.503 20469 20469 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
10-08 18:37:05.503 20469 20469 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
10-08 18:37:05.503 20469 20469 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
10-08 23:05:20.152 20698 20698 E AndroidRuntime: FATAL EXCEPTION: main
10-08 23:05:20.152 20698 20698 E AndroidRuntime: Process: fr.nuage.souvenirs, PID: 20698
10-08 23:05:20.152 20698 20698 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'long java.util.Date.getTime()' on a null object reference
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at java.util.Calendar.setTime(Calendar.java:1749)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at java.text.SimpleDateFormat.format(SimpleDateFormat.java:1090)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at java.text.SimpleDateFormat.format(SimpleDateFormat.java:1083)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at java.text.DateFormat.format(DateFormat.java:368)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at fr.nuage.souvenirs.viewmodel.AlbumViewModel$1.lambda$run$1$fr-nuage-souvenirs-viewmodel-AlbumViewModel$1(AlbumViewModel.java:141)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at fr.nuage.souvenirs.viewmodel.AlbumViewModel$1$$ExternalSyntheticLambda3.onChanged(Unknown Source:4)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at androidx.lifecycle.MediatorLiveData$Source.onChanged(MediatorLiveData.java:152)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at androidx.lifecycle.LiveData.setValue(LiveData.java:309)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at androidx.lifecycle.LiveData$1.run(LiveData.java:93)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at android.os.Handler.handleCallback(Handler.java:942)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:99)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at android.os.Looper.loopOnce(Looper.java:201)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:288)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:7898)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
10-08 23:05:20.152 20698 20698 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
10-08 23:08:09.016   973   973 E AndroidRuntime: FATAL EXCEPTION: main
10-08 23:08:09.016   973   973 E AndroidRuntime: Process: fr.nuage.souvenirs, PID: 973
10-08 23:08:09.016   973   973 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
10-08 23:08:09.016   973   973 E AndroidRuntime:    at fr.nuage.souvenirs.model.ImageElement.deleteImageFile(ImageElement.java:253)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at fr.nuage.souvenirs.model.ImageElement.clear(ImageElement.java:263)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at fr.nuage.souvenirs.model.ImageElement.delete(ImageElement.java:268)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at fr.nuage.souvenirs.viewmodel.ElementViewModel.delete(ElementViewModel.java:70)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at fr.nuage.souvenirs.view.ImageActionModeCallback.onActionItemClicked(ImageActionModeCallback.java:53)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at com.android.internal.policy.DecorView$ActionModeCallback2Wrapper.onActionItemClicked(DecorView.java:2737)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at androidx.appcompat.view.SupportActionModeWrapper$CallbackWrapper.onActionItemClicked(SupportActionModeWrapper.java:172)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at androidx.appcompat.app.AppCompatDelegateImpl$ActionModeCallbackWrapperV9.onActionItemClicked(AppCompatDelegateImpl.java:2709)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at androidx.appcompat.view.StandaloneActionMode.onMenuItemSelected(StandaloneActionMode.java:140)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:834)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:985)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:975)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at androidx.appcompat.widget.ActionMenuView.invokeItem(ActionMenuView.java:625)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at androidx.appcompat.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:151)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at android.view.View.performClick(View.java:7506)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at android.view.View.performClickInternal(View.java:7483)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at android.view.View$PerformClick.run(View.java:29335)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at android.os.Handler.handleCallback(Handler.java:942)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:99)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at android.os.Looper.loopOnce(Looper.java:201)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:288)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:7898)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
10-08 23:08:09.016   973   973 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
10-08 23:10:29.477  1982  1982 E AndroidRuntime: FATAL EXCEPTION: main
10-08 23:10:29.477  1982  1982 E AndroidRuntime: Process: fr.nuage.souvenirs, PID: 1982
10-08 23:10:29.477  1982  1982 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'long java.util.Date.getTime()' on a null object reference
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at java.util.Calendar.setTime(Calendar.java:1749)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at java.text.SimpleDateFormat.format(SimpleDateFormat.java:1090)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at java.text.SimpleDateFormat.format(SimpleDateFormat.java:1083)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at java.text.DateFormat.format(DateFormat.java:368)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at fr.nuage.souvenirs.viewmodel.AlbumViewModel$1.lambda$run$1$fr-nuage-souvenirs-viewmodel-AlbumViewModel$1(AlbumViewModel.java:141)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at fr.nuage.souvenirs.viewmodel.AlbumViewModel$1$$ExternalSyntheticLambda3.onChanged(Unknown Source:4)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at androidx.lifecycle.MediatorLiveData$Source.onChanged(MediatorLiveData.java:152)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at androidx.lifecycle.LiveData.setValue(LiveData.java:309)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at androidx.lifecycle.LiveData$1.run(LiveData.java:93)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at android.os.Handler.handleCallback(Handler.java:942)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:99)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at android.os.Looper.loopOnce(Looper.java:201)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:288)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:7898)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
10-08 23:10:29.477  1982  1982 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
10-09 20:39:34.597 26077 26077 E nuage.souvenirs: Not starting debugger since process cannot load the jdwp agent.
10-09 20:39:34.608 26077 26077 D CompatibilityChangeReporter: Compat change id reported: 171979766; UID 10455; state: DISABLED
10-09 20:39:34.633 26077 26077 V GraphicsEnvironment: ANGLE Developer option for 'fr.nuage.souvenirs' set to: 'default'
10-09 20:39:34.633 26077 26077 V GraphicsEnvironment: ANGLE GameManagerService for fr.nuage.souvenirs: false
10-09 20:39:34.633 26077 26077 V GraphicsEnvironment: Neither updatable production driver nor prerelease driver is supported.
10-09 20:39:34.634 26077 26077 D NetworkSecurityConfig: No Network Security Config specified, using platform default
10-09 20:39:34.634 26077 26077 D NetworkSecurityConfig: No Network Security Config specified, using platform default
10-09 20:39:34.652 26077 26077 D class fr.nuage.souvenirs.model.Album: Load Album /storage/emulated/0/Android/data/fr.nuage.souvenirs/files/albums/20211011152715
10-09 20:39:34.665 26077 26077 D class fr.nuage.souvenirs.model.Album: Load Album /storage/emulated/0/Android/data/fr.nuage.souvenirs/files/albums/20220117211255
10-09 20:39:34.666 26077 26077 D class fr.nuage.souvenirs.model.Album: Load Album /storage/emulated/0/Android/data/fr.nuage.souvenirs/files/albums/20221008183635
10-09 20:39:34.688 26077 26077 D CompatibilityChangeReporter: Compat change id reported: 210923482; UID 10455; state: DISABLED
10-09 20:39:34.688 26077 26077 D CompatibilityChangeReporter: Compat change id reported: 37756858; UID 10455; state: ENABLED
10-09 20:39:34.706 26077 26116 D com.nextcloud.android.sso.api.NextcloudRetrofitServiceMethod: NextcloudRetrofitServiceMethod() called with: apiEndpoint = [/index.php/apps/souvenirs/apiv2/], method = [public abstract retrofit2.Call fr.nuage.souvenirs.model.nc.NCAPI.getAlbums(int)]
10-09 20:39:34.706 26077 26116 D com.nextcloud.android.sso.api.NextcloudAPI: performRequestV2() called with: type = [java.util.List<java.lang.String>], request = [NextcloudRequest(method=GET, header={}, parameter={page=1}, requestBody=null, url=/index.php/apps/souvenirs/apiv2/album, token=null, packageName=null, accountName=null, bodyAsStream=null, followRedirects=false, parameterV2=[com.nextcloud.android.sso.QueryParam@d5ee79c])]
10-09 20:39:34.706 26077 26116 V com.nextcloud.android.sso.api.AidlNetworkRequest: [waitForApi] - api not ready yet.. waiting [Thread-3]
10-09 20:39:34.751 26077 26077 D com.nextcloud.android.sso.api.NetworkRequest: [connectApiWithBackoff] trying to connect..
10-09 20:39:34.751 26077 26077 D com.nextcloud.android.sso.api.AidlNetworkRequest: [connect] Binding to AccountManagerService for type [nextcloud]
10-09 20:39:34.751 26077 26077 D com.nextcloud.android.sso.api.NetworkRequest: [connect] connect() called [main] Account-Type: [nextcloud]
10-09 20:39:34.751 26077 26077 D com.nextcloud.android.sso.api.AidlNetworkRequest: [connect] Component name is: [com.nextcloud.client]
10-09 20:39:34.757 26077 26077 D com.nextcloud.android.sso.api.AidlNetworkRequest: [connect] Bound to AccountManagerService successfully
10-09 20:39:34.762 26077 26077 D com.nextcloud.android.sso.api.AidlNetworkRequest: [onServiceConnected] called from Thread: [main] with IBinder [ComponentInfo{com.nextcloud.client/com.owncloud.android.services.AccountManagerService}]: android.os.BinderProxy@13a51aa
10-09 20:39:34.774 26077 26077 W Glide   : Failed to find GeneratedAppGlideModule. You should include an annotationProcessor compile dependency on com.github.bumptech.glide:compiler in your application and a @GlideModule annotated AppGlideModule implementation or LibraryGlideModules will be silently ignored
10-09 20:39:34.793 26077 26116 I fr.nuage.souvenirs.model.nc.AlbumsNC$1: Error on fetching nextcloud album list.
10-09 20:39:34.793 26077 26116 I fr.nuage.souvenirs.model.nc.AlbumsNC$1: java.lang.Exception: Network error.
10-09 20:39:34.793 26077 26116 I fr.nuage.souvenirs.model.nc.AlbumsNC$1:    at fr.nuage.souvenirs.model.nc.AlbumsNC$1.run(AlbumsNC.java:54)
10-09 20:39:34.793 26077 26116 I fr.nuage.souvenirs.model.nc.AlbumsNC$1:    at java.lang.Thread.run(Thread.java:1012)
10-09 20:39:36.444 26077 26077 D CompatibilityChangeReporter: Compat change id reported: 147798919; UID 10455; state: ENABLED
10-09 20:39:36.456 26077 26137 I fr.nuage.souvenirs.viewmodel.SyncToNextcloudAsyncTask: Sync "Red Panda Trek"
10-09 20:39:36.457 26077 26139 D SYNC    : Create Nextcloud album
10-09 20:39:36.458 26077 26139 D com.nextcloud.android.sso.api.NextcloudRetrofitServiceMethod: NextcloudRetrofitServiceMethod() called with: apiEndpoint = [/index.php/apps/souvenirs/apiv2/], method = [public abstract retrofit2.Call fr.nuage.souvenirs.model.nc.NCAPI.createAlbum(java.lang.String)]
10-09 20:39:36.458 26077 26139 D com.nextcloud.android.sso.api.NextcloudAPI: performRequestV2() called with: type = [class fr.nuage.souvenirs.model.nc.APIProvider$AlbumResp], request = [NextcloudRequest(method=PUT, header={}, parameter={}, requestBody=null, url=/index.php/apps/souvenirs/apiv2/album/35c6bda9-5712-411c-b82e-78ac3eb72b28, token=null, packageName=null, accountName=null, bodyAsStream=null, followRedirects=false, parameterV2=[])]
10-09 20:39:36.469 26077 26077 D SYNC    : Error with Nextcloud communications.
10-09 20:41:42.874 26077 26077 W RemoteInputConnectionImpl: getExtractedText on inactive InputConnection
10-09 20:41:42.875 26077 26077 W RemoteInputConnectionImpl: getTextBeforeCursor on inactive InputConnection
10-09 20:58:04.568 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.570 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.571 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.571 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.572 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.572 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.573 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.573 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.574 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.574 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.575 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.575 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.576 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.576 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.577 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.577 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.578 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.578 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.579 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.579 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.580 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.580 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.581 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.581 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.582 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.585 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.586 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.586 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.587 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.587 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.588 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.588 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.589 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.589 26077 26077 W DataBinding: Setting the fragment as the LifecycleOwner might cause memory leaks because views lives shorter than the Fragment. Consider using Fragment's view lifecycle
10-09 20:58:04.590 26077 26077 D fr.nuage.souvenirs.view.helpers.AudioPlayer: Page scroll : 0/0
10-09 20:58:05.822 26077 26077 E MediaPlayerNative: stop called in state 1, mPlayer(0x0)
10-09 20:58:05.822 26077 26077 E MediaPlayerNative: error (-38, 0)
10-09 20:58:05.824 26077 26077 V MediaPlayer: resetDrmState:  mDrmInfo=null mDrmProvisioningThread=null mPrepareDrmInProgress=false mActiveDrmScheme=false
10-09 20:58:05.824 26077 26077 V MediaPlayer: cleanDrmObj: mDrmObj=null mDrmSessionId=null
10-09 20:58:05.852 26077 26077 W MediaPlayer: mediaplayer went away with unhandled events
10-09 21:13:29.376 26077 26139 D SYNC    : Create Nextcloud album
10-09 21:13:29.383 26077 26139 D com.nextcloud.android.sso.api.NextcloudAPI: performRequestV2() called with: type = [class fr.nuage.souvenirs.model.nc.APIProvider$AlbumResp], request = [NextcloudRequest(method=PUT, header={}, parameter={}, requestBody=null, url=/index.php/apps/souvenirs/apiv2/album/35c6bda9-5712-411c-b82e-78ac3eb72b28, token=null, packageName=null, accountName=null, bodyAsStream=null, followRedirects=false, parameterV2=[])]
10-09 21:13:29.428 26077 26077 D SYNC    : Error with Nextcloud communications.
zorgluf commented 1 year ago

Thanks for the log. At first sight, it doesn't look like a network problem, maybe some data corruptions on Nextcloud side and album.json file. At the root of the user's files, is there a "Souvenirs" forder ? If yes, are there any subfolder in it ? There should be one folder by album. Maybe on of them has a corrupted album.json file. (which is, my bad, not very well checked for the moment, need some improvement on this side).

ckuethe commented 1 year ago

There was a Souvenirs folder, but I just tried a few things.

zorgluf commented 1 year ago

The Souvenirs folder should have been created the folder on first sync, it's the first task on server side. So I suspect the request never arrived on the server. But the logs shows that the Nextcloud SSO with the nextcloud file app (working on your phone) was ok ("AidlNetworkRequest: [connect] Bound to AccountManagerService successfully"). The API entrypoint used by the app is "/index.php/apps/souvenirs/apiv2/". Have you any filter on this kind of url ? Any special network configuration ? Self signed certificate ? Any way to log http traffic between your device and the server, like apache logs or nginx ? Sorry for the numerous and opened questions, but I am really lost on this...