Steps to reproduce:
Set up a Caldav calendar (mailbox.org here).
With DAVx5 connect to this calendar.
Cause an sync error. In this case deleting a recurrent birthday reminder caused an error 403 (Forbidden) from the server.
DAVx5 writes a log file with technical error information (e. g. HTTP request and response, technical device information, Java stacktrace). The information might help the developer, but it doesn’t help a non-tech user at all.
The information about the failure appears as a tiny icon in the status bar only, where it can easily be overlooked.
DAVx5 informs the user in a visible message, in understandable, non-tech words that it could not synchronize, which item is affected (the displayed name of the contact, date or task), what caused the error, how he/she can solve the problem and go on. For instance see https://www.nngroup.com/articles/top-10-application-design-mistakes/, chapter 3.
If the log file is needed for the developer, DAVx5 helps the end-user with easy-to-follow steps to send it to the developer.
I’m running the CardDAV server locally, with no internet access, on a Synology NAS. The phone and account have no trouble connecting, no error syncing. It all worked seamlessly on Android 7, but just stopped working on Android 8. I have deleted the app and reinstalled (apk from f-droid) multiple times. I also have reset the contacts app many times as well. Attaching the debug file, since the verbose logging doesn’t work for me (used to work also). The phone is a CAT S41. For now, the only app to work was “ContactSync”, but as the full version is paid, it is not a long term solution.
As resetting the Synology wasn’t a possible solution, re-install the app worked for me.
Works also by using application settings and reverse proxy:
Contacts - reverse proxy:
Calendar - application settings:
Everything is working perfectly now. The address you get to give DAVX is this : “https://www/folder whereowncloud is located/remote.php/dav/calendars/userid/calendar name/”
Now, you get to synchronize the name of the account in order to make the related calendar app display the calendar.
Thank you for your answer.
I don’t know, but I disabled the address book in DAVx5, made a sync, then re-enabled the address book and finally a sync, now i can add contacts…
I have no explanation, to be continued …
Hello, I bring this up cause I think it would be a nice feature to have full SOCKS and TOR support for each user since OkHttp supports it. Although I have to admit that adding such a feature may won’t affect much non advanced users.
@rfc2822 I don’t think it there is a mechanism to set these variables globally and force an application to use it except for using a VPN which is a totally different thing.
For the time I fixed it just by adding this line
.proxy(Proxy(Proxy.Type.SOCKS, InetSocketAddress("127.0.0.1", 9050)))
to the OkHttpClient.Builder but this solution affects all the users and it only works if you provide the base URL (TOR doesn’t support UDP yet).
A few weeks ago, Google detected “unusual activity” when I logged into my email from home on a new computer. I was asked to verify my account via a code sent to me via SMS. This resulted in DAVx5 throwing errors and no longer syncing - on a different device. It looked like the Google servers had deemed my home IP address as untrustworthy.
My DAVx5 connection string is: https://email@example.com/events/. So I tried entering that as an address into my browser. A login prompt appeared so I logged in with my email address and password. The attempt failed.
Hmm, is the service no longer running? Then I tried with another account that I had. It worked. Damn, my account is definitely blocked here.
For two weeks I logged into my email from the same IP address. Every time Google required verification via SMS. Boring. During this time DAVx5 was constantly failing.
Then today it let me in without verification. At last, my IP address was trusted as far as my Google account was concerned. And guess what, DAVx5 started working again. Hooray!
So for those of you out there who cannot get DAVx5 to work with your account - or it suddenly stops working - you just have to wait and persevere by logging in daily until the Google servers associate your IP address and your email account together so that other services can log in from there without being blocked.
Hope this helps someone.
@hell said in Error at line 29:Attempt to invoke virtual method 'void java.util.Calendar.setTimeZone(java.util.TimeZone)' on a null object reference:
i will try later to install again the newest version and will post here the result. yesterday i tried to remove my caldav/carddav accounts and installed them again.
That won’t help in this case. You will have to re-install DAVx⁵ (for unknown reasons).
And I’m back again. So it worked for awhile then all of a sudden i get error notifactions:
Network or I/O error - Failed to connect to nextcloud.myserver.domain/192.168.178.1:443
So obv this triggers a Network error since this address does not exist nor did I ever put it in the app.
The nextcloud service adress is nextcloud.myserver.domain
192.168.178.1 is my router.
I have no idea why he tries to connect to this adress. In the debug Info file there are only traces of the correct adress.
This error persists until I wipe the app with data from the phone and redo everything, then it works for awhile
@rfc2822, yes, actually, if you please, while I was trying to make my hidden service working, I found, that it may be convenient in such cases to save entry even when it is not valid for now, just marking it as out of sync or something like this. Thus it will be possible to edit such entries later without filling credentials again, you know. Just an idea.
Thanks, that worked!
I exported all contacts into a vcf.
Deleted all contacts in the DAVx5 account and reimported from vcf.
Hopefully nothing got lost, can’t check everything in detail.
A bit of a long way round but at least it worked.
As far as I see, the problem is that Myself@example.org is not identified with yourself, isn’t it?
Yes it is, no doubts.
I was only justifying myself about how I’ve missed the casing issue at first sight
Maybe an advanced option like “normalize email addresses” could be added in account configuration?
Maybe together with a warning like “use only if you have issues with users adding mixed-case email addresses”
Is this acceptable or do you think it’s a “too geeky” workaround?
notify on invalid tasks/vCard objects (events will follow)
add app setting for notification channels: Notification settings (only Android 8+)
use default time-zone to store floating DATE-TIMEs
exceptions of recurring events: use main event’s DTSTART time zone for RECURRENCE-ID
minor improvements and bug fixes
When you tap a notification about invalid iCalendar/vCard objects, you can see more information, including the URL of the invalid object. You can hide all “Sync warnings” in the app notification settings (Android 8+ only, because this depends on notification channels), but we recommend to care about these messages, because it means that some events/tasks could not be synchronized.