nextcloud / nextcloud/contacts

Day of death

Open
#2,047 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Describe the bug

A vCard (v3.0) entry of "DEATHDATE:YYYYMMDD" in a VCF file results in "Invalid date" under the headline "Date of death".
......
......

To Reproduce
Steps to reproduce the behavior:

  1. Create a VCF file
  2. Import it in NC contacts app'
  3. View the person's vCard data

BEGIN:VCARD
VERSION:3.0
FN:Smith, John
N:Smith;John;;
BDAY:19370119
ADR;type=home:;;Wallstreet 1;New York;New Jersey;12345;USA
DEATHDATE:20180216
DEATHPLACE;VALUE=uri:geo:98765 Los Angeles
REV:20210202T080324Z
END:VCARD

REMEDY / WORKAROUND:
Change "DEATHDATE:20180216" to "DEATHDATE:2018-02-16" (Note the hyphens). However this is in contrast to RFC6350.

Expected behavior
The date of death (format "YYYYMMDD") should be displayed according to the entry in the VCF file.

NOTE: The description of this bug is also valid for vCard version 4.0.

Actual behavior
Message "Invalid date" under the headline "Date of death" is shown when opening the person's vCard data

Screenshots
If applicable, add screenshots to help explain your problem.

Server configuration

Operating system: Windows, Linux, MacOS...
Linux

Web server: Apache, Nginx...
Apache 2.4.38

Database: MariaDB, MySQL, PostgreSQL...
MariaDB

PHP version: 7.0, 7.1, 7.2...
PHP7.3

Nextcloud version: (see Nextcloud admin page)
20.0.7

Contacts version: (see Nextcloud apps page)
v3.4.3

Updated from an older Nextcloud or fresh install:
Fresh install

No further evidence required.

Signing status:

Login as admin user into your Nextcloud and access 
http://example.com/index.php/settings/integrity/failed 
paste the results here.

List of activated apps:

If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your Nextcloud installation folder

Nextcloud configuration:

If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your instance's installation folder

or

Insert your config.php content here
Make sure to remove all sensitive content such as passwords. (e.g. database password, passwordsalt, secret, smtp password, …)
Client configuration

Browser:

Operating system:

CardDAV-clients:

Logs
Web server error log
Insert your webserver log here
Nextcloud log
data/nextcloud.log
Insert your Nextcloud log here
Browser log
How to access your browser console (Click to expand)

Chrome

  • Press either CTRL + SHIFT + J to open the “console” tab of the Developer Tools.
  • Alternative method:
    1. Press either CTRL + SHIFT + I or F12 to open the Developer Tools.
    2. Click the “console” tab.

Safari

  • Press CTRL + ALT + I to open the Web Inspector.
  • See Chrome’s step 2. (Chrome and Safari have pretty much identical dev tools.)

IE9

  1. Press F12 to open the developer tools.
  2. Click the “console” tab.

Firefox

  • Press CTRL + SHIFT + K to open the Web console (COMMAND + SHIFT + K on Macs).
  • or, if Firebug is installed (recommended):
    1. Press F12 to open Firebug.
    2. Click on the “console” tab.

Opera

  1. Press CTRL + SHIFT + I to open Dragonfly.
  2. Click on the “console” tab.
Insert your browser log here, this could for example include:

a) The javascript console log
b) The network log 
c) ...

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

Start by importing the provided vCard into the Contacts app and reproducing the Invalid date message for DEATHDATE:20180216. Trace the date parsing and display path for the Date of death field, then verify that the compact YYYYMMDD value is shown correctly without breaking the hyphenated form.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.