Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contact's birthday on leap day shows up on March 1 instead of February 29 #19218

Closed
rEnr3n opened this issue Jan 30, 2020 · 6 comments · Fixed by #29010
Closed

Contact's birthday on leap day shows up on March 1 instead of February 29 #19218

rEnr3n opened this issue Jan 30, 2020 · 6 comments · Fixed by #29010
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap 25-feedback bug feature: caldav Related to CalDAV internals feature: dav

Comments

@rEnr3n
Copy link

rEnr3n commented Jan 30, 2020

Steps to reproduce

  1. Add contact with birthday on leap day during a non-leap year (e.g. 2019)

Expected behaviour

The contact's birthday should show up on february 28 or march 1 during non-leap year and february 29 during leap year.

Actual behaviour

Contact's birthday shows up on march 1 during both non-leap and leap year.

Server configuration detail

Operating system: Linux 4.19.97-1-ARCH nextcloud/calendar#1 SMP PREEMPT Thu Jan 23 01:29:29 UTC 2020 armv7l

Webserver: nginx/1.17.8 (fpm-fcgi)

Database: pgsql PostgreSQL 12.1 on armv7l-unknown-linux-gnueabihf, compiled by armv7l-unknown-linux-gnueabihf-gcc (GCC) 8.3.0, 32-bit

PHP version:

7.3.12
Modules loaded: Core, date, libxml, openssl, pcre, zlib, ctype, dom, fileinfo, filter, hash, json, mbstring, pcntl, SPL, PDO, bz2, posix, readline, Reflection, session, SimpleXML, standard, tokenizer, xml, xmlreader, xmlwriter, mysqlnd, cgi-fcgi, bcmath, Phar, curl, exif, gd, gettext, gmp, iconv, intl, pdo_pgsql, pgsql, sqlite3, tidy, zip, igbinary, redis, Zend OPcache

Nextcloud version: 17.0.2 - 17.0.2.1

Updated from an older Nextcloud/ownCloud or fresh install: updated from older nextcloud

Where did you install Nextcloud from: pacman

Signing status

Array
(
)

List of activated apps
Enabled:
 - accessibility: 1.3.0
 - activity: 2.10.1
 - apporder: 0.9.0
 - bookmarks: 2.3.4
 - breezedark: 17.0.4
 - bruteforcesettings: 1.5.0
 - calendar: 2.0.1
 - cloud_federation_api: 1.0.0
 - comments: 1.7.0
 - contacts: 3.1.8
 - dav: 1.13.0
 - deck: 0.8.0
 - federatedfilesharing: 1.7.0
 - federation: 1.7.0
 - files: 1.12.0
 - files_external: 1.8.0
 - files_pdfviewer: 1.6.0
 - files_rightclick: 0.15.1
 - files_sharing: 1.9.0
 - files_trashbin: 1.7.0
 - files_versions: 1.10.0
 - files_videoplayer: 1.6.0
 - firstrunwizard: 2.6.0
 - gallery: 18.4.0
 - issuetemplate: 0.6.0
 - logreader: 2.2.0
 - lookup_server_connector: 1.5.0
 - mail: 1.1.1
 - maps: 0.1.2
 - metadata: 0.11.1
 - news: 14.1.2
 - nextcloud_announcements: 1.6.0
 - notes: 3.1.1
 - notifications: 2.5.0
 - oauth2: 1.5.0
 - password_policy: 1.7.0
 - privacy: 1.1.0
 - provisioning_api: 1.7.0
 - ransomware_protection: 1.5.1
 - recommendations: 0.5.0
 - serverinfo: 1.7.0
 - sharebymail: 1.7.0
 - spreed: 7.0.2
 - support: 1.0.1
 - survey_client: 1.5.0
 - suspicious_login: 3.0.1
 - systemtags: 1.7.0
 - tasks: 0.11.3
 - text: 1.1.1
 - twofactor_backupcodes: 1.6.0
 - updatenotification: 1.7.0
 - viewer: 1.2.0
 - workflowengine: 1.7.0
Disabled:
 - admin_audit
 - encryption
 - theming
 - user_ldap

Configuration (config/config.php)
{
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "nextcloud.lan"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "overwrite.cli.url": "https:\/\/nextcloud.lan\/",
    "dbtype": "pgsql",
    "version": "17.0.2.1",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "maintenance": false,
    "logtimezone": "Asia\/Manila",
    "log_rotate_size": 1048576,
    "memcache.local": "\\OC\\Memcache\\Redis",
    "filelocking.enabled": true,
    "memcache.locking": "\\OC\\Memcache\\Redis",
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "port": 0
    },
    "theme": "nextcloud-breeze-dark",
    "mail_smtpmode": "smtp",
    "mail_smtpauthtype": "LOGIN",
    "mail_smtpauth": 1,
    "log_type": "errorlog",
    "loglevel": 0
}

Are you using external storage, if yes which one: local

Are you using encryption:

Are you using an external user-backend, if yes which one:

Client configuration

Browser: Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0

Operating system: Arch Linux

@georgehrke
Copy link
Member

Add contact with birthday on leap day during a non-leap year (e.g. 2019)

Did you enter 2019 as year of birth?

Can you please provide the vcf and ics file of the contact and birthday event?
They are just text files, feel free to open them in a text editor and just remove any private data like names, addresses, phone numbers, etc.

@rEnr3n
Copy link
Author

rEnr3n commented Jan 30, 2020

Did you enter 2019 as year of birth?

I mean the contact's birthday was added (through contacts app) last year (2019) or maybe the year before.

If my memory serves me right, I added the birthday details around 2017-2019.

Note: I renamed the extension to .txt. Github only allows specific file extensions.
leapbirthday.ics.txt
leapbirthday.vcf.txt

@georgehrke
Copy link
Member

The vcf looks fine.
From what i can tell, there is an issue generating the ics data from the vcf file.

Moving this issue to the server repo, since the code in question is part of the dav app.

@georgehrke georgehrke transferred this issue from nextcloud/calendar Jan 30, 2020
@georgehrke georgehrke added 1. to develop Accepted and waiting to be taken care of feature: dav bug labels Jan 30, 2020
@mattian
Copy link
Contributor

mattian commented Apr 12, 2021

The behaviour depends on year of birth:

  • when it is before 1970, birthday event is shown on March 1 of every year
  • otherwise, birthday event is shown on February 29 of leap years only

I could work on this in the next few days.

@szaimen
Copy link
Contributor

szaimen commented Jan 9, 2023

Hi, please update to 24.0.8 or better 25.0.2 and report back if it fixes the issue. Thank you!

@szaimen szaimen added needs info 0. Needs triage Pending check for reproducibility or if it fits our roadmap and removed 1. to develop Accepted and waiting to be taken care of labels Jan 9, 2023
@rEnr3n
Copy link
Author

rEnr3n commented Jan 10, 2023

I'm on 25.0.2. I looked at the date february 2020 and the contact's birthday shows up at march 1, not february 29.

The keys from the vcf has also changed since then:

BEGIN:VCARD
VERSION:3.0
UID:REDACTED
ADR;TYPE=home:;REDACTED;REDACTED;REDACTED
;REDACTED;REDACTED;REDACTED
BDAY:1964-02-29
FN:REDACTED
N:REDACTED;REDACTED;REDACTED;;
NICKNAME:REDACTED
REV:20221122T213543Z
TEL;TYPE=home,cell:REDACTED
TEL;TYPE=home,cell:REDACTED
TEL;TYPE=home,cell:REDACTED
TEL;TYPE=home,cell:REDACTED
TEL;TYPE=home,cell:REDACTED
TEL;TYPE=home,cell:REDACTED
END:VCARD

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap 25-feedback bug feature: caldav Related to CalDAV internals feature: dav
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants