There is an "optimisation" in which the service feeds the contacts to get them into nepomuk as fast as possible. then it updates the alias + groups (which is broken btw.. it tries to do this before it inserts the contact) which does nothing) _then_ the avatar is loaded async and we update the avatar afterwards For a client running this means we load each contact at least twice, possibly 3 times in very quick succession. Which means things end up being far slower and items jump around a lot. Martin, can you ping me and we'll look for a nice way to tidy this up. I had a look, and the only way that is currently sensible is to copy + paste code which I want to avoid.
Git commit 54a073de1c70c4ab91e1145ff6e0953ed17eac53 by David Edmundson. Committed on 31/08/2013 at 00:13. Pushed by davidedmundson into branch 'master'. Populate new contact alias, avatar and groups on initial load Whilst this makes fetching data from Telepathy have a slightly higher latency than inserting minimal data and then updating it the stress this causes on Nepomuk and in particular anything using the database having to update everything twice is much greater. REVIEW: 112393 M +0 -11 account.cpp M +1 -1 controller.cpp M +35 -20 nepomuk-storage.cpp M +5 -0 nepomuk-storage.h http://commits.kde.org/telepathy-nepomuk-service/54a073de1c70c4ab91e1145ff6e0953ed17eac53
Git commit 2e43d21e4c40e8fb81ec23ef3d1ec78fa9c30c99 by David Edmundson. Committed on 31/08/2013 at 00:13. Pushed by davidedmundson into branch 'nepomuk-feeder'. Populate new contact alias, avatar and groups on initial load Whilst this makes fetching data from Telepathy have a slightly higher latency than inserting minimal data and then updating it the stress this causes on Nepomuk and in particular anything using the database having to update everything twice is much greater. REVIEW: 112393 M +0 -11 kpeople/nepomuk-feeder/account.cpp M +1 -1 kpeople/nepomuk-feeder/controller.cpp M +35 -20 kpeople/nepomuk-feeder/nepomuk-storage.cpp M +5 -0 kpeople/nepomuk-feeder/nepomuk-storage.h http://commits.kde.org/telepathy-common-internals/2e43d21e4c40e8fb81ec23ef3d1ec78fa9c30c99