Upgraded to Contacts 3.1.4 just moments ago, and got this in like 500 of my 1245 contacts:

The only thing changed from what I can see is that the "Title" field moved like 2 mm on the screen after applying the "fix". Though I don't really know what it fixed.
I suggest to make it possible to either via an occ command, or a "button" (@jancborchardt) - fix all contacts at once. I'd rather not go through all the 500 contacts manually applying the fix.
Thanks!
cc @georgehrke
Hey!
Not going to happen here, contacts will not provide an occ command for this, this is out of scope. :)
Those fixes are here if you open your contact. You don't need to fix all of your contact 1 by 1. If everything seems to work for you (so far), then all is good! :tada:
This error message is here when you were about to edit a specific contact. You're reading this one, you got a message, then click the button and call it a day.
This is not a invitation to fix all your contacts, but an information.
Nonetheless, you seems to have a missing icon, which is an issue.

The only thing changed from what I can see is that the "Title" field moved like 2 mm on the screen after applying the "fix". Though I don't really know what it fixed.
This on the other hand, we could improve.
There is already an open issue about better error handling in those cases.
Though this is technical, so I'm torn between not showing the user anything and showing too much. :thinking:
I just saw this same message. What exactly is broken that needed this fix?
You can check the browser console for more details :)
OK, so here's my web console:
```
JQMIGRATE: Migrate is installed, version 1.4.1 jquery-migrate.min.js:2:551
oc_config is deprecated: use OC.config instead 2 globals.js:26:15
New search handler registered search.js:67:12
Connected to dav!
{…}
__ob__: Object { value: {…}, dep: {…}, vmCount: 0 }
_isConnected:
_request:
addressBookHomes:
advertisedFeatures:
calendarHomes:
currentUserPrincipal:
parser:
principalCollections:
publicCalendarHome:
rootUrl:
Contacts.vue:299
The escapeHTML library is deprecated! It will be removed in nextcloud 19. 17 globals.js:26:15
The following contact needed a correction that failed: duplicate types
Object { jCal: Getter & Setter, addressbook: Getter & Setter, vCard: Getter & Setter, conflict: Getter & Setter, dav: Getter & Setter, … }
validate.js:38:14
The following contact needed a correction that failed: duplicate types
Object { jCal: Getter & Setter, addressbook: Getter & Setter, vCard: Getter & Setter, conflict: Getter & Setter, dav: Getter & Setter, … }
validate.js:38:14
Locale used sv PropertyDateTime.vue:171
The following contact needed a correction that failed: duplicate types
Object { jCal: Getter & Setter, addressbook: Getter & Setter, vCard: Getter & Setter, conflict: Getter & Setter, dav: Getter & Setter, … }
validate.js:38:14
The following contact has been repaired: invalid REV
{…}
__ob__: Object { value: {…}, dep: {…}, vmCount: 0 }
addressbook:
conflict:
dav:
jCal:
vCard:
validate.js:42:14
Locale used sv PropertyDateTime.vue:171
GEThttps://cloud.example.nu/css/core/68b4-57b0-server.css?v=d41d8cd98f00b204e9800998ecf8427e-8d72b446
[HTTP/2.0 200 OK 0ms]
Expected ‘none’, URL, or filter function but found ‘Alpha(’. Error in parsing value for ‘filter’. Declaration dropped. contacts:48:9
Expected ‘none’, URL, or filter function but found ‘alpha(’. Error in parsing value for ‘filter’. Declaration dropped. contacts:667:10
Expected ‘none’, URL, or filter function but found ‘Alpha(’. Error in parsing value for ‘filter’. Declaration dropped. contacts:1044:9
Expected ‘none’, URL, or filter function but found ‘Alpha(’. Error in parsing value for ‘filter’. Declaration dropped. contacts:1051:9
Expected ‘none’, URL, or filter function but found ‘Alpha(’. Error in parsing value for ‘filter’. Declaration dropped. contacts:1055:9
Expected ‘none’, URL, or filter function but found ‘Alpha(’. Error in parsing value for ‘filter’. Declaration dropped. contacts:1307:10
GEThttps://cloud.example.nu/css/core/68b4-57b0-css-variables.css?v=d41d8cd98f00b204e9800998ecf8427e-8d72b446
[HTTP/2.0 200 OK 0ms]
GEThttps://cloud.example.nu/apps/files_pdfviewer/css/style.css?v=ca9f0d77
[HTTP/2.0 200 OK 0ms]
GEThttps://cloud.example.nu/css/notifications/daf8-57b0-styles.css?v=d41d8cd98f00b204e9800998ecf8427e-daf82050
[HTTP/2.0 200 OK 0ms]
Expected ‘none’, URL, or filter function but found ‘Alpha(’. Error in parsing value for ‘filter’. Declaration dropped. contacts:175:9
Expected ‘none’, URL, or filter function but found ‘Alpha(’. Error in parsing value for ‘filter’. Declaration dropped. contacts:182:9
GEThttps://cloud.example.nu/css/core/68b4-57b0-results.css?v=d41d8cd98f00b204e9800998ecf8427e-8d72b446
[HTTP/2.0 200 OK 0ms]
Expected ‘none’, URL, or filter function but found ‘Alpha(’. Error in parsing value for ‘filter’. Declaration dropped. contacts:186:9
Expected ‘none’, URL, or filter function but found ‘Alpha(’. Error in parsing value for ‘filter’. Declaration dropped. contacts:438:10
Expected ‘none’, URL, or filter function but found ‘alpha(’. Error in parsing value for ‘filter’. Declaration dropped. contacts:132:11
Unknown property ‘-moz-border-radius’. Declaration dropped. contacts:136:22
Expected ‘none’, URL, or filter function but found ‘alpha(’. Error in parsing value for ‘filter’. Declaration dropped. contacts:146:11
Unknown property ‘-moz-border-radius’. Declaration dropped. contacts:150:22
GEThttps://cloud.example.nu/css/contacts/1e49-57b0-contacts.css?v=d41d8cd98f00b204e9800998ecf8427e-1e4966dd
[HTTP/2.0 200 OK 0ms]
Unknown property ‘zoom’. Declaration dropped. contacts:9:10
Expected declaration but found ‘*’. Skipped to next declaration. contacts:10:5
Expected ‘none’, URL, or filter function but found ‘progid’. Error in parsing value for ‘filter’. Declaration dropped. contacts:55:13
Expected ‘none’, URL, or filter function but found ‘progid’. Error in parsing value for ‘filter’. Declaration dropped. contacts:67:13
Expected ‘none’, URL, or filter function but found ‘alpha(’. Error in parsing value for ‘filter’. Declaration dropped. contacts:128:13
Expected ‘none’, URL, or filter function but found ‘progid’. Error in parsing value for ‘filter’. Declaration dropped. contacts:195:13
GEThttps://cloud.example.nu/css/icons/icons-vars.css?v=1569707716
[HTTP/2.0 200 OK 0ms]
Expected ‘none’, URL, or filter function but found ‘progid’. Error in parsing value for ‘filter’. Declaration dropped. contacts:277:13
Expected ‘none’, URL, or filter function but found ‘progid’. Error in parsing value for ‘filter’. Declaration dropped. contacts:289:13
Expected ‘none’, URL, or filter function but found ‘progid’. Error in parsing value for ‘filter’. Declaration dropped. contacts:532:13
Expected ‘none’, URL, or filter function but found ‘alpha(’. Error in parsing value for ‘filter’. Declaration dropped. contacts:15:10
Stylesheets without CSSOM changes reparsed to check for errors. Refresh the page to also see errors from stylesheets changed from CSSOM and from style attributes.
Unrecognized at-rule or error parsing at-rule ‘@-ms-viewport’. 68b4-57b0-server.css:1:22451
Unknown pseudo-class or pseudo-element ‘read-only’. Ruleset ignored due to bad selector. 1e49-57b0-contacts.css:1:11327
Stylesheets without CSSOM changes reparsed to check for errors. Refresh the page to also see errors from stylesheets changed from CSSOM and from style attributes.
XHRGEThttps://cloud.example.nu/ocs/v2.php/apps/notifications/api/v2/notifications
[HTTP/2.0 200 OK 64ms]
XHRGEThttps://cloud.examlpe.nu/ocs/v2.php/apps/notifications/api/v2/notifications
[HTTP/2.0 200 OK 64ms]
XHRGEThttps://cloud.example.nu/ocs/v2.php/apps/notifications/api/v2/notifications
[HTTP/2.0 200 OK 62ms]
XHRGEThttps://cloud.example.nu/ocs/v2.php/apps/notifications/api/v2/notifications
[HTTP/2.0 200 OK 59ms]
```
Nextcloud 17.0.0
Just pasting it here won't help me @enoch85.
This is for you if you want to debug, you will be able to open the contact object and explorer the data. The console paste is not readable as is.
@skjnldsv Worth a try ;)
I manually fixed all my contacts anyway.
manually "fixing" them one by one is certainly not a solution if we have hundreds of contacts, and the message is annoying, should be fixed some other way!

Am I the only one that feels that asking the user to debug the app themselves without ever working on the app themselves and having to try and understand a severely nested object that doesn't appear to give any useful information is a bit ludicrous? Is this how Nextcloud developers usually handle user issues?
I'd also like to add that clicking the button doesn't even work for some contacts so we really have no guidance on how to proceed here.
I also have 5 of my contacts where the save button did not fix the problem. Everytime I open one of these contacts, the warning will appear again.
Hey there!
Is this how Nextcloud developers usually handle user issues?
If this is an issue and I need more infos into this, definitely!
I'm no magician that knows the bug you're experiencing, we definitely needs to work together to figure something you're experiencing! :)
manually "fixing" them one by one is certainly not a solution if we have hundreds of contacts
Are you checking all your contacts one by one every day?
The original plan to this little tooltip was to notify you while you were browsing. You wanted to check a contact? "Ho, a small fix exists, let me click it". Then call it a day :woman_shrugging:
That was what I had in mind. Nonetheless, I'll add an automated process for some of the fixes since we're at it. Less control for you, but less actions too I guess!
I also have 5 of my contacts where the save button did not fix the problem
This nonetheless is very helpful to me :)
Could you open a new issue ad follow the template please?
I will need the console log message and the network tab screenshot after you clicked the button please :bowing_woman:
Open your console, reload your page and/or do the action leading to this issue and copy/paste the log in this thread.
How to access your browser console (Click to expand)
Before you do anything, still on the development tools, there is a tab called network. Click on it and then the xhr filter. Do your action and screenshot the network log like this:

Opened a new issue #1313
As far I could see, all my contacts have this flag. If I look at the vcard tab in Thunderbird Cardbook, repair the contact and compare then the vcard entry, it seems that only the ETAG: and the REV: entry changed.
On nextcoud itself I have many problems with contacts which do not appear in the Categories they belong to.
I get this error for any contacts that I've "favourited" in my Android contacts app. Is this because Nextcloud doesn't support the "favourite" tag?
REV as REV:20191125T222506Z.REV as REV;VALUE=DATE-AND-OR-TIME:20191125T222506ZBoth applications start their vCards like:
BEGIN:VCARD
VERSION:3.0
VALUE=date-time. DAVx5 provides the correct format.date-and-or-time nor is it defined in RFC 2425 which includes format definitions for vCard 3.0. The value date-and-or-time is valid in vCard 4.0.ical.js, a vCard 4.0 library.https://gateway.pinata.cloud/ipfs/QmcWfMXDgBSAYk9X5Lh9tWjkuoJz39LHq2BSNDYThkfiYV
Well spotted. So there must be more wrong. Is the vcard version statement wrong or other tags that NC writes are wrong? Vcard 4 is not supported everywhere. NC ought to support both versions.
Thanks @jaller94, this is now in https://github.com/nextcloud/contacts/issues/1352
- That's because Nextcloud Contacts claims to write vCard 3.0 but uses
ical.js, a vCard 4.0 library.
Nope, it also supports vcard3 :)
I got the same issue when syncronizing all phone contacts from Davx. Instead of manually validating each contact on Nextcloud Contact app, I exported contacts from phone to vcf file, then imported them to Nextcloud Contact app. As @jaller94 says, Davx vcards does not comply with nextcloud expectations.
I got the same issue (validate.js reports: The following contact has been repaired: invalid REV ).
But I think, it's not just a DAVx issue. I synced a very simple contact (name, first name, note/description) with Thunderbird with Cardbook (V45.1), DAVx (V3.3-gplay (303000006)) and Nextcloud 18.0.6.
I get the error message in my browser, if I change it on my Android with DAVx and sync it back just as I change it in Thunderbird with Cardbook an sync it back.
Most helpful comment
Nextcloud Contacts flags DAVx5 edits as broken
REVasREV:20191125T222506Z.REVasREV;VALUE=DATE-AND-OR-TIME:20191125T222506ZTechnically, Nextcloud Contacts makes them invalid
Both applications start their vCards like:
VALUE=date-time. DAVx5 provides the correct format.date-and-or-timenor is it defined in RFC 2425 which includes format definitions for vCard 3.0. The valuedate-and-or-timeis valid in vCard 4.0.ical.js, a vCard 4.0 library.Code in question
https://github.com/nextcloud/contacts/blob/8fc07c131b5edbf44f516236c61c5fcb9dd9dce6/src/services/checks/invalidREV.js#L31-L33
Example files
https://gateway.pinata.cloud/ipfs/QmcWfMXDgBSAYk9X5Lh9tWjkuoJz39LHq2BSNDYThkfiYV