Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


    Cloudron Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular

    Solved Changing calendars on an event via Calendar app on macOS and iOS doesn't work

    Radicale
    3
    29
    424
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • d19dotca
      d19dotca last edited by

      I never used to have this problem, but I also rarely have to change calendars after creating an event so the vast majority go to my primary calendar. I've tried a few times in the last week to change a few events (both in past and future) to a different calendar. For some reason it will not keep these changes. I get no errors in the app, but after a short period of time (maybe 10 minutes), the event will revert back to the original calendar it was created in.

      If I create new events in the other calendar though to begin with, they are fine. So it seems specific to the changing of the event calendar. I can also rule out the client as the issue (I think) because at first I thought this maybe had to do with me trying this on the beta macOS and iOS versions, but my primary driver is on macOS Catalina and it's always worked but no longer works either, so this doesn't seem specific to the beta use on my side since it also affects the non-beta builds.

      Has anyone else experienced this? I'm wanting to see if this is related to the update done in June (as I said - I rarely change the calendar associated to an event so I may have only really noticed this now that I had a few to change), or if it's something very different. Unfortunately I can't restore an app backup to verify because the backups have long lapsed since it was updated back in June.

      --
      Dustin Dauncey
      www.d19.ca

      1 Reply Last reply Reply Quote 0
      • d19dotca
        d19dotca last edited by d19dotca

        Update: I see this now in my logs, must have missed it before since it's just "INFO" and not an error or anything.

        Aug 17 11:43:36 [2020-08-17 18:43:36 +0000] [1/Thread-8143] [INFO] MOVE response status for '/<username>/<CalendarName>/36EAFAB6-0AB0-4EC8-BF4D-555DEC7F1018.ics' in 0.203 seconds: 409 Conflict
        

        I suppose that 409 Conflict message may be describing the issue I'm running into. It's thrown on the source calendar, not the target calendar if this makes a difference.

        I never noticed this issue until recently, though again I rarely change the calendar on an event, so it may have been this way for a while and I just hadn't noticed. This is why I'm wondering if this had to do at all with the June update of Radicale, though I cannot confirm.

        --
        Dustin Dauncey
        www.d19.ca

        1 Reply Last reply Reply Quote 0
        • nebulon
          nebulon Staff last edited by

          Most likely this is a radicale upstream issue. Did you look at their issue tracker for insights?

          d19dotca 1 Reply Last reply Reply Quote 0
          • d19dotca
            d19dotca @nebulon last edited by

            @nebulon I checked but never found anything related, or at least nothing that seemed related. I can look at filing a ticket in their GitHub for it, just in case.

            Is there any possibility for me to downgrade the Radicale version to better test this out though? I suppose I could just copy the current Radicale app in git.cloudron.io and then change the version and deploy as a custom app?

            --
            Dustin Dauncey
            www.d19.ca

            1 Reply Last reply Reply Quote 0
            • nebulon
              nebulon Staff last edited by

              Actually you can open a custom crafted url with the app package version like:
              https://my.example.com/#/appstore/org.radicale.cloudronapp2?version=2.0.2

              The version can be obtained from the git repo tags https://git.cloudron.io/cloudron/radicale-app/-/tags

              d19dotca 3 Replies Last reply Reply Quote 1
              • d19dotca
                d19dotca @nebulon last edited by

                @nebulon said in Changing calendars on an event via Calendar app on macOS and iOS doesn't work:

                https://my.example.com/#/appstore/org.radicale.cloudronapp2?version=2.0.2

                Oh that's awesome! Just deployed it using 2.0.1 and will test on that. Thank you so much.

                --
                Dustin Dauncey
                www.d19.ca

                1 Reply Last reply Reply Quote 0
                • d19dotca
                  d19dotca @nebulon last edited by

                  @nebulon So interestingly enough in my testing, the issue didn't occur in the old version but also didn't occur in the new version when I upgraded it. So I'm not sure what the root cause is anymore, but presumably not an app issue I guess. May be more to do with my own data somehow, maybe some corruption. I think I'll create a new Radicale on my server and migrate the data and see if that fixes it.

                  --
                  Dustin Dauncey
                  www.d19.ca

                  1 Reply Last reply Reply Quote 0
                  • d19dotca
                    d19dotca @nebulon last edited by d19dotca

                    @nebulon Upon further testing there actually was an issue when I tried a new Radicale server, I just didn't see it at first as it wasn't the exact same issue. I no longer receive 409 Conflict messages but 502 Bad Gateway messages whenever a MOVE command is made. I'm not sure why the error has changed, but perhaps it had to do with a sort of "reset" of the data by moving from one Radicale server to another.

                    I found this in the Radicale GitHub Issues list which is very similar (if not the same):

                    • https://github.com/Kozea/Radicale/issues/774#issuecomment-365325111
                    • https://github.com/Kozea/Radicale/issues/842#issuecomment-399745299
                    • https://github.com/Kozea/Radicale/issues/842#issuecomment-623182954

                    Here is the exact logs I see (minus the names of the collections):

                    Aug 19 23:07:50 [2020-08-20 06:07:50 +0000] [1/Thread-540] [INFO] MOVE request for '/<username>/<sourceCalendar>/0D990B62-D6CF-4E10-805F-3AB51C21CF21.ics' received from '<IP>' (forwarded by 172.18.0.1) using 'macOS/11.0 (20A5343i) CalendarAgent/950'
                    Aug 19 23:07:50 [2020-08-20 06:07:50 +0000] [1/Thread-540] [INFO] Successful login: '<username>'
                    Aug 19 23:07:50 [2020-08-20 06:07:50 +0000] [1/Thread-540] [INFO] Unsupported destination address: 'https://calendars.<domain.<tld>/<username>/<destinationCalendar>/0D990B62-D6CF-4E10-805F-3AB51C21CF21.ics'
                    Aug 19 23:07:50 [2020-08-20 06:07:50 +0000] [1/Thread-540] [INFO] MOVE response status for '/d19dotca/<sourceCalendar>/0D990B62-D6CF-4E10-805F-3AB51C21CF21.ics' in 0.197 seconds: 502 Bad Gateway
                    

                    Looks like it could have to do with the reverse proxy in front of Radicale. Seems that this may be a mix of how Nginx is configured in front of Radicale and I guess changes in Radicale itself. So this seems to need an update to the Nginx rules, perhaps, with the latest Radicale version.

                    --
                    Dustin Dauncey
                    www.d19.ca

                    d19dotca 1 Reply Last reply Reply Quote 0
                    • d19dotca
                      d19dotca @d19dotca last edited by

                      @nebulon - Any updates on this one by any chance? Seems to be related to both Radicale but also the proxy configuration which I assume is part of the app package details.

                      --
                      Dustin Dauncey
                      www.d19.ca

                      d19dotca 1 Reply Last reply Reply Quote 0
                      • girish
                        girish Staff last edited by

                        @d19dotca Johannes is on vacation this week, just a heads up.

                        d19dotca 1 Reply Last reply Reply Quote 0
                        • d19dotca
                          d19dotca @girish last edited by

                          @girish Okay, thanks for that heads up. I'll wait a bit then before following-up again. 🙂

                          --
                          Dustin Dauncey
                          www.d19.ca

                          1 Reply Last reply Reply Quote 0
                          • d19dotca
                            d19dotca @d19dotca last edited by

                            @nebulon - Just wanted to check in on this. Also a quick update: I tried updating the latest package pushed out today, but the same issue occurs on the 502 Bad Gateway.

                            --
                            Dustin Dauncey
                            www.d19.ca

                            d19dotca 1 Reply Last reply Reply Quote 0
                            • d19dotca
                              d19dotca @d19dotca last edited by

                              @nebulon - Just wanted to check in again as I'm still running into this issue and it's been stale for nearly three weeks now. No rush but just figured I'd make sure this was still on your radar as it's becoming a bigger impact as time goes on. Thank you in advance.

                              --
                              Dustin Dauncey
                              www.d19.ca

                              d19dotca 1 Reply Last reply Reply Quote 0
                              • d19dotca
                                d19dotca @d19dotca last edited by

                                @nebulon - Just wanted to check in again as this one has been sitting for about 25 days, and it's becoming a bigger issue with my productivity workflow, or more of an annoyance let's say than a real issue but something I'd love too see resolved sooner than later if possible.

                                --
                                Dustin Dauncey
                                www.d19.ca

                                1 Reply Last reply Reply Quote 0
                                • nebulon
                                  nebulon Staff last edited by

                                  Ah right thanks for the reminder, it is still on my list...

                                  1 Reply Last reply Reply Quote 0
                                  • nebulon
                                    nebulon Staff last edited by

                                    I was trying to reproduce this now, however I don't have a mac or iOS device and I wasn't able to get a calendar client otherwise to use the MOVE command. They all DELETE/ADD events when moving them from one to another calendar.

                                    Will see if I can get some mac on hand to test this. Just for confirmation, both calendars are within the same radicale instance? Which calendaring apps did you use on mac?

                                    d19dotca 2 Replies Last reply Reply Quote 0
                                    • d19dotca
                                      d19dotca @nebulon last edited by

                                      @nebulon Yes, same Radicale instance for all my calendars. And I just used the built-in Calendar app that comes with macOS. 🙂

                                      --
                                      Dustin Dauncey
                                      www.d19.ca

                                      1 Reply Last reply Reply Quote 0
                                      • d19dotca
                                        d19dotca @nebulon last edited by

                                        @nebulon Quick update to say I tried on the latest Radicale update you deployed earlier today, but same thing. 502 Bad Gateway error upon MOVE commands.

                                        --
                                        Dustin Dauncey
                                        www.d19.ca

                                        1 Reply Last reply Reply Quote 0
                                        • nebulon
                                          nebulon Staff last edited by

                                          Ok got access to a macbook, however it works for me:

                                          18:47:20 - [2020-09-15 16:47:20 +0000] [1/Thread-2416] [INFO] GET response status for '/' in 0.000 seconds: 302 Found
                                          18:47:26 - [2020-09-15 16:47:26 +0000] [1/Thread-2417] [INFO] MOVE request for '/nebulon/7605fbf0-7bd3-63a0-c8df-e5c4af4f34fd/f9d03e14-303a-4f5d-8c8e-eeaf4cb33690.ics' received from '90.187.246.49' (forwarded by 172.18.0.1) using 'Mac+OS+X/10.14.6 (18G103) CalendarAgent/416.5.1'
                                          18:47:26 - [2020-09-15 16:47:26 +0000] [1/Thread-2417] [INFO] Successful login: 'nebulon'
                                          18:47:26 - [2020-09-15 16:47:26 +0000] [1/Thread-2417] [INFO] MOVE response status for '/nebulon/7605fbf0-7bd3-63a0-c8df-e5c4af4f34fd/f9d03e14-303a-4f5d-8c8e-eeaf4cb33690.ics' in 0.192 seconds: 201 Created
                                          18:47:26 - [2020-09-15 16:47:26 +0000] [1/Thread-2418] [INFO] PROPFIND request for '/nebulon/f1ce483f-5dac-87e1-d2c7-e4706444faab/f9d03e14-303a-4f5d-8c8e-eeaf4cb33690.ics' with depth '0' received from '90.187.246.49' (forwarded by 172.18.0.1) using 'Mac+OS+X/10.14.6 (18G103) CalendarAgent/416.5.1'
                                          18:47:26 - [2020-09-15 16:47:26 +0000] [1/Thread-2418] [INFO] Successful login: 'nebulon'
                                          18:47:26 - [2020-09-15 16:47:26 +0000] [1/Thread-2418] [INFO] PROPFIND response status for '/nebulon/f1ce483f-5dac-87e1-d2c7-e4706444faab/f9d03e14-303a-4f5d-8c8e-eeaf4cb33690.ics' with depth '0' in 0.180 seconds: 207 Multi-Status
                                          

                                          Are you using calendars of different users?

                                          1 Reply Last reply Reply Quote 1
                                          • nebulon
                                            nebulon Staff last edited by

                                            Ok I also tried with different accounts and then the macos client also performs a DELETE+ADD instead of a MOVE, so not sure how to debug this further for me 😕

                                            1 Reply Last reply Reply Quote 0
                                            • girish
                                              girish Staff last edited by

                                              The log message of "Unsupported destination address" comes from https://github.com/Kozea/Radicale/blob/7ed51226360212d2958a142d7d193b3bdd0c0e40/radicale/app/move.py#L34 The code there says to_url.netloc != environ["HTTP_HOST"]. From a casual reading, could it be that the domain of the calendar is hardcoded somewhere inside radicale? Meaning, if the user moved the radicale app from one location to another, maybe some internal entries are not patched up?

                                              This happens for SOGo which I discovered just a couple of days back - https://git.cloudron.io/cloudron/sogo-app/-/issues/19

                                              1 Reply Last reply Reply Quote 1
                                              • d19dotca
                                                d19dotca last edited by d19dotca

                                                @nebulon & @girish - very interesting. According to the Radicale GitHub it's been an issue for others before and sometimes fixed and sometimes needing the proxy to be modified.

                                                One thing worth mentioning in case this is an issue, though it is released now (or will be very soon so this will be an issue down the road perhaps) is I was running macOS 11 (i.e. the latest one released for September 2020 called Big Sur, running on their public beta builds earlier). So maybe there's something different now in how their Calendar app handles changes to calendars - no longer doing a DELETE+ADD but a MOVE now - although it's odd because it wasn't an issue earlier in the beta builds and I think either way they're still doing it correctly (just maybe different) as a MOVE method is a valid command to Radicale. Though this may explain why it works for you and not me, as we're running different macOS versions.

                                                You may be on to something though about that part of the code in their GitHub project with "to_url.netloc != environ["HTTP_HOST"]". Never seen that before and it's never been an issue before to my knowledge. Any ideas where that might be stored though? Is that something I need to change in my environment or is that more of an app thing? I was able to reproduce it before on a brand new Radicale deployment, so I assume this isn't something I have control over?

                                                --
                                                Dustin Dauncey
                                                www.d19.ca

                                                1 Reply Last reply Reply Quote 0
                                                • d19dotca
                                                  d19dotca last edited by

                                                  Seems the HTTP_HOST value is set too in the proxy according to the docs: https://github.com/Kozea/Radicale/blob/9d25cc6c0ae6fa72bd6c57b76cbd25f1fddedbc0/DOCUMENTATION.md
                                                  I assume it's using that set in the nginx reverse proxy in it's comparison logic for the MOVE command? Though still doesn't necessarily explain why it works for you guys though, as I assume that same value would be set anyways, it's the hostname of the app after all, isn't it?

                                                  --
                                                  Dustin Dauncey
                                                  www.d19.ca

                                                  1 Reply Last reply Reply Quote 0
                                                  • nebulon
                                                    nebulon Staff last edited by

                                                    I don't think the macOS version is the issue here, since I also see the MOVE command being used (but in my case successfully) if I move events between calendars of the same user.

                                                    In your case, did you ever move that radicale app instance from one domain/subdomain to another?

                                                    d19dotca 2 Replies Last reply Reply Quote 0
                                                    • d19dotca
                                                      d19dotca @nebulon last edited by d19dotca

                                                      @nebulon I don't believe I have, I think I've added additional domains though. Basically the subdomain for the Radicale instance is "dav" and to my knowledge always has been. However more recently I added in a couple of additional locations like "calendars" and "contacts", etc.

                                                      I think what I'll try next is deploy a fresh Radicale instance but specifically only with one location, and making sure the Calendar app uses that one alone and see if I can reproduce it. I had tried before but I think I had also added in additional domains again, so I'll try again with just one, because maybe that's related to the host name check in the Radicale code?

                                                      --
                                                      Dustin Dauncey
                                                      www.d19.ca

                                                      1 Reply Last reply Reply Quote 0
                                                      • d19dotca
                                                        d19dotca @nebulon last edited by d19dotca

                                                        @nebulon & @girish - Okay, great call on the hostname thing, that was indeed the issue for the 502 Gateway errors. So I think what happened there was I originally had everything on dav.<domain> and that's when I was getting the 409 Conflict messages originally reported back on August 17th. But then in troubleshooting I tried migrating everything to a new Radicale instance and at that time decided to also use some extra locations such as calendars.<domain> and contacts.<domain> to make things a little more user friendly. Turns out that was what caused the 502 Bad Gateway.

                                                        Now that I re-added my account in Calendars app on macOS to be only looking at the original dav.<domain>, I am back at square one with the 409 Conflict error in the logs.

                                                        Sep 17 09:53:01 [2020-09-17 16:53:01 +0000] [1/Thread-7226] [INFO] MOVE response status for '/<username>/<CalendarName>/2BEA501D-3AFF-4DAB-822E-CA90AD276E08.ics' in 0.219 seconds: 409 Conflict
                                                        

                                                        Any ideas? Unfortunately we're sort of back at square one still, as I can't migrate from one calendar to another.

                                                        I think my next task will be to create a new Radicale instance then with only one address, then start creating some new entries from scratch and see if the issue still occurs or not. If not, then I'll try to migrate in my ics exports and see if the issue then comes back, because if it does then perhaps that may point to some possible corruption in the data I have? I'll report back when I test this out.

                                                        --
                                                        Dustin Dauncey
                                                        www.d19.ca

                                                        1 Reply Last reply Reply Quote 0
                                                        • d19dotca
                                                          d19dotca last edited by

                                                          Another update: Quickly spun up a new Radicale instance at davtest.<domain> and created a new event and then moved it to another calendar on the same instance, and now I get it successfully moved.

                                                          Sep 17 10:03:33 [2020-09-17 17:03:33 +0000] [1/Thread-124] [INFO] MOVE response status for '/<username>/87F80099-3192-4C3C-A7E4-C64B864557B1/2BEA501D-3AFF-4DAB-822E-CA90AD276E08.ics' in 0.207 seconds: 201 Created
                                                          

                                                          Next I will try moving in the data from the other calendars from the original Radicale instance via exporting the calendar as an ics file via the macOS Calendar app, import to the new instance, and see if I can then still move events to different calendars.

                                                          --
                                                          Dustin Dauncey
                                                          www.d19.ca

                                                          1 Reply Last reply Reply Quote 0
                                                          • d19dotca
                                                            d19dotca last edited by

                                                            Okay, it seems it's working now with a new instance of Radicale. No idea why the 409 Conflict happened in the first place though. Here's what I have learned, for anyone who comes across this in the future:

                                                            • It seems that Radicale does not like multiple hostnames / redirects to the main hostname, and clients connecting to the redirect name causes the 502 Bad Gateway errors.

                                                            • If you run into the 409 Conflict, I guess just migrate everything to a new instance, and it somehow resolves it. lol.

                                                            Thanks for everyone's help on this! 🙂

                                                            --
                                                            Dustin Dauncey
                                                            www.d19.ca

                                                            1 Reply Last reply Reply Quote 1
                                                            • girish
                                                              girish Staff last edited by

                                                              Great stuff, persisting with it!

                                                              1 Reply Last reply Reply Quote 0
                                                              • First post
                                                                Last post
                                                              Powered by NodeBB