Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Caldav limit tag on initial sync causes incorrect Caldav error response. #48678

Open
4 of 8 tasks
JeroenBer opened this issue Oct 13, 2024 · 65 comments
Open
4 of 8 tasks
Assignees
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap 28-feedback 29-feedback 30-feedback bug feature: caldav Related to CalDAV internals regression

Comments

@JeroenBer
Copy link

⚠️ This issue respects the following points: ⚠️

Bug description

OneCalendar users are experiencing errors when syncing caldav calendars with Nextcloud. This used to be working.

As OneCalendar developer I tried to reproduce the problem and for the latest versions of 28,29 and 30 the Caldav response is no longer working correctly when
doing a initial sync.

Hereby an overview of which versions are working correct/incorrect:

  • 28.0.9 Correct
  • 28.0.10 Incorrect
  • 28.0.11 Incorrect
  • 29.0.6 Correct
  • 29.0.7 Incorrect
  • 29.0.8 Incorrect
  • 30.0.0 Incorrect

Steps to reproduce

Sync caldav calendar data:

Request data

<sync-collection xmlns="DAV:">
  <sync-token />
  <sync-level>1</sync-level>
  <limit>
    <nresults>100</nresults>
  </limit>
  <prop>
    <getetag />
  </prop>
</sync-collection>

Actual response data (507):

<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
	<s:exception>Interne serverfout</s:exception>
	<s:message>
		De server was niet in staat je aanvraag te verwerken.		Stuur de hieronder afgebeelde technische details naar de serverbeheerder wanneer dit opnieuw gebeurt.		Meer details in de serverlogging,			</s:message>

	<s:technical-details>
		<s:remote-address>172.17.0.1</s:remote-address>
		<s:request-id>du8YMujFjQr6HIRmBFm1</s:request-id>

		</s:technical-details>
</d:error>

Expected behavior

According to https://tools.ietf.org/html/rfc6578#section-3.11 the caldav server does not need to support limit tag but in that case the following 507 response data is expected:

<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
  <s:exception>OCA\DAV\Exception\UnsupportedLimitOnInitialSyncException</s:exception>
  <s:message/>
  <d:number-of-matches-within-limits/>
</d:error>

Nextcloud Server version

28

Operating system

None

PHP engine version

None

Web server

None

Database engine version

None

Is this bug present after an update or on a fresh install?

None

Are you using the Nextcloud Server Encryption module?

None

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

No response

List of activated Apps

No response

Nextcloud Signing status

No response

Nextcloud Logs

No response

Additional info

Perhaps there has been a minor update/fix of SabreDav that caused this problem in the newer 28/29/30 versions ?

@JeroenBer JeroenBer added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Oct 13, 2024
@joshtrichards
Copy link
Member

joshtrichards commented Oct 13, 2024

<s:request-id>du8YMujFjQr6HIRmBFm1</s:request-id>

The nextcloud.log should have a stack trace or some logging associated with this request id since it's an internal server error (I believe). Happen to have it handy from one of the instances that isn't responding as expected?

Enabling debug mode should also populate technical-details with more info.

I haven't looked too closely, but so far the changes introduced via #47770 & #47805 align most closely with your findings.

@kesselb
Copy link
Contributor

kesselb commented Oct 14, 2024

Thanks for your report, and sorry for the troubles.

I agree with Josh that likely #47770 and #47805 changed how we handle the UnsupportedLimitOnInitialSyncException.

@JeroenBer
Copy link
Author

JeroenBer commented Oct 14, 2024

Hi, I reproduced and looked in the nextcloud.log. This was what came up:

{"reqId":"HXLFwXcaYbWcv9Fym23z","level":3,"time":"2024-10-14T18:45:34+00:00","remoteAddr":"172.17.0.1","user":"admin","app":"webdav","method":"REPORT","url":"/remote.php/dav/calendars/admin/personal/","message":"Exception thrown: OCA\\DAV\\Exception\\UnsupportedLimitOnInitialSyncException","userAgent":"curl/7.54","version":"30.0.0.14","exception":{"Exception":"OCA\\DAV\\Exception\\UnsupportedLimitOnInitialSyncException","Message":"","Code":0,"Trace":[{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Sync/Plugin.php","line":121,"function":"getChanges","class":"OCA\\DAV\\CalDAV\\Calendar","type":"->","args":[null,"1",100]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Sync/Plugin.php","line":62,"function":"syncCollection","class":"Sabre\\DAV\\Sync\\Plugin","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"Sabre\\DAV\\Sync\\{closure}","class":"Sabre\\DAV\\Sync\\Plugin","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":690,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["report",["*** sensitive parameters replaced ***","*** sensitive parameters replaced ***","*** sensitive parameters replaced ***"]]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpReport","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["method:REPORT",[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":370,"function":"start","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":19,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":146,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/apps/dav/lib/CalDAV/Calendar.php","Line":369,"message":"","exception":{},"CustomMessage":"Exception thrown: OCA\\DAV\\Exception\\UnsupportedLimitOnInitialSyncException"}}

It seems indeed the Caldav "UnsupportedLimitOnInitialSyncException".

Probably the changes in #47770 or #47805 changed this behavior and is now producing incorrect exception behavior for Caldav. In my opinion this is clearly a bug, and it might also potentially cause issues in other Caldav errors.

We are receiving more and more mails from people affected by this behavior. Is this something that can be fixed soon ?

@kesselb
Copy link
Contributor

kesselb commented Oct 15, 2024

cc @artonge do you have a tip for us how to prevent the default exception handler to overwrite our exception?

@artonge
Copy link
Contributor

artonge commented Oct 15, 2024

Hmm, maybe we should display the exception for a given set of HTTP code. Probably here:

public function generateBody(\Throwable $ex, int $httpCode): mixed {
if ($this->acceptHtml()) {
$templateName = 'exception';
$renderAs = 'guest';
if ($httpCode === 403 || $httpCode === 404) {
$templateName = (string)$httpCode;
}
} else {
$templateName = 'xml_exception';
$renderAs = null;
$this->server->httpResponse->setHeader('Content-Type', 'application/xml; charset=utf-8');
}
$debug = $this->config->getSystemValueBool('debug', false);
$content = new OC_Template('core', $templateName, $renderAs);
$content->assign('title', $this->server->httpResponse->getStatusText());
$content->assign('remoteAddr', $this->request->getRemoteAddress());
$content->assign('requestID', $this->request->getId());
$content->assign('debugMode', $debug);
$content->assign('errorClass', get_class($ex));
$content->assign('errorMsg', $ex->getMessage());
$content->assign('errorCode', $ex->getCode());
$content->assign('file', $ex->getFile());
$content->assign('line', $ex->getLine());
$content->assign('exception', $ex);
return $content->fetchPage();
}

Update that method to display or not the exception based on the HTTP code.

@JeroenBer
Copy link
Author

JeroenBer commented Oct 25, 2024

Hi,
Any news on this ? Can this be solved quickly for the next release ?
More and more users of OneCalendar are mailing us about this problem in Nextcloud now.
Currently there is no workaround and people cannot use their calendar in OneCalendar.

@pampasadmin
Copy link

The trouble with 30.0.1 is, that there is no switch back possible to 29.0.6 resp. 28.0.9. Therefore waiting for resolution is the only way forward.

@ctosae
Copy link

ctosae commented Oct 29, 2024

I have the same problem!
Is it possible to install a specific version of Nextcloud AIO like 29.0.6?
And... when will this issue be fixed @joshtrichards?

@poek1
Copy link

poek1 commented Nov 1, 2024

I use the Android App OneCalender and get the Errormessage "This does not appear to be a valis CalDav server" when try to add my nextcloud account to it. It does work well with Thunderbird at Mac and Win. Would be nice to get it fixxed soon.

Nextcloud 29.0.3
OneCalender 5.6.0

I am only a user, my Nextcloudadmin gave me that link to Github.

Update: my Admin updated to 29.0.6 and its not working (Server got restart)

@emaas
Copy link

emaas commented Nov 15, 2024

I have multiple users that are running into this issue.
My Nextcloud automatically get's updated every night to keep all the maintenance manageable.
When you are already connected to OneCalender everything works properly.
It is just with the initial setup that it is not working.

@nouse4it
Copy link

I have the exact same problem. I had to reset my phone and start over with the calendar setup. Now I can´t get to run because of the limit error.
When is this going to be fixed?
According to google, this problem occurred several times already in the past Nextcloud versions, f.e. ---> #18490

@pampasadmin
Copy link

On my Android tablet and on win11 the account setup seems to work. However syncing fails.

@bitsky6

This comment has been minimized.

@VEF-Admin
Copy link

VEF-Admin commented Nov 23, 2024

The error is still present with the latest version of NC (30.0.2) and OneCalendar (5.6.0). Is there any guess when a patch/update/workaround will be available? Thanks!

@andreyvb
Copy link

I've tried several apps that sync the calendar over caldav - none work with NextCloud right now.

@Minstrel27
Copy link

Minstrel27 commented Nov 25, 2024

I did some further research and testing, and what I’ve found is that there is a bug in later versions of Nextcloud that prevents INITIAL syncing of caldav calendars. Those versions are 28.0.10 or higher, 29.0.7 or higher, and all versions of 30. Calendars where the initial sync was done in prior versions continue to sync correctly in the latest versions.

I was able to confirm this by going back and installing version 29.0.6, migrating all my data and settings, syncing the calendars, then upgrading to 30.0.2 and everything worked correctly. Obviously doing a new install of 29.0.6 each time I want to add a new user with all that entails is a task I don’t want to do every week, but at least I have an option.

Hopefully this will be fixed in the near future.

@kesselb kesselb moved this from 📄 To do to 🏗️ In progress in 💌 📅 👥 Groupware team Nov 28, 2024
@JeroenBer
Copy link
Author

Hello @kesselb @ChristophWurst @joshtrichards @artonge

We (OneCalendar) have already received hundreds of mails from Nextcloud users facing this issue. Reading the comments above it also seems to fail with other CalDav clients. In reality probably thousands of users are affected who can no longer sync their Nextcloud calendars.

It will be more and more affected users since it fails on initial sync if users try to connect their account again, or if they update their Nextcloud server.

For OneCalendar it's difficult/tricky to build a temporary workaround since OneCalendar syncs with a lot of other servers as well, and it could create problems and loops for non-nextcloud users.

Would it be possible to prioritise this issue ? Any estimates on when it will be solved ?

@JohnNissley
Copy link

This problem makes it very difficult to support calendars in Nextcloud at this time. Please make the nextcloud dav calendar server compliant with industry standards. All dav calendar clients I use are having issues connecting to nextcloud calendars when the initial connection did not happen on a lower version of nextcloud.
Please make this a priority since using nextcloud calendar for any size organization is not practical at this time and calendars are very important for any organization.

@solracsf
Copy link
Member

solracsf commented Dec 2, 2024

Fix should be at #49004 (backports to 30, 29 and 28 will likelly happen in minor releases of January 2025).

@kesselb
Copy link
Contributor

kesselb commented Jan 19, 2025

Hi there,

As much as I hated doing it, as I prefer to run stable, I upgraded to the 31 beta which did resolve the issue, so I assume it will be fixed in the next major release at least.

The patch was merged into master (the source for the current 31 version) but will be reverted due to issues discovered during testing the backports for versions 30, 29, and 28.1

I can only assume the enterprise version works

That assumption is incorrect.

Footnotes

  1. https://github.com/nextcloud/server/pull/49960

@arcoast
Copy link

arcoast commented Jan 19, 2025

Hi there,

As much as I hated doing it, as I prefer to run stable, I upgraded to the 31 beta which did resolve the issue, so I assume it will be fixed in the next major release at least.

The patch was merged into master (the source for the current 31 version) but will be reverted due to issues discovered during testing the backports for versions 30, 29, and 28.1

Thanks for the heads up. I'll pin my version for now then on beta 4. Out of curiosity, what has been the challenge in reverting things back to a working state? It's clearly something far more involved and complicated than we'd imagined.

That assumption is incorrect.

Footnotes

  1. Revert: Restore dav error response #49960

I stand corrected, I got to say I'm surprised as I would have imagined businesses being of the opinion this is a significant issue.

Like I said, for me, I just need to keep the wife happy.

@JeroenBer
Copy link
Author

@kesselb @arcoast

Any idea what timeline we should expect now for a fix ? Days / weeks / months or won't be fixed ?

@mikebakke
Copy link

mikebakke commented Jan 23, 2025

My instance upgraded to 3.0.5 last night. One Calendar still fails to sync.

Stuff, [23/01/2025 09:15]
net_http_message_not_success_statuscode_reason, 507, Insufficient Storage :
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Internal Server Error</s:exception>
<s:message>
The server was unable to complete your request. If this happens again, please send the technical details below to the server administrator. More details can be found in the server log. </s:message>

<s:technical-details>
<s:remote-address>n.n.n.n</s:remote-address>
<s:request-id>OawupUIPUTEVC5c05lGF</s:request-id>

</s:technical-details>
</d:error>

Action: SyncReceiveCalendar
Calendar: Personal

XCalendarApp.CalDavProvider.DavAccountRequestException: net_http_message_not_success_statuscode_reason, 507, Insufficient Storage :
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Internal Server Error</s:exception>
<s:message>
The server was unable to complete your request. If this happens again, please send the technical details below to the server administrator. More details can be found in the server log. </s:message>

<s:technical-details>
<s:remote-address>n.n.n.n</s:remote-address>
<s:request-id>OawupUIPUTEVC5c05lGF</s:request-id>

</s:technical-details>
</d:error>

---> CodeSpark.Apps.Common.Net.Exceptions.HttpException: net_http_message_not_success_statuscode_reason, 507, Insufficient Storage
---> System.Net.Http.HttpRequestException: net_http_message_not_success_statuscode_reason, 507, Insufficient Storage
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
at CodeSpark.Apps.Common.Net.HttpClients.OneHttpClient.ExecuteRequest(CancellationToken cancellationToken, String url, String httpMethod, String requestContent, String authorizationHeader, Dictionary2 requestHeaders)
Exception_EndOfInnerExceptionStack
at CodeSpark.Apps.Common.Net.HttpClients.OneHttpClient.ExecuteRequest(CancellationToken cancellationToken, String url, String httpMethod, String requestContent, String authorizationHeader, Dictionary2 requestHeaders)
at CodeSpark.Apps.Common.Net.WebRequests.WebRequest.ExecuteRaw(OneHttpClientFactory httpClientFactory, CancellationToken cancellationToken, XHttpClientRequirements httpClientRequirements, String url, String httpMethod, String mediaType, String requestData, String authorizationHeader, Dictionary2 requestHeaders, HttpCredential serverCredential, Boolean allowAutoRedirect, Boolean addUserAgentHeader, Encoding responseEncoding)
at CodeSpark.Apps.Common.Net.WebRequests.ScopedWebRequest.ExecuteRaw(CancellationToken cancellationToken, XHttpClientRequirements httpClientRequirements, String url, String httpMethod, String mediaType, String requestData, String authorizationHeader, Dictionary2 requestHeaders, HttpCredential serverCredential, Boolean allowAutoRedirect, Boolean addUserAgentHeader, Encoding responseEncoding)
at XCalendarApp.CalDavProvider.DavBasicConnection.Request(Uri url, String httpMethod, String contentType, String requestContent, Dictionary2 requestHeaders, Int32 maxRedirects)
Exception_EndOfInnerExceptionStack
at XCalendarApp.CalDavProvider.DavBasicConnection.Request(Uri url, String httpMethod, String contentType, String requestContent, Dictionary2 requestHeaders, Int32 maxRedirects)
at XCalendarApp.CalDavProvider.DavBasicConnection.Request(Uri url, String method, String contentType, String requestContent, Dictionary2 requestHeaders)
at Dav.Client.Common.DavCommon.Request(Uri url, String method, String contentType, String requestContent, Dictionary2 headers)
at Dav.Client.CalDav.CalDavServerCalendar.RequestSync(String syncToken, Int32 maxFetchLimit, Boolean useLimits)
at Dav.Client.CalDav.CalDavServerCalendar.RequestSync(String syncToken, Int32 maxFetchLimit, Boolean useLimits)

Stuff, [23/01/2025 09:15]
at Dav.Client.CalDav.CalDavServerCalendar.GetSyncChanges(String syncToken)
at XCalendarApp.CalDavBaseProvider.CalDavBaseAccount1.d__16[[XCalendarApp.CalDavBaseProvider.CachedCalDavBaseCalendar, XCalendarApp.CalDavBaseProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
at XCalendarApp.ProviderBase.AccountProviderBase9.d__106[[XCalendarApp.CalDavBaseProvider.CachedCalDavBaseCalendar, XCalendarApp.CalDavBaseProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Dav.Client.CalDav.CalendarProperties, Dav.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[XCalendarApp.CalDavBaseProvider.CachedCalDavBaseAppointment, XCalendarApp.CalDavBaseProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[CalDav.iCalendar.Event, CalDav.iCalendar, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[XCalendarApp.CalDavBaseProvider.CachedCalDavBaseContacts, XCalendarApp.CalDavBaseProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[XCalendarApp.CalDavBaseProvider.CachedCalDavBaseContact, XCalendarApp.CalDavBaseProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[CardDav.vCard.VCard, CardDav.vCard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[XCalendarApp.CalDavBaseProvider.CalDavBaseAppointmentDbData, XCalendarApp.CalDavBaseProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[OneSuite.Apps.Model.Domain.Accounts.CaldavAccountOptions, OneSuite.Apps.Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
RequestType: REPORT
RequestUrl: https://aio.mikebakke.com/remote.php/dav/calendars/mike/personal/
RequestData:

1

100





ResponseData:
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Internal Server Error</s:exception>
<s:message>
The server was unable to complete your request. If this happens again, please send the technical details below to the server administrator. More details can be found in the server log. </s:message>

<s:technical-details>
<s:remote-address>n.n.n.n</s:remote-address>
<s:request-id>OawupUIPUTEVC5c05lGF</s:request-id>

</s:technical-details>
</d:error>

Inner exception: CodeSpark.Apps.Common.Net.Exceptions.HttpException: net_http_message_not_success_statuscode_reason, 507, Insufficient Storage
---> System.Net.Http.HttpRequestException: net_http_message_not_success_statuscode_reason, 507, Insufficient Storage
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
at CodeSpark.Apps.Common.Net.HttpClients.OneHttpClient.ExecuteRequest(CancellationToken cancellationToken, String url, String httpMethod, String requestContent, String authorizationHeader, Dictionary2 requestHeaders)
Exception_EndOfInnerExceptionStack
at CodeSpark.Apps.Common.Net.HttpClients.OneHttpClient.ExecuteRequest(CancellationToken cancellationToken, String url, String httpMethod, String requestContent, String authorizationHeader, Dictionary2 requestHeaders)
at CodeSpark.Apps.Common.Net.WebRequests.WebRequest.ExecuteRaw(OneHttpClientFactory httpClientFactory, CancellationToken cancellationToken, XHttpClientRequirements httpClientRequirements, String url, String httpMethod, String mediaType, String requestData, String authorizationHeader, Dictionary2 requestHeaders, HttpCredential serverCredential, Boolean allowAutoRedirect, Boolean addUserAgentHeader, Encoding responseEncoding)
at CodeSpark.Apps.Common.Net.WebRequests.ScopedWebRequest.ExecuteRaw(CancellationToken cancellationToken, XHttpClientRequirements httpClientRequirements, String url, String httpMethod, String mediaType, String requestData, String authorizationHeader, Dictionary2 requestHeaders, HttpCredential serverCredential, Boolean allowAutoRedirect, Boolean addUserAgentHeader, Encoding responseEncoding)

Stuff, [23/01/2025 09:15]
at XCalendarApp.CalDavProvider.DavBasicConnection.Request(Uri url, String httpMethod, String contentType, String requestContent, Dictionary2 requestHeaders, Int32 maxRedirects)
Inner exception: System.Net.Http.HttpRequestException: net_http_message_not_success_statuscode_reason, 507, Insufficient Storage
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
at CodeSpark.Apps.Common.Net.HttpClients.OneHttpClient.ExecuteRequest(CancellationToken cancellationToken, String url, String httpMethod, String requestContent, String authorizationHeader, Dictionary2 requestHeaders)

@nouse4it
Copy link

I am using the beta version 31 beta 4 with the new updated calendar version 3.0.5
I delete my nextcloud account in One Calendar and created it again. Now the initial sync works!

@mikebakke
Copy link

@nouse4it thanks for confirming - I'd prefer to stay on stable for this instance but may consider on my other one although as I'm AIO, not sure if that's supported.

tbh just amazed at how long Nextcloud are prepared to leave the (probably) most important collaboration app in an errored state. I suppose all the dev resource will be allocated towards AI "features" like in every other service today :-)

@poek1
Copy link

poek1 commented Jan 23, 2025

My Admin updated Nextcloud to 3.0.5 and I tested it. Delete the Account in onecalender and added as new. Can add it and get an Initial sync Error. And Error every sync i try

Bad.

@arcoast
Copy link

arcoast commented Jan 23, 2025

I am using the beta version 31 beta 4 with the new updated calendar version 3.0.5 I delete my nextcloud account in One Calendar and created it again. Now the initial sync works!

@nouse4it As far as I understand it, the patch to fix will be reverted in the v31 branch, so you need to stay on beta 4 now until the fix is applied again in the v31 branch.

See this comment above and this PR

@nouse4it
Copy link

I am using the beta version 31 beta 4 with the new updated calendar version 3.0.5 I delete my nextcloud account in One Calendar and created it again. Now the initial sync works!

@nouse4it As far as I understand it, the patch to fix will be reverted in the v31 branch, so you need to stay on beta 4 now until the fix is applied again in the v31 branch.

See this comment above and this PR

Mhm, but this is only regarding the intial sync right? When the initial setup is done, there shouldn`t be any more problems?
Because I only ran into this whole issue because I needed to resetup my OneCalendar.
Other users, who didn´t need to do this had the regular sync of the calendar working just fine the whole time.

I just don´t want to run a beta version, if I don´t need to anymore

@arcoast
Copy link

arcoast commented Jan 24, 2025

I am using the beta version 31 beta 4 with the new updated calendar version 3.0.5 I delete my nextcloud account in One Calendar and created it again. Now the initial sync works!

@nouse4it As far as I understand it, the patch to fix will be reverted in the v31 branch, so you need to stay on beta 4 now until the fix is applied again in the v31 branch.

I think going from v30 to v31 is a one way street, due to some database changes. So unless you have a backup and restore you're kind of stuck on beta until v31 stable (the branch of which has a pending PR to revert the fix, but hopefully will be reimplemented before the release of v31) It is all rather confusing...

@JeroenBer
Copy link
Author

Good news for OneCalendar users: we are working on a workaround for this Nextcloud bug in OneCalendar.

We still believe Nextcloud should fix this and make their product compliant with CalDAV standards, however it seems to have no priority and we have no faith this will be solved/fixed by Nextcloud anytime soon or maybe not at all.

If all goes well, we hope to have a new OneCalendar release in 1-2 weeks that should work around this bug.

@ChristophWurst
Copy link
Member

Thank you @JeroenBer. This fix has priority and we have @kesselb work on this this week. If it were that simple, a fix would have landed a lot earlier. But be assured that we take this very serious.

@Razorblade12
Copy link

@ChristophWurst and @JeroenBer
Do you have any updates on that?

@JeroenBer
Copy link
Author

@Razorblade12

The OneCalendar workaround is gradually being rolled out:

  • Windows: fully rolled out (2025.124.1)
  • iOS / macOS: tomorrow fully rolled out (5.7.1)
  • Android: fully rolled out next week (5.7.1)

So if you received a OneCalendar update with the version above (or higher) then please check and confirm if it works for you.

@Razorblade12
Copy link

Razorblade12 commented Feb 7, 2025

@JeroenBer
I have the latest Windows version 2025.124.1 and already tried to re-add my calendar(s) some days ago but it still failed.
My Nextcloud version is 30.0.4

Update:
Had to re-add the account on Windows, now it works.

Thank you

@mikebakke
Copy link

I just updated through Android Play Store and the synchronisation worked! Thank you, much appreciated

@poek1
Copy link

poek1 commented Feb 8, 2025

I just updated through Android Play Store and the synchronisation worked! Thank you, much appreciated

i cant believe you, in Androis is no version 5.7.1 avaiable. Its still 5.7.0. Its still broken on my phone!

@JeroenBer
Copy link
Author

As I said before it's rolled out gradually, that means it's not directly available for all devices but might take up to a week. So please try again in a week and it should be available.
Or join the OneCalendar beta version where it's available for sure.

@poek1
Copy link

poek1 commented Feb 8, 2025

Or join the OneCalendar beta version where it's available for sure.

unfortunatly the beta version program is full and I cant join, but no problem will wait another week for 5.7.1 - thanks for bugfixxing nextclouds bug

@mikebakke
Copy link

I just updated through Android Play Store and the synchronisation worked! Thank you, much appreciated

i cant believe you, in Androis is no version 5.7.1 avaiable. Its still 5.7.0. Its still broken on my phone!

Believe or don't believe - that's your choice. It clearly is available for me in UK

Image

@poek1
Copy link

poek1 commented Feb 9, 2025

Oh, UK first, for android updates :-) thanks for the screenshot, I am happy for you.

@vagner-dias
Copy link

Hello all. The update has arrived in Brazil. I have just updated the app in my Android to 5.7.1 and NC Calendar works perfectly now. Cheers.

@tpapp
Copy link

tpapp commented Feb 9, 2025

I have updated to OneCalendar 5.7.1 but I am still getting the error. Is there an extra step involved, eg removing the account then adding it back?

@PastCoder
Copy link

I had to remove the account from OneCalendar and to create it new. After that it worked.

@MajorP93
Copy link

I can confirm the workaround for this Nextcloud bug that OneCalendar implemented works fine.

Glad to see OneCalendar provided a solution where Nextcloud did not do so for a long time.

@VEF-Admin
Copy link

+1 from Hungary. The workaround solved the problem. No error message, calendar sync is just fine.

@poek1
Copy link

poek1 commented Feb 12, 2025

The workaround solved the problem, without resetup of the account (but i did a lot with older versions). After update to 5.7.1 the sync worked well again! Thank you so much

@MajorP93
Copy link

Thank you @JeroenBer. This fix has priority and we have @kesselb work on this this week. If it were that simple, a fix would have landed a lot earlier. But be assured that we take this very serious.

Is this prioritized fix included in the most recent stable release (v30.0.6)?
If not: for which release is it planned?

@MaggiWuerze
Copy link

MaggiWuerze commented Feb 13, 2025

@kesselb @ChristophWurst How is it looking for a february release? Not all of us use OneCalendar...

@kesselb
Copy link
Contributor

kesselb commented Feb 13, 2025

How is it looking for a february release?

I'm afraid the patches didn't make it into the February release. However, things are looking good so far, and unless we spot any additional issues, the patches will be included in the March release. Also, the current release candidate for 31 should already include them.

Not all of us use OneCalendar...

@MaggiWuerze Out of curiosity, which client are you using?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap 28-feedback 29-feedback 30-feedback bug feature: caldav Related to CalDAV internals regression
Projects
Status: 🏗️ In progress
Development

No branches or pull requests