The Basics
Nextcloud Server version (e.g., 29.x.x): Nextcloud Hub 10 (31.0.13) – Managed by Hetzner (Storage Share NX11)
URL: https://www.hetzner.com/storage/storage-share/
Operating system and version (e.g., Ubuntu 24.04): Server: Linux 6.8.0-87-generic x86_64
Desktop: Linux Mint 22.3 - Cinnamon 64-bit
Mobile: Android 16 / One UI 8.0 (Samsung Galaxy S24)
Web server and version (e.g, Apache 2.4.25): Managed by Hetzner (Storage Share)
Reverse proxy and version (e.g. nginx 1.27.2): Managed by Hetzner (Storage Share)
PHP version (e.g, 8.3): 8.3.29 (Memory Limit: 1 GB)
Is this the first time you’ve seen this error? (Yes / No): Yes
When did this problem seem to first start?: January 2026, immediately after migrating from Google and setting up the CalDAV sync.
Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.): Managed Service (Hetzner Storage Share NX11)
Are you using Cloudflare, mod_security, or similar? (Yes / No): No (using standard Hetzner Storage Share configuration)
Summary of the issue you are facing: The automatically generated calendar “Birthdays from contacts” is correctly marked as read-only in the Nextcloud Web Interface (verified on Linux Mint 22.3). However, in the Android app Business Calendar 2 (v2.53.8), these entries appear with an edit icon (pencil). The app seems to ignore the server-side read-only status for this specific CalDAV stream.
Steps to replicate it (hint: details matter!): 1. Use a Hetzner Storage Share NX11 instance with birthdays populated in the Contacts app.
2. Enable “Birthday calendar” in the Nextcloud Calendar web settings.
3. Sync the calendar to a Samsung Galaxy S24 (Android 16, One UI 8.0, Baseband s921bxxsccza1, Security patch level Jan 2026).
4. Use the direct CalDAV sync feature within Business Calendar 2 (v2.53.8).
5. Open any birthday event and observe the presence of the “Edit” (pencil) icon.
Log entries
Nextcloud: Managed instance. System info summary:
-
Files: 67,996
-
Free space: 607.7 GB
-
PHP Extensions: apcu, bcmath, gd, gmp, imagick, intl, ldap, memcached, mysqli, pdo_mysql, redis, zip, etc.
Web Browser: The web interface on Linux Mint 22.3 works perfectly. No errors in the console. The issue is restricted to the mobile CalDAV client interaction.
Web server / Reverse Proxy: N/A (Managed by Hetzner Storage Share).
Configuration
Nextcloud: * Database: mysql (MariaDB) version 10.11.15
-
Database Size: 198.2 MB
-
Memory Limit: 1 GB
-
Max Upload: 10 GB
Apps: * Contacts
-
Calendar
-
(Standard Storage Share app set)
Tips for increasing the likelihood of a response I am using a direct CalDAV connection within the app (no 3rd party sync apps like DAVx5). The internal birthday feature of Business Calendar 2 is disabled. I am looking for verification if the READ-ONLY flag (RFC 4791) is correctly transmitted for the “Birthdays from contacts” calendar.