Skip to content

Anniversary not displayed if entered on iOS #4499

Open
@davidpkj

Description

@davidpkj

Describe the bug

When entering an anniversary using the nextcloud web interface, it is being saved as:

ANNIVERSARY;VALUE=DATE:19960415

While Apple Contacts seems to save it as:

ANNIVERSARY:19960415

As per RFC (https://datatracker.ietf.org/doc/html/rfc6350#section-6.2.6) both should be fine. However the Apple-style format is not displayed in the contact info or on the birthday calendar. While the former is properly handled.

Steps to reproduce

  1. On an iOS device open contacts, tap edit, add anniversary.
  2. Open the Contact in Nextcloud
  3. Note that the anniversary is not displayed
  4. Download the contact file
  5. Note that the anniversary is there

Expected behavior

Apple-style anniversary entries are respected and displayed on contact info page and birthday calendar.

Actual behavior

Apple-style anniversary entries are being saved, but not displayed.

Contact version

7.0.4

Operating system

NixOS 25.05

PHP engine version

PHP 8.3

Web server

Nginx

Database

SQLite

Additional info

Since I use NixOS here is also my Nextcloud module for reproducibility. server.nextcloud.addr is simply the domain at which Nextcloud is hosted.

{
  config,
  lib,
  options,
  pkgs,
  ...
}:
let
  nextcloudVersion = pkgs.nextcloud31;
in
{
  options.server.nextcloud.addr = lib.mkOption {
    type = lib.types.str;
  };

  config = {
    environment.etc."nextcloud-admin-pass".text = "temp_passwd";

    services = {
      nextcloud = {
        enable = true;

        https = true;
        configureRedis = true;
        package = nextcloudVersion;
        home = "/srv/nextcloud";
        maxUploadSize = "1G";
        hostName = config.server.nextcloud.addr;

        extraAppsEnable = true;
        extraApps = {
          inherit (nextcloudVersion.packages.apps)
            contacts
            calendar
            tasks
            ;
        };

        config = {
          dbtype = "sqlite";
          # adminuser = "davidpkj"; # root
          adminpassFile = "/etc/nextcloud-admin-pass";
        };
      };

      nginx.virtualHosts.${config.server.nextcloud.addr} = {
        forceSSL = true;
        enableACME = true;
      };
    };
  };
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions