I really delete the calendar from DavDroid.
But you're right, now I have the confirmation dialogue:
Well ... I do not understand, my version was downloaded recently on F-droid. The most important thing is that it works now, thanks rfc2822 !
@xyzzy said in Support for SSL client certificate and Basic/Digest at same time:
I neither change the authentication method of the groupware server nor the certificate requirement of the proxy server before the groupware server. For me it would be good enough if I could specify user/password in the base url. But davdroid seems to remove this part of the url.
It doesn't remove anything, but it doesn't use username/password from the URL. At the moment, DAVdroid unfortunately only supports username/password or client certificates as authentication, but not both because client certificates are implemented as an authentification method.
BTW, I cannot reply using firefox 59.0.2. In the webconsole I get:
I'm typing this reply with Firefox 59.0.2 (MozillaFirefox-59.0.2-lp150.1.6.x86_64 from OpenSUSE Leap 15 Beta). If you can find out what the problem is, it would be kind if you could report it to NodeBB directly. We're currently using NodeBB 1.8.2 (latest release) without modifications.
If you have a problem with DAVdroid, please:
Try the latest DAVdroid version. Use the latest version of your server software, if applicable.
Read the Configuration and FAQ pages carefully. The most common issues are explained there.
Use the forum search! Most questions have already been answered.
Search the the Web for the problem, maybe ask friends who are willing to help.
Make sure that it's not a server problem. Search the FAQ/forums/bug tracker of your server software, too. Many supposed DAVdroid bugs are server (configuration) problems.
Provide helpful and verbose information!
If you expect other people to help you, provide as much information as you can. It's no fun to debug a problem without knowing about what's actually the problem.
Describe exactly what you were doing (steps to reproduce), what you tried to achieve and what your problem is. Imagine someone else who wants to reproduce the problem to find a solution and provide all necessary information.
Give information about your environment: what is your server software (including version), what are your calendar URLs, do other clients work, etc.
If possible, try to explain what you already have tried to solve your problem.
Important: Go to DAVdroid / Settings (left navigation drawer in the main screen) / Debug info. Send these information to yourself (using the "Share" action, for instance by email). Paste the info to fpaste.org or a similar service and provide a link.
If you get "No CalDAV/CardDAV service found" when you try to add an account:
Tap "View logs". Send those logs to yourself (using the "Share" action, for instance by email).
Paste the logs to fpaste.org or a similar service and provide a link (feel free to let it expire in a month).
If you get an error notification while synchronizing:
Tap the notification. A debug info activity will appear.
Send the debug info to yourself (using the "Share" action, for instance by email).
Paste the debug info (≠ logs) to fpaste.org or a similar service and provide a link (feel free to let it expire in a month). Short debug output can be inserted in the text, but please quote with ``` (at the beginning and the end).
If additional logs are required to diagnose the problem, continue below.
Your problem doesn't cause a notification or you need verbose logs?
DAVdroid / Settings (left navigation drawer in the main screen) / Enable "log to external storage." A notification with the log file path appears.
Do whatever causes your problem (e.g. "Refresh calendars", or initiate a sync).
Disable "log to external storage" again. Please keep in mind that those log files may contain private information and are accessible by any app which has the permission to access external storage, so delete them after those steps.
Send the logs to yourself (e.g. in the file manager and then send by email, or use the brilliant app Share with HTTP).
Remove private data from the logs, if applicable.
Paste the logs to fpaste.org or a similar service and provide a link (feel free to let it expire in a month). Short parts of the logs can be inserted in the text, but please quote with ``` (at the beginning and the end).
If your problem has been solved, it would be kind to let other people (who were willing to help you) know the actual solution.
new sync logic (preparation for Collection Sync, uses less memory)
"retry" and "view item" actions for sync errors
I/O errors are shown as minimum priority notifications (which are not shown in the notification bar, but when the notification drawer is pulled down)
notifications will disappear automatically if they're not useful anymore (for instance, the I/O error is gone after a while)
add start-up info dialog for vendor-specific auto-sync problems (notably Xiaomi and Huawei)
removed unnecessary permission activity (now handled by account activity)
library updates (including icaj4j 2.2.0 and okhttp 3.10 which should now be able to handle unexpected HTTP 100 status messages)
various other improvements and bug fixes
If you get the "SQLiteException: no such column: metadata_dirty" error message when synchronizing contacts, please have a look at FAQ: SQLiteException: no such column: metadata_dirty
The debug log unfortunately did not really help me.
Interestingly, when I deactivated sync for all 6 task lists (keeping only the address books activated for sync), the problem disappeared. However, regardless which of the task lists I subsequently re-activated, I always got the sync problem. I then purged tasks (within Horde) that had been completed more than 30 days ago -- no more synchronization problems. But current tasks no longer appeared on the smart phone either! Luckily, when I now add new tasks, they appear both on the Android device as well as inside horde.
So, long story short, did not find the cause of the problem, but was somehow able to solve it (with side effects though -- would have liked to keep the current tasks on my mobile.
You got me on the right direction, thanks a lot. For some reason my Horde installation did not properly report its priorities via DAV.
If people ever come to this post due to similar errors:
The table nag_tasks in the Horde DB uses the Default 0 for task_priority. If I interpreted the issue correctly, Horde only supports five priorities, 1-5. But as the CalDAV standard(?) expects 0-9, this is evaluated when reported via ics (e.g. priority 2 in the DB and the web interface is reported to DavDroid as a 3 while 3 is reported as 5). Not only are not all values used or usable, the Default of 0 is not evaluated at all (similar to values above 5, it seems) which results in an empty string. To resolve this, I manually changed all the tasks in the DB with task_priority 0 or >5 to 2 and also changed the Default value of the table to 3 (which evaluates to 5).
These are the commands I used, continue with caution:
ALTER TABLE nag_tasks CHANGE `task_priority` `task_priority` int(11) NOT NULL DEFAULT '3';
UPDATE nag_tasks SET task_priority = 3 WHERE task_priority = 0 OR task_priority > 5;
While my Horde installation is up to date, I initially installed it four or five years ago, so perhaps the "new install db scheme" has been changed in the meantime.
I couldn't reproduce the problem with this event and other Lightning events are working here, too. This seems not to be related to Lightning, but to https://forums.bitfire.at/topic/1727/nullpointerexception-attempt-to-invoke-virtual-method-void-java-util-calendar-settimezone-java-util-timezone-on-a-null-object-reference. If I only could reproduce it…
Please follow up there.
@rfc2822 said in Some contacts are being duplicated on the phone, not the server:
Did you try the adb method as described on https://www.davdroid.com/faq/how-to-debug/?
Awesome! Thanks so much for that tip. I was able to dump the contacts database to my computer, and low and behold the culprit is Whatsapp.
This hasn't solved my issue, but at least I know what the problem really is now. I'm really grateful to you guys for helping me get this far.
The story continues on StackExchange, where I just asked this question.
We are using Airwatch MDM, with Android for work and full managed devices.
More Details would require a private message, to not publish internal company informations.
I found the DAVdroid for MDM in the play store, will have a look at it.
@rfc2822 said in checksum error while sync contacts to second user account on same phone:
Can you provide exact steps to reproduce the problem?
I checked the configuration today once again and found that the special data privacy settings for DAVDroid in LOS 14.1 where activated and reading of contacts was forbidden. After I have changed the configuration the error disappeared. Thanks for your help!
Thanks - and you are correct! DavDroid uses the path returned from the server root to dictate where to put the relative path on PROPFIND calls - changing it to dir/ results in it working fine. Great app.
@mnalis said in events sometimes deleted on device soon after adding/changing:
Could it be that some upgrade or reinstallation of DAVdroid reset that empty string to "0" ?
Maybe. It should not be the case, but I'd have to investigate before and I don't think that's worth it.
On related note, should "0" even be allowed as value, as in best case it will only make a sync a very little faster than "1", but could have potentially disastrous results when changing timezones (manually, or automatically, or different TZ settings in server/client side [for example when country changes its timezone defs]) etc?
The worst thing that can happen is that some events of today are not shown on the Android device. Since the fix I have linked in my previous post, "0" actually means "now" and not "the current hour/minute, but in UTC" like before. So "0" should now (= in future DAVdroid versions) work as expected (= all events since the exact time of synchronization), but personally I'd never use 0. Syncing a few days, weeks, even months into the past doesn't have an impact on the performance and allows you to look up recent events in the calendar.
I've now set it to "90" as you recommend, but if it is safe I would like to make it empty string again. I've never had problems back in the days when it always synced all events, and I'd like for it to keep working the way I'm used to.
The problem is that the empty value doesn't scale at the moment, because it does a simple PROPFIND for all events. So if you have 100.000 events over 10 years, every sync lists 100.000 events. However, WebDAV collection sync (RFC 6578) is planned for DAVdroid 1.12. We will soon release DAVdroid 1.11 which contains preparations for this feature. With WebDAV collection sync, you can use the empty value without performance impact.