Contacts 2.0.0 released

Hi everybody,

today we released version 2.0.0 of the :card_index: Contacts app!

Enhancements:

  • Introducing lazy loading, faster initial loading #88
  • Sorting of contacts is now possible #121
  • Addressbook list design improved #101
  • New import progress screen #123
  • You can now choose which addressbook to import to #123
  • Better errors notifications: corrupted avatar, contact not found, contact save failure, no write permission on shared addressbook #281 #265 #114
  • You can now rename addressbooks #172
  • Contacts menu integration #173
  • Some cards are automatically fixed #137
  • Show ORG as name if the card is an organisation #320
  • New fields gender #214, relationship #315

Major fixes:

  • New groups donā€™t split into letters anymore #191
  • PUT requests in the dav lib now use the correct content-type #197
  • Contact no longer disappear on addressbook move #289
  • Groups and contacts update on addressbook deletion #288
  • Prevent errors with read-only contacts #299

Various:

  • Various bug fixes
  • Various design fixes

Happy testing, I hope you like the release!
Please report issues here: https://github.com/nextcloud/contacts/issues

8 Likes

Nice, many things I was missing coming at once, great work :+1:!!

  • Sorting does (for me) for now just offer first name, last name and shown name. Sorting by other fields would be great, e.g. home city, birthday and also by ā€œlast changeā€ :slight_smile:.
  • Also the sorting button is a bid hidden in settings tab, I personally would prefer it directly on top of the list itself. But view on mobile devices with possibly small screens might be considered.
2 Likes
  • Iā€™m not sure about the home city and birthday, but last changes sounds like something one would use! :+1: We also already have an open issue for this https://github.com/nextcloud/contacts/issues/272
  • One normally doesnā€™t change the sorting order too often, thatā€™s why it is for now hidden in the settings menu. When we add additional filter we may place it in a more prominent spot
1 Like

Ah nice, someone also made a more elaborated suggestion about location sorting. Yeah maybe not too important and definitely not useful as default sorting, but if I e.g. want to fast find and email my Switzerland relatives, this can be used. (Ah, searching for ā€œSwitzerlandā€ will also do the job of courseā€¦)

Birthday was just a really personal idea, as I, if I add someoneā€™s birthday without knowing his/her year of birth, I just add the current yeah. So later I could sort by birthday/yeah and quickly find the ones where the year is ā€œmissingā€ to add it.

After starting the update from Apps, this is all I get:

{"reqId":"WGSEGzDnhhyjkj0uipoF","level":4,"time":"2017-10-03T15:25:48+02:00","remoteAddr":"xxx.xxx.xxx.xxx","user":"me","app":"webdav","method":"PROPFIND","url":"\/remote.php\/dav\/files\/me\/","message":"Exception: {\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\ServiceUnavailable\",\"Message\":\"System in maintenance mode.\",\"Code\":0,\"Trace\":\"#0 [internal function]: OCA\\\\DAV\\\\Connector\\\\Sabre\\\\MaintenancePlugin->checkMaintenanceMode(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#1 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#2 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(466): Sabre\\\\Event\\\\EventEmitter->emit('beforeMethod', Array)\\n#3 \\\/var\\\/www\\\/nextcloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(254): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#4 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/dav\\\/lib\\\/Server.php(258): Sabre\\\\DAV\\\\Server->exec()\\n#5 \\\/var\\\/www\\\/nextcloud\\\/apps\\\/dav\\\/appinfo\\\/v2\\\/remote.php(33): OCA\\\\DAV\\\\Server->exec()\\n#6 \\\/var\\\/www\\\/nextcloud\\\/remote.php(162): require_once('\\\/var\\\/www\\\/nextcl...')\\n#7 {main}\",\"File\":\"\\\/var\\\/www\\\/nextcloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/MaintenancePlugin.php\",\"Line\":82}","userAgent":"Mozilla\/5.0 (Windows) mirall\/2.3.2 (build 1) (Nextcloud)","version":"12.0.3.3"}

Any ideas?

Edit: Also NC is loading forever. Only thing I can do is kill Nginx, sudo fuser -k 443/tcp and then turn maintenance off.

System in maintenance mode.

Your nextcloud instance seems to be still in maintenance mode.
If you are sure updates, etc. are already finished, try disabling the maintenance mode:
https://docs.nextcloud.com/server/12/admin_manual/configuration_server/occ_command.html#maintenance-commands-label
Alternatively you can edit the config/config.php file and set ā€˜maintenanceā€™ from true to false.

Edit: Does everything work after disabling the maintenance mode?

Edit: Does everything work after disabling the maintenance mode?

Yes, except the update failed. Happens every time I try. Somehow the update seems to freeze NC

When updating the app, do you get a feedback? Can you check the network requestā€™s response on the dev tools?

Can you check if there is a signature.json file in apps/contacts/appinfo/?

drwxr-x--- 2 www-data www-data 4,0K Apr  6 23:05 ./
drwxr-x--- 9 www-data www-data 4,0K Apr  6 23:05 ../
-rw-r----- 1 www-data www-data 1,2K Apr  6 23:05 app.php
-rw-r----- 1 www-data www-data 1,4K Apr  6 23:05 info.xml
-rw-r----- 1 www-data www-data  754 Apr  6 23:05 routes.php
-rw-r----- 1 www-data www-data  24K Apr  6 23:05 signature.json

When updating the app, do you get a feedback? Can you check the network requestā€™s response on the dev tools?

You mean this?:

POST XHR https://me.oc.org/index.php/settings/ajax/updateapp.php Kopfzeilen
POST
Antwort
Cookies
Aufrufliste
Acceptapplication/json, text/javascript, */*; q=0.01Accept-Encodinggzip, deflate, brAccept-Languagede,en-US;q=0.7,en;q=0.3Connectionkeep-aliveContent-Length14Content-Typeapplication/x-www-form-urlencoded; charset=UTF-8Cookie__Host-nc_sameSiteCookielax=true; __Host-nc_sameSiteCookiestrict=true; ocgvn5x4de5e=ekvim1p8tvf6ei06j0icv1ig11; oc_sessionPassphrase=OxuBdKNW2kH%2FSztr2HTxr0TXZvdsomW9ydzXS8ZiFW0gZTWdwALnkhAF3NjUpePkI104AwV9g6e4C1KC8fhf03FHrwN4MEPUJsWAftaKmYKepZ7JYA5Mx4JfWDpDiAJrDNT1Hostme.oc.orgOCS-APIREQUESTtrueUser-AgentMozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0X-Requested-WithXMLHttpRequestrequesttoken++22huzie/c/DHIMbsxBABQAtq8M9OvnAvQHOtqhZI0=:s9vS8qqJPKAKOgplIqEvS1xRgs01ktq0T55BY7blS9g=

GET XHR https://me.oc.org/ocs/v2.php/apps/notifications/api/v2/notifications Kopfzeilen
Antwort
Cookies
Aufrufliste
Acceptapplication/jsonAccept-Encodinggzip, deflate, brAccept-Languagede,en-US;q=0.7,en;q=0.3Connectionkeep-aliveCookie__Host-nc_sameSiteCookielax=true; __Host-nc_sameSiteCookiestrict=true; ocgvn5x4de5e=ekvim1p8tvf6ei06j0icv1ig11; oc_sessionPassphrase=OxuBdKNW2kH%2FSztr2HTxr0TXZvdsomW9ydzXS8ZiFW0gZTWdwALnkhAF3NjUpePkI104AwV9g6e4C1KC8fhf03FHrwN4MEPUJsWAftaKmYKepZ7JYA5Mx4JfWDpDiAJrDNT1Hostme.oc.orgOCS-APIREQUESTtrueUser-AgentMozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0X-Requested-WithXMLHttpRequestrequesttoken++22huzie/c/DHIMbsxBABQAtq8M9OvnAvQHOtqhZI0=:s9vS8qqJPKAKOgplIqEvS1xRgs01ktq0T55BY7blS9g=

That is all that is shown.

Oh, the contacts app didnā€™t even upgrade? Anything in the nextcloud.log? Any error in the browser console?

Yes, but there is a way of showing more data. Are you using ff or chrome?

Iā€™m using Firefox.

You should have this list, the updateapp.php POST request is what I need.
You should have a response tab which I need :slight_smile:

I need the response tab! :slight_smile:
ā€œThe Antwort tabā€

Sorry, not really familiar with the console

Though Iā€™m pretty sure it is not helpful either :slight_smile:

@skjnldsv wollte den den Antwort tab :wink: auf der rechten Seite ist aktuell Kopfzeile ausgewƤhlt. Kannst du eventuell davon noch einen Screenshot dann machen, bzw. den Inhalt kopieren?

Ich fange an, mich dumm zu fĆ¼hlenā€¦ Aber das Teil ist auch leer.