nextcloud / nextcloud/contacts

Anniversary not displayed if entered on iOS

Open
#4,499 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop bug feature: contacts
Dominant language
JavaScript
Stars
642
Forks
220
Avg merge
14h 39m
Merged PRs (30d)
51

Description

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;
      };
    };
  };
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with an Apple Contacts anniversary and inspect how the downloaded vCard is handled by the contact info page and birthday calendar. Trace the anniversary entry from the vCard through both display paths; done means Apple-style ANNIVERSARY entries appear in both places, with coverage for the reported format.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.