GNOME Bugzilla – Bug 713703
spinner should spin as messages are loaded
Last modified: 2014-02-26 02:06:24 UTC
---- Reported by adam@yorba.org 2012-01-23 12:01:00 -0800 ---- Original Redmine bug id: 4644 Original URL: http://redmine.yorba.org/issues/4644 Searchable id: yorba-bug-4644 Original author: Adam Dingle Original description: To see the problem, delete your Geary database and run Geary. Enter your email address and password. You'll see the following: 1. The progress spinner spins as Geary loads the folder list. 2. You see a list of folders on the left. The spinner stops spinning. 3. After several seconds, message subjects start to appear in the message list. They continue to arrive for a few more seconds. The spinner is not spinning during this time. 4. The spinner spins again as Geary loads message previews. Instead, the spinner should spin continuously throughout the sequence above. Related issues: related to geary - 7238: Folders slow to load on new accounts (Fixed) related to geary - 5636: [quantal] progress spinner does not spin (Invalid) related to geary - Feature #4654: display progress spinner in pane(s) where information wil... (Open) related to geary - Feature #6365: Prefetch mail in background (Fixed) related to geary - Feature #6580: Refresh button (Duplicate) related to geary - 6985: Background process reporting (Open) related to geary - Feature #4629: show sending progress (Fixed) related to geary - Bite-sized #7184: More prominent busy indicator (Fixed) ---- Additional Comments From geary-maint@gnome.bugs 2013-10-04 05:00:00 -0700 ---- ### History #### #1 Updated by Adam Dingle over 1 year ago Similarly: 1. Exit Geary. 2. Send yourself email using another program. 3. Start Geary. Only after several seconds will the progress spinner appear and start spinning, after which the new message appears. Instead, the spinner should spin continuously from the time Geary starts until all messages in view have been downloaded. #### #2 Updated by Adam Dingle over 1 year ago * **Assignee** set to _Nate Lillich_ #### #3 Updated by Adam Dingle over 1 year ago * **Assignee** deleted (<strike>_Nate Lillich_</strike>) #### #4 Updated by Adam Dingle over 1 year ago * **Target version** deleted (<strike>_0.1_</strike>) #### #5 Updated by Adam Dingle over 1 year ago * **Category** set to _client_ * **Target version** set to _0.2_ #### #6 Updated by Adam Dingle about 1 year ago * **Target version** deleted (<strike>_0.2_</strike>) #### #7 Updated by Jim Nelson 10 months ago * **Target version** set to _0.3.0_ #### #8 Updated by Jim Nelson 9 months ago Reported on Launchpad: https://bugs.launchpad.net/geary/+bug/1133690 #### #9 Updated by Jim Nelson 9 months ago * **Target version** changed from _0.3.0_ to _0.4.0_ #### #10 Updated by Adam Dingle 5 months ago This bug still affects me every day, and I'm eager to see a fix for 0.4. #### #11 Updated by Eric Gregory 5 months ago * **Assignee** set to _Eric Gregory_ #### #12 Updated by Adam Dingle 5 months ago Glad to see this assigned - currently this bug is at the top of my wishlist. Go Eric! :) #### #13 Updated by Eric Gregory 4 months ago * **Status** changed from _Open_ to _Review_ Ready for review at bug/4644-spin-me-right-round As discussed, this patch does two things: * The status bar spinner indicates when the conversation monitor is busy * A new HTML/CSS spinner appears in the conversation view if the conversation is taking > 100ms to load. #### #14 Updated by Jim Nelson 4 months ago * **Status** changed from _Review_ to _Open_ This looks great, but I do see this warning when I select a conversation: ![crt] 12:08:42 void webkit_dom_element_set_attribute(WebKitDOMElement*, const gchar*, const gchar*, GError**): assertion `self' failed I do like how the client is cleaned up a bit with this patch! #### #15 Updated by Jim Nelson 4 months ago Here's the stack trace when the assertion fires: #0 g_logv (log_domain=0x0, log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffd958) at /build/buildd/glib2.0-2.36.0/./glib/gmessages.c:981 #1 0x00007ffff39f2492 in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at /build/buildd/glib2.0-2.36.0/./glib/gmessages.c:1010 #2 0x00007ffff5ddd435 in webkit_dom_element_set_attribute () from /usr/lib/libwebkitgtk-3.0.so.0 #3 0x00000000004d11ff in conversation_web_view_hide_element_by_id (self=self@entry=0xaca000, element_id=element_id@entry=0x14d7de0 "", error=error@entry=0x7fffffffdb28) at /home/jim/git/geary-trunk/src/client/views/conversation-web-view.vala:79 #4 0x00000000004c6cdf in conversation_viewer_set_mode (self=self@entry=0xa66170, mode=mode@entry=CONVERSATION_VIEWER_DISPLAY_MODE_CONVERSATION) at /home/jim/git/geary-trunk/src/client/views/conversation-viewer.vala:1807 #5 0x00000000004cd3dd in conversation_viewer_add_message (self=0xa66170, email=0x7fff7005bc20) at /home/jim/git/geary-trunk/src/client/views/conversation-viewer.vala:414 #6 0x00000000004ced1c in conversation_viewer_select_conversation_async_co (_data_=0xb8f7a0) at /home/jim/git/geary-trunk/src/client/views/conversation-viewer.vala:312 #7 0x00007ffff3f5e1d7 in g_simple_async_result_complete (simple=0x12eb270) at /build/buildd/glib2.0-2.36.0/./gio/gsimpleasyncresult.c:777 #8 0x00000000004c3bd0 in conversation_viewer_fetch_full_message_async_co (_data_=0x9399f0) at /home/jim/git/geary-trunk/src/client/views/conversation-viewer.vala:381 #9 0x00007ffff3f5e1d7 in g_simple_async_result_complete (simple=0x12dc570) at /build/buildd/glib2.0-2.36.0/./gio/gsimpleasyncresult.c:777 #10 0x0000000000596216 in geary_imap_engine_generic_folder_real_fetch_email_async_co (_data_=0x1538680) at /home/jim/git/geary-trunk/src/engine/imap-engine/imap-engine-generic-folder.vala:1056 #### #16 Updated by Eric Gregory 4 months ago * **Status** changed from _Open_ to _Review_ The issue turned out to be that we were passing the empty string into get_element_by_id(). Easy fix, but I'm still scratching my head over why this error doesn't appear on my desktop. #### #17 Updated by Jim Nelson 4 months ago Commit! #### #18 Updated by Eric Gregory 4 months ago * **Status** changed from _Review_ to _Fixed_ Applied in changeset 9068d6330b5e5ddaf7080021a0d4379d761fce49. #### #19 Updated by Adam Dingle 4 months ago * **Status** changed from _Fixed_ to _Open_ I still don't think this is working satisfactorily. To see the problem: 1. Exit Geary. 2. Send yourself a message using a Web mail site or another application. 3. Start Geary. 4. Several seconds will elapse (on my machine, I count at least 5) during which no progress spinner is visible. 5. The progress spinner briefly appears and spins. 6. The new message appears in the inbox. The spinner should spin continuously from the moment Geary is started until all new messages have been fetched and are present in the Inbox. Reopening. #### #20 Updated by Eric Gregory 4 months ago I have some improvements up at bug/4644-spin-doctors Namely, this adds: * Spinner now reflects refreshing the folder list when the account opens and loading previews * Simplified client code ever-so-slightly * AggregatedProgressMonitor is now a bit closer to completion That said, I'm not entirely certain this patch is ready for review or if more work is needed due to #7238. Once that's closed I'll revisit this one. #### #21 Updated by Eric Gregory 4 months ago * **Status** changed from _Open_ to _Review_ Now that we've had some more insight into #7238, I think it's safe to land this patch. I've updated the branch. #### #22 Updated by Jim Nelson 4 months ago Commit! #### #23 Updated by Eric Gregory 4 months ago * **Status** changed from _Review_ to _Fixed_ Applied in changeset a2546b5231ebf88bc5a23af158cc5cd231bcccb1. #### #24 Updated by Adam Dingle 4 months ago * **Status** changed from _Fixed_ to _Open_ Works like a charm! Thanks, Eric - finally I can actually tell when Geary is done checking for email on startup! #### #25 Updated by Jim Nelson 4 months ago * **Status** changed from _Open_ to _Need Information_ Adam -- did you mean to re-open this ticket? It sounds like you're happy with how it works. #### #26 Updated by Adam Dingle 4 months ago * **Status** changed from _Need Information_ to _Open_ I did not mean to reopen the ticket. Either I changed its status by mistake, or the status automatically changed back to Open when I added my comment (perhaps due to a permissions limitation?) Changing back to Open now... #### #27 Updated by Adam Dingle 4 months ago The status is now Open again, but I can't change it to Fixed - that doesn't appear as one of my Status options! I didn't intentionally change this ticket's status when I added comment #24, so I suspect it automatically changed to Open because I don't have permission for the Fixed status. Can you guys help with that? #### #28 Updated by Charles Lindsay 4 months ago * **Status** changed from _Open_ to _Need Information_ Erm. Fixed doesn't show up for me either. Let me try changing it to something else to see if I can change it to Fixed after. #### #29 Updated by Charles Lindsay 4 months ago No dice. Adam, I've made you a redmine admin again. Maybe since you're the author of the ticket and now you're an admin, it'll let you change it? This seems like a redmine bug -- I can't find any reason given our settings why it wouldn't let anyone set this to fixed again. #### #30 Updated by Jim Nelson 4 months ago * **Status** changed from _Need Information_ to _Fixed_ The problem was that #7238 was marked as blocking this ticket (which it was until we made some incremental improvements toward those problems). I've removed the blocking status and this should close now. Let's see... #### #31 Updated by Adam Dingle about 1 month ago * **Status** changed from _Fixed_ to _Open_ * **Assignee** deleted (<strike>_Eric Gregory_</strike>) * **Target version** changed from _0.4.0_ to _0.5.0_ This was working well for awhile, but has recently regressed. If you perform the steps in #19 above, you'll see that there's once again a pause of several seconds (with no spinner spinning) before a new message shows up. Reopening. --- Bug imported by chaz@yorba.org 2013-11-21 20:22 UTC --- This bug was previously known as _bug_ 4644 at http://redmine.yorba.org/show_bug.cgi?id=4644 Unknown milestone "unknown in product geary. Setting to default milestone for this product, "---". Setting qa contact to the default for this product. This bug either had no qa contact or an invalid one. Resolution set on an open status. Dropping resolution
I've got a patch at wip/spinner-713703 that fixes this for me. Adam, want to take a look so we can be sure before merging this?
I've gone ahead and merged this into master. Feel free to reopen if the problem persists. Fixed in commit ab4de5e.
Thanks, Charles! Seems to be working fine. I've wanted to see this bug squashed for a couple of years now so it's great to see this fixed at last!