chvp / NanoLedger

Ledger (plain text accounting) data entry app for Android
MIT License
50 stars 4 forks source link

Save button transparently hangs #71

Closed alerque closed 8 months ago

alerque commented 9 months ago

I just gave NanoLedger v0.8.0 a spin and ran into a fairly confusing UX issue.

When entering a new transaction the "save" button (check box in floating action button bar) would frequently be non-functional.

First a minor detail: the "greyed out" non-active color scheme was not apparent, so even before there was a valid balanced transaction I was confused why it didn't work.

But then after it did activate, pressing it frequently got no response. My first transaction worked fine, but the second one took me a whole bunch of tries and I couldn't figure out why. I still didn't understand the active/non active color scheme, so I thought something was wrong with my transaction and kept fiddling with it.

Eventually it went through with no apparent reason why.

During later attempts a couple times I saw a toast message a few seconds after hitting the non-responsive button a few times about "unable to write file". No details just a brief toast that disappears. Eventually the save works if I press it enough times. I think the save must be hanging while the file backed (Nextcloud in my case) resolves and confirms a file sync.

It might be good that this is a blocker, but there should be some sort of feedback in the UI that a save attempt is underway at the very least and maybe something more prominent than an ephemeral toast when it fails.

chvp commented 9 months ago

Transforming the button into a spinner is probably a good idea. Nextcloud can be somewhat unreliable for saving a file if it was recently edited. I could probably make the toast a snackbar with a button that shows more details, but I don't think there is much more I can do about that.