GNOME Bugzilla – Bug 663871
Previous Conversations window unusable for 10 seconds after opening (for high log count)
Last modified: 2018-05-22 15:12:26 UTC
I haven't looked at the code, but I suspect Previous Conversations loads all logs from telepathy-logger with equal priority. When I open the dialog, I think it should only load the conversations for Today (which should be very light in nearly any case), then load additional conversations only as absolutely necessary (eg, if the user clicks on "Yesterday" or "Anytime"). Even if it's common for users to immediately navigate to logs before the previous day, I'm sure they only care about a given day at a time as they browse. So most of the work loading all the conversations for all time is wasted. It looks like a lot of the work is done to generate the listings in the When column. This could be made much more efficient in the common case by having a static listing of "Today", "This week", "Last week", "Last Month", "Last 3 months", etc., and only fetching the results when clicking on a different range (which happens now anyhow). A (possibly better) alternative would be to have a calendar view and a switch between the magnitude (week, month). This phenomenon also occurs when switching to "What" column to "Text Chats" from any other. (It's doing the same work as the original open, I think). It takes so long with my logs that I originally thought it just flat-out failed to populate logs when switching "What".
For fun, I decided to try asking Empathy to show me every log ever. • Open the log viewer; • Wait for it to finish loading Anyone; Anything; Today; • Click Anytime; • Wait… The “Loading…” spinner has been spinning for about four minutes so far. The actual spinner animation started out a bit jerky and got worse and worse over the time. (It currently gets stuck at the vertical position, and about every ten seconds shows about three intervening frames of the animation before getting stuck back at the vertical position.) 36M .local/share/TpLogger/logs/ 1.5M .gnome2/Empathy/logs/ 103M .local/share/Empathy/logs/ It occurred to me that this might be exacerbated by bug 670886 so I signed out, killed Empathy, and tried again. I went away and made a cup of tea, came back, and I'm right where I was before. So this isn't just because of bug 670886 making the loading process literally never terminate, it just takes long enough that it may as well never terminate. As long as it's this slow, I think “Anyone; Anything; Anytime” could reasonably show something like “the first 100 conversations or everything this week, whichever limit is hit first”, with a little note saying “You have way too many logs to show them all; narrow your search down plz.”.
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/empathy/issues/463.