GNOME Bugzilla – Bug 677442
Remove contacts search provider
Last modified: 2012-07-03 10:21:30 UTC
gnome-shell uses folks to display contacts in the overview when searching. This is a great features... but... With facebook, g+ and some EDS ldap, folks is freezing gnome-shell for some very long seconds each time an account goes online/offline. gnome-shell being a single process doing the coffee and eventually doing a WM as well, such freezes are criticals. I prefer not having my contacts when searching apps than having my WM freeze for 5s when I put myself online. I suggest dropping folks support until folks performances are at least 20x better. Folks bug #671636 has some initial analysis of the freezes issue.
After discussion on IRC, it seems gnome-shell is capable to ask other apps to give search results. If that's true, one solution would be to ask gnome-contacts to give the contact info matching the result. I think that stuff like folks has nothing to do in the WM process, whatever is the quality of folks. So deleguating to another app would be the best solution IMO.
Yes, gnome-contacts should implement a search provider so this code can move out of the Shell.
On the other hand, we'll have search-based retrieval in Folks eventually (bug #646808). And either way, gnome-contacts will just be using Folks itself. So, I don't see the point, exactly. Maybe there's room to fix the way Folks-based search works in the shell (it's a very naive implementation last I checked) and the peak resource usage of Folks in your case, but I don't see how routing it all through an application would help.
Being an external search provider will move Folks' code out of Shell's process and so, hopefully, stop blocking the Shell while Folks' is number crushing.
*** Bug 678013 has been marked as a duplicate of this bug. ***
Let's keep this bug to the shell parts ...
Created attachment 217446 [details] [review] overview: Remove contacts search provider With gnome-contacts implementing a remote search provider, the built-in contacts search is now unnecessary duplication; remote it.
Created attachment 217447 [details] [review] shell: Remove ContactSystem Remove the now unused ShellContactSystem. As a side effect, we no longer depend on folks now.
Created attachment 217448 [details] [review] search: Remove createResultContainer() hook It is now unused since the contacts search provider was the only consumer, so remove it.
Review of attachment 217446 [details] [review]: Sure.
Review of attachment 217447 [details] [review]: Sure.
Attachment 217446 [details] pushed as fd256b6 - overview: Remove contacts search provider Attachment 217447 [details] pushed as 970b9de - shell: Remove ContactSystem
What about the last patch? Can we close this bug now the search provider has been removed?
I'd still like the last patch to land ...
Review of attachment 217448 [details] [review]: Looks fine. (Sorry, it seems I just forgot to hit Publish on the review)
Awesome, thanks for the work!
Attachment 217448 [details] pushed as 59246ba - search: Remove createResultContainer() hook