Anki-Android icon indicating copy to clipboard operation
Anki-Android copied to clipboard

Media sync screen in new schema needs improving

Open dae opened this issue 3 years ago • 12 comments

There are a few issues with the current implementation:

  • When the user taps on "background", there's no way to see that the sync is continuing, or to bring it back to the foreground. If the sync button checked if media was currently syncing, then it could bring the screen back. Maybe the icon could be animated, or have some other badge shown when syncing?
  • "background" is hard-coded in English currently

dae avatar Sep 21 '22 03:09 dae

I believe that a progress notification would be good here

BrayanDSO avatar Sep 21 '22 08:09 BrayanDSO

Yeah I think it has to be a foreground-service connected to a progress notification or Android reserves the right to kill it at all times

mikehardy avatar Sep 21 '22 12:09 mikehardy

In my case, the screen doesn't tell me that it is doing anything and then closes abruptly. I don't know if this is the case with everyone or not. But if it is so, it seriously needs to be updated because it gives the user the impression that the app has hanged. For me, on each sync, the screen appears like the following: Screenshot_20220921-183753

user1823 avatar Sep 21 '22 13:09 user1823

Yes. This is a known issue, and it's fine to log it here, but it is not news exactly. This will be one of the most involved parts of the migration to the new schema and will likely stay like this for a while, though it is not optimal, no.

I see the exact same behavior. It's the main sync happening (great), then the media sync starts (great), but the media sync has no progress (not great), if you background it there is no way to re-foreground it (not great), and that's that

mikehardy avatar Sep 21 '22 14:09 mikehardy

Hi~ Any suggestions on how I could open the Media sync screen or enable new schema? I looked around for a couple of minutes and had no idea. Does new schema always refer to new backend? image

JalinWang avatar Sep 30 '22 08:09 JalinWang

Does new schema always refer to new backend?

Indirectly, yes. The new backend enables the new Anki SQL schema, although it may not be appropriate to interchange the terms sometimes

BrayanDSO avatar Sep 30 '22 10:09 BrayanDSO

Hello 👋, this issue has been opened for more than 2 months with no activity on it. If the issue is still here, please keep in mind that we need community support and help to fix it! Just comment something like still searching for solutions and if you found one, please open a pull request! You have 7 days until this gets closed automatically

github-actions[bot] avatar Nov 29 '22 11:11 github-actions[bot]

Still searching for solutions...

user1823 avatar Nov 29 '22 13:11 user1823

Yeah this one is not going to go away without work and we cannot ignore it forever. Maybe not going to make it before 2.16 (likely not) but needs a pin

mikehardy avatar Nov 29 '22 16:11 mikehardy

Noting: I'd started working on this and actually have it working with a foreground service with notification. There were some TODOs and I can't work on this for the time being.

If anyone wants the code I did to get some jumpstart, ping me

BrayanDSO avatar Aug 25 '23 21:08 BrayanDSO

Media syncing is going to receive some refactoring in the not-too-distant future, so it might be worth holding off on any changes here until that's done.

dae avatar Sep 01 '23 06:09 dae

A minor suggestion:

The processes for both main sync and media sync are prone to interruption.

During the main sync process, any click outside the sync dialog will interrupt the sync process, as illustrated in the figure below:

Screenshot_20240222_061506_com.ichi2.anki.jpg

Screenshot_20240222_061510_com.ichi2.anki_edit_690738836641093.jpg

In the media sync process, clicking outside the sync dialog will close the dialog. There is no indication whether the sync has been moved to the background or has been interrupted. Based on the sync log, it appears to have been interrupted.

When initiating a sync, most users would prefer the program to run uninterrupted until the sync is complete. However, the current gestures are too sensitive and can easily lead to accidental interruptions, requiring the process to restart from the beginning.

As part of refining the media sync screen, it might be beneficial to introduce a confirmation step prior to an interruption, or perhaps consider a different gesture for interruption to minimize accidental triggers.

ChuckieChen945 avatar Feb 22 '24 12:02 ChuckieChen945