"Birthdays from contacts" calendar appears as editable in Business Calendar 2 (v2.53.8) despite server-side read-only status

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.