Missing d:resourceType on personal Calendar after upgrade

Nextcloud version (eg, 29.0.5): 29.0.8
Operating system and version (eg, Ubuntu 24.04): Debian 12.8
Apache or nginx version (eg, Apache 2.4.25): 2.4.62
PHP version (eg, 8.3): 8.1

The issue you are facing:

After upgrading Nextcloud, one of the calendars has not any values set for d:resourceType. It is therefore discarded from rendered calendars.

Is this the first time you’ve seen this error? (Y/N): Y

Steps to replicate it:

  1. Go to user’s calendar app
  2. Check response to PROPFIND to the principalUri
  3. The calendar is not visible

The output of your Nextcloud log in Admin > Logging:

[PHP] Error: unserialize(): Error at offset 48 of 51 bytes at /var/www/nextcloud/apps/dav/lib/DAV/CustomPropertiesBackend.php#579
	PROPFIND /remote.php/dav/calendars/user/
	from [ip] by user at Nov 11, 2024, 6:53:11 PM

I looks like some serialized Sabre object being corrupt… the problem is, I don’t know where in the database to find it?

Update

I found the table with the problematic entry

nextcloud=# select * from oc_properties where propertyname='{DAV:}resourcetype';
 id | userid |      propertypath       |    propertyname    |                    propertyvalue                    | valuetype
----+--------+-------------------------+--------------------+-----------------------------------------------------+-----------
 23 | user   | calendars/user/personal | {DAV:}resourcetype | O:35:"Sabre\DAV\Xml\Property\ResourceType":1:{s:8:" |         3
(1 row)

I wonder why this is the only such record though… it’s not the only calendar on the instance.