Fail to sync CardDAV (Synology Contacts)


  • I’ve been trying to sync my contacts and tasks from my Synology NAS, which is running Contacts and Calendar, which are the recommend apps as seen in this “tested-with” article.

    DAVx5 found the calendars and task lists without issues, but could not find the contacts.
    I have verified that the contacts address is in the form “https://my_server_ip:5001/carddav/MyName”, which matches the system used by calendar “https://my_server_ip:5001/calddav/MyName”.
    When I tried to set up two accounts, one for each service, I got the error message “Illegal character in scheme name at index 0”. It turns out that I can’t specify a specific port using “:5001” (“:” being the illegal character), going against the instructions in the article I listed in the article above. As far as I understand it this is on purpose, forcing the use of base urls.

    My thought at this point was that it might be a firewall issue, at which point I looked at the synology Control Panel/Info Center/Service, where the following difference could be observed:
    Screenshot from 2020-11-28 13-38-49.png The first tickbox is whether or not it is enabled and the second is if it is allowed through the firewall. Calender is allowed through on LAN, but not PPPoE.

    This seems to be the issue, but there is a problem with this theory, which is that I can access the contacts using the carddav url on other devices without issues.

    Now I’m trying to figure out if where to go next. Is it a problem with the app, because other services can find my contacts? Is it an issue with Synologys settings that there is no firewall checkbox? If it is the latter, how can I circumvent the issue?

  • developer

    Hi,

    @tono said in Fail to sync carddev (synology contacts):

    When I tried to set up two accounts, one for each service, I got the error message “Illegal character in scheme name at index 0”.

    This usually means a whitespace character at the beginning before https://, probably by copy & paste.

    Please try to enter the URL manually or check for hidden whitespace.


  • @rfc2822 I think I’ve figured out the reason for the error message.
    When I previously tried to enter the ip-adress, I asked the app to prepend https://, which is probably the reason why it didn’t allow for “:5001” to work. My best guess is that the app does the error check without virtually prepending https.
    Tested it while manually adding https and port, and now it is working flawlessly.

    Thank you very much.

Similar topics

  • 6
  • 2
  • 10