stefan-niedermann / nextcloud-deck

📋 Android client for nextcloud deck app
https://play.google.com/store/apps/details?id=it.niedermann.nextcloud.deck.play
GNU General Public License v3.0
490 stars 53 forks source link

Cannot create new board #1307

Open mmbannert opened 2 years ago

mmbannert commented 2 years ago

Hi,

I am experiencing problems with the Deck app. Disabling ETags had no effect on the App's behavior.

NB: Moving cards from to-do to doing to done works fine within the app and the web interface. These changes are synced successfully between server and app. However, I noticed that I also cannot add cards within the app. Cards that have been added through the web interface on the server, however, are synced successfully to the app.

Describe the bug I cannot create a new board in the Deck app.

Steps to reproduce the behavior:

  1. Open the menu by hitting the three horizontal lines in the top left corner
  2. Click on 'add board'
  3. Choose board title and color
  4. Hit 'add'

Expected behavior A new board with the chosen title and color should appear under the default "Personal" board.

Actual behavior View returns to the same view from when you open the app. "Syncing failed" message appears at the bottom.

Screenshots NA

Versions

Smartphone (please complete the following information):

Stacktrace App Version: 1.20.1 App Version Code: 1020001 Server App Version: 1.7.1 App Flavor: fdroid

Files App Version Code: 30200390
OS Version: 3.18.60-SHIFT-00424-g59b94fe2e0ec(1651833116)
OS API Level: 26
Device: SHIFT6m
Manufacturer: SHIFT
Model (and Product): SHIFT6m (SHIFT6m_EEA)
java.lang.IllegalStateException: Owner is null. This can be the case if the Deck app has never before been opened in the webinterface
at it.niedermann.nextcloud.deck.persistence.sync.SyncManager.lambda$createBoard$8$it-niedermann-nextcloud-deck-persistence-sync-SyncManager(SyncManager.java:551)
at it.niedermann.nextcloud.deck.persistence.sync.SyncManager$$ExternalSyntheticLambda13.run(Unknown Source:8)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
desperateCoder commented 2 years ago

Hi @mmbannert, sorry for the delay! I looked into the code and found the line causing this thanks to your provided stacktrace. Honestly, as i wrote these lines, i was like "ain't gonna happen anyway, but safe is safe.". So, you managed to get this, congratulations! :sweat_smile:

From what I see, your initial account synchronization is kind of messed up (no idea why to be honest). Can you please try deleting the app data in the Android app settings? Then the app would re-sync everything and hopefully the issue will be resolved. CAUTION: any unsynchronized change will be lost! So if you can't do that, just give some feedback, we'll then see if we can help out in another way.

Please tell us how it worked out for you, and sorry for the inconveniences!

mmbannert commented 2 years ago

Hi, thanks for the reply!

What should I expect the app data folder to be called? There is a "com.nextcloud.client" folder in Android/data. I deleted that one but it did not solve the problem. I am also fairly certain that this has nothing to do with the Deck app because the folder does not get created upon running Deck again - it only shows up as soon as I run the regular, generic Nextcloud app.

(So, perhaps the problem is caused by Deck not being able to write any data to my phone?)

desperateCoder commented 2 years ago

Uhm... I'm quite confused.

  1. The folder you deleted belongs to the main nextcloud files app.
  2. You shouldn't delete any app folder, you should delete app data via settings.

After your action I'd recommend to check if your main nextcloud app still works. Maybe you deleted something that makes it stop working, but i guess it will still be working and only local files are gone and will be downloaded again as soon as you access them.

Then, go to android settings, Apps, search for deck and tap on it. Depending on your device you should see an option called 'delete app data' or something similar. Sometimes it is hidden in a sub menu called "storage" or similar. As soon as the app data is deleted, when you start Deck, it will ask you to choose your nextcloud account. After that it will synchroize for a while and everything should fall in place.

Just to make sure: you don't need to delete any folder in terms of files on your storage. It's the androids internal app data, which you can get rid of via settings.

mmbannert commented 2 years ago

Thanks for clarifying. I think I know what you mean. Don't worry - no harm done! :) It's my responsibility after all.

Unfortunately, that still didn't solve my problem. I am getting the same error message. (Except that I actual have the older Shift5me, not the Shift6m, as stated in that message.)

It seems a bit odd that the syncing problem seems to exist only for one direction: creating boards, adding lists and cards in Nextcloud via the browser works fine and all those changes are correctly synced with my phone. On the other hand, though, I am able to delete cards within the app and those changes are then also synced with the Nextcloud server. Isn't it odd... :thinking: