nextcloud / nextcloud/contacts
Anniversary not displayed if entered on iOS
Nobody has claimed this yet.
- 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
- On an iOS device open contacts, tap edit, add anniversary.
- Open the Contact in Nextcloud
- Note that the anniversary is not displayed
- Download the contact file
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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