Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Synchronization error - completion of VTODO via widget #1430

Closed
CRGer opened this issue May 27, 2024 · 7 comments · Fixed by #1437
Closed

[BUG] Synchronization error - completion of VTODO via widget #1430

CRGer opened this issue May 27, 2024 · 7 comments · Fixed by #1437
Assignees
Labels
bug Something isn't working
Milestone

Comments

@CRGer
Copy link

CRGer commented May 27, 2024

Describe the bug
I marked a task as completed in the widget - the app was not open. Even after that, I didn't open the app for several hours. After approx. 4 hours, I opened the app and edited/created further tasks in the app. These were correctly synchronized to the CalDav server. The task previously marked as completed in the widget was still present on the server as unfinished, but in the app it was marked as completed (as intended). On the server, I could see in the raw data that the VTODO had not been changed for some time, and no synchronization attempt for this VTODO was visible in the server logs. Even a re-initiated synchronization did not change this inconsistent state. Only a new edit (marked as unfinished in the app and then as finished again) of this VTODO led to successful synchronization and a consistent state.

To Reproduce
I was unable to reproduce this behavior. (Edit: Due to time reasons, see comment below.)

Expected behavior
The VTODO is correctly synchronized.

Screenshots
n.a.

Device and version

  • Device: Samsung Galaxy S21 FE 5G
  • Android version: Android 14
  • jtx Board version: 2.06.05.ose
  • Downloaded from: f-Droid
@CRGer CRGer added the bug Something isn't working label May 27, 2024
@CRGer
Copy link
Author

CRGer commented May 27, 2024

Of course, I would like to reproduce the error again to make it easier to identify the cause. However, this takes time, as I am not allowed to open the app for several hours.

Before that, I've got one question:
Is it possible to activate debug logs in the app for this?

Another note (as it might be relevant):
I have also switched networks several times in the 4 hours.

@patrickunterwegs
Copy link
Member

Hi @CRGer , I will have a look at the code if maybe the content observer is not notified correctly in that case. Basically jtx Board notifies this content observer, the rest is then done by the system and DAVx5. So it's a bit hard to say where things get stuck.
I haven't added any debug logs, but anyway the more relevant information would be in the DAVx5 logs. But let me review the widget code first.

@patrickunterwegs
Copy link
Member

Hi @CRGer !
I have made an upgrade of the widget library and I'll add it to the upcoming beta. As they have made a few improvements, I hope they also made some improvements on the refresh-mechanisms. The code basically looks good, the widget should always get refreshed when an entry gets changed by the sync. However, I have also seen in the emulator that things get stuck for no reason sometimes (which was also hard to reproduce). So I hope that this new widget library version will fix a few things. I'll close this ticket here. It would be great if you could observe this issue further once you have the new version and give some feedback!

@patrickunterwegs patrickunterwegs linked a pull request May 28, 2024 that will close this issue
@patrickunterwegs patrickunterwegs added this to the 2.7.9 milestone May 28, 2024
@CRGer
Copy link
Author

CRGer commented May 28, 2024

Sure, I'll definitely observe this and report if necessary. Thank you very much, @patrickunterwegs ! Also, in general for this app/your work, it filled a huge gap in my OpenSource Landscape!

@CRGer
Copy link
Author

CRGer commented May 28, 2024

I'm sorry, @patrickunterwegs, but I think I have some bad news. I just got an idea and can now reliably reproduce the error. It seems to be a problem with reccuring tasks.

Steps to repdroduce:

  1. Create a recurring task and a normal one
  2. Mark both tasks as completed via the widget.
  3. Both tasks are now shown as completed in the widget and in the app
  4. Trigger synchronization
  5. Only the normal task has been synchronized correctly on the server, the recurring task has not been updated on the server.

(The bug is also reproducible if you omit the normal task. Only served to illustrate whether the sync itself works)

I tried this three times with different recurring task, and it was reproducible every time... it was not necessary to close the app or wait some time, as initially thought by me.

@patrickunterwegs
Copy link
Member

Thanks @CRGer , I'll check it out!

@patrickunterwegs
Copy link
Member

Hi @CRGer , thanks again for the issue report and your detailed description how to reproduce the issue!
I have found the root-cause (and hopefully it's really only this one) and fixed it =) I will add it in the current beta and upcoming version 2.7.9! It would be great if you could also give a short feedback once you have the option to check the new version! =)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants