ICS issues when mixing DAVx5 and ICSx5



  • Hello
    I have a nextcloud hosting that exports some CalDAV calendars. They are imported on my Android phone with DAVx5, things work fine. I also have 2 ICS calendars imported from somewhere else. I added them to my phone with ICSx5.
    However, they are also imported in my nextcloud hosting, and made visible in DAVx5 somehow (they appear in the first tab, “Webcal (old calendars)” in French). So they are basically visible twice on the phone, once in ICSx5 and once in DAVx5.
    DAVx5 says they are enabled even if I actually only enabled them in ICSx5. Not sure how DAVx5 got the info. Anyway, if I ever touch them in DAVx5, things will start becoming strange and synchronizing will basically break at some point. I don’t know exactly what breaks and how since I don’t know how to debug things on Android.

    So I wonder if ICSx5 and DAVx5 are actually supposed to support that case. I am supposed to use ICSx5 or DAVx5 to import those calendar? Should I remove ICSx5 and just get them through CalDAV? Or should I remove them from my nextcloud hosting so that DAVx5 doesn’t get them anymore?

    Thanks
    Brice


  • developer

    Hello,

    @bgoglin said in ICS issues when mixing DAVx5 and ICSx5:

    Hello
    I have a nextcloud hosting that exports some CalDAV calendars. They are imported on my Android phone with DAVx5, things work fine. I also have 2 ICS calendars imported from somewhere else. I added them to my phone with ICSx5.
    However, they are also imported in my nextcloud hosting, and made visible in DAVx5 somehow (they appear in the first tab, “Webcal (old calendars)” in French). So they are basically visible twice on the phone, once in ICSx5 and once in DAVx5.
    DAVx5 says they are enabled even if I actually only enabled them in ICSx5. Not sure how DAVx5 got the info.

    DAVx⁵ can pass the URL to ICSx⁵ and see when the calendar is subscribed in ICSx⁵. See https://www.davx5.com/manual/accounts_collections.html#webcal-integration for more information.

    Anyway, if I ever touch them in DAVx5, things will start becoming strange and synchronizing will basically break at some point. I don’t know exactly what breaks and how since I don’t know how to debug things on Android.

    What do you mean by “touch”?

    So I wonder if ICSx5 and DAVx5 are actually supposed to support that case.

    Yes, I’m using it myself.

    I am supposed to use ICSx5 or DAVx5 to import those calendar?

    These calendars are not CalDAV calendars, but Webcal subscriptions. DAVx⁵ can’t process them. It can however receive the Webcal URLs from the server and pass them to ICSx⁵. ICSx⁵ does all the rest.

    Should I remove ICSx5 and just get them through CalDAV?

    This won’t be possible for Webcal subscriptions, because they don’t support CalDAV.

    Or should I remove them from my nextcloud hosting so that DAVx5 doesn’t get them anymore?

    No, it should just work:

    1. Add the account in DAVx⁵.
    2. Click on a calendar in the Webcal tab.
    3. The URL is passed to ICSx⁵, where you can set it up and manage sync intervals etc.
    4. If you ever want to unsubscribe, just delete the subscription in ICSx⁵ or uncheck it in DAVx⁵ (which will again pass the deletion to ICSx⁵).

    So: What do you mean by “touch”? What is “strange things”? How do you notice “synchronizing will break”? Is it possible to get more information, including the Webcal URL (is it public?), and exact steps to reproduce the problem?



  • By touch, I mean for instance disable/enable one of them in DAVx5, or force synch. I don’t have exact steps to reproduce the synch issue, it happened twice since I started using ICS/DAVx5 last month. I had to unsubscribe and clear ICSx5 data, and resubscribe to get it back to work.
    Example of strange things: I uncheck both of them in DAVx5, they disappear from ICSx5. I reenable both of them in DAVx5, the first one never gets its box “checked” (but both appear in ICSx5). If I try to “check” it multiple times, it ends up appearing multiple times in the list of “calendar subscriptions” in the google calendar app.
    I’d rather not share the ICS URLs here because there’s some private info in those calendars, but I can send it to you by email or so. One of them (the one that could not be “checked”) has a very long URL with special characters etc. The one had a fairly normal URL, doesn’t have a “checked” issue, but he wasn’t synch’ed anymore either last time it broke.



  • Just noticed one little thing while cleaning up and resubscribing again: the URL that ICSx5 gets from DAVx5 is truncated. It misses the end “#&login” (without double-quotes). I don’t know if those characters are lost while getting the info through Webcal, or when passed from DAVx5 to ICSx5. When I put the exact/full URL in ICSx5, it remains correct in ICSx5.


  • developer

    Yes, that sounds reasonble. Something in the URL is truncated or changed on the way between DAVx⁵ and ICSx⁵, so the connection between them is broken (because the URL is used as identifier).

    Are those URLs public? Can you post them here or send them as a private message?

    Where are those URLs from? #fragment parts don’t make sense for Webcal URLs, so DAVx⁵ should probably delete them.



  • I sent the URLs as a private message. The truncated one with #&login comes from a university calendar management tool, no idea why it ends like this. Removing the truncated part doesn’t seem to change the downloaded contents, so I am going to try without it.


  • developer

    Thanks. I could only reproduce the problem with the #fragment in the URL. The other just works here. So I can fix the # problem, but I can’t reproduce another problem.

    If you have further problems, please try to find steps to reproduce it so that I can have a look.



  • Thanks, maybe the other one was somehow a consequence of the #fragment and of me trying to fix it by disabling/reenabling them many times. I am currently running with the URL without #fragment, I’ll let you know if something breaks again.


  • developer



Similar topics

  • 6
  • 7
  • 16