Opened 10 years ago

Closed 6 years ago

#245 closed defect (fixed)

Don't block when starting settings sections

Reported by: tomeu Owned by: walter
Priority: Urgent Milestone: Unspecified
Component: Sugar Version: Git as of bugdate
Severity: Major Keywords: regression, r?
Cc: smparrish, erikos, walter Distribution/OS: Unspecified
Bug Status: New

Attachments (2)

0001-Show-busy-cursor-while-a-CP-section-is-loading-SL-24.patch (3.2 KB) - added by manuq 6 years ago.
Patch
0001-add-idle_add-to-enable-watch-cursor.patch (1.8 KB) - added by walter 6 years ago.

Download all attachments as: .zip

Change History (32)

comment:1 Changed 10 years ago by tomeu

  • Bug Status set to Unconfirmed
  • Distribution/OS set to Unspecified
  • Keywords sugar-love added
  • Severity set to Blocker

comment:2 Changed 10 years ago by tomeu

  • Severity changed from Blocker to Major

comment:3 Changed 9 years ago by km0r3

  • Bug Status changed from Unconfirmed to Needinfo
  • Owner changed from tomeu to km0r3
  • Status changed from new to accepted

I'd like to work on this one to get started, if still relevant.

I'm using sugar on Ubuntu from the PPA repositories and freshly (successfully) built sugar-jhbuild, with sugar 0.87.7 as the testing environment.

I don't see any spinning cursor when visiting the Languages section in the CP with the current version, so I suppose this Ticket still needs attention.

Also loads seemingly fast here, so why a spinning cursor?

Please treat me gently for the moment, as I'm very new here. ;-)

comment:4 Changed 9 years ago by km0r3

  • Milestone changed from 0.86 to 0.88

comment:5 Changed 9 years ago by quozl

Tested the delay in rendering the languages control panel section; that is the time that elapses from when the user clicks on the languages icon in the control panel to when the languages list is available for interaction.

Sugar VersionHardwareResponse Time
0.82.1XO-1approx 1000ms
0.84.11XO-1.5approx 250ms
0.87.8sugar-emulator over X over SSHapprox 250ms

Given the frequency of use of the languages control panel section, and the time it currently takes, I don't think it is worth adding spinning cursor feedback.

Or maybe I've misunderstood the requirement.

comment:6 Changed 9 years ago by cjl

As for the requirement, this relates back to #51

comment:7 Changed 9 years ago by tomeu

  • Resolution set to fixed
  • Status changed from accepted to closed

comment:8 Changed 9 years ago by tomeu

  • Resolution fixed deleted
  • Status changed from closed to reopened

comment:9 Changed 9 years ago by tomeu

Sorry, have just had to revert it because we are in freeze. We need to remember to push this one once the freeze finishes.

comment:10 Changed 9 years ago by smparrish

  • Cc smparrish added

comment:11 Changed 9 years ago by smparrish

  • seeta_dev set to Ishan

comment:12 Changed 8 years ago by adborden

Looks like this was re-applied to mainline in September dd0fcdc103cdbeb052094e66e7812c786fe23e07

comment:13 Changed 6 years ago by manuq

  • Cc erikos added
  • Keywords regression r? added; sugar-love removed
  • Milestone changed from 0.88 to 0.98
  • Owner changed from km0r3 to manuq
  • Status changed from reopened to assigned

While looking at #4327 I came across this one as well. Commit dd0fcdc1 says it fixes this, but currently is not working. The attached patch takes commit df126bad as reference and wraps the time consuming action in a function which is called with idle_add. I have also added a blank canvas while the section is loading.

comment:14 follow-up: Changed 6 years ago by erikos

Where did you test this, on an XO-1? On my other systems I did not have issues with long waiting times?

The modem configuration section leaves a never ending spinning cursor. Looks like a regression, works without the patch.

comment:15 in reply to: ↑ 14 Changed 6 years ago by manuq

Replying to erikos:

Where did you test this, on an XO-1? On my other systems I did not have issues with long waiting times?

The affected section is Language, and yes, is specially noticeable in XO-1, and gets worse with more languages. By the way I have ongoing patches for #4327 to improve this specific section. Happens too testing the patch for the proposed Background feature:

http://wiki.sugarlabs.org/go/Features/Background_image_on_home_view

The modem configuration section leaves a never ending spinning cursor. Looks like a regression, works without the patch.

Good catch! Yes I was checking and this happens because of the while loop that calls Gtk.main_iteration() [1] in that section model.py .

[1] https://developer.gnome.org/gtk3/stable/gtk3-General.html#gtk-main-iteration

comment:16 Changed 6 years ago by walter

I think the attached mod is a bit simpler and it seems to work. Please test.

comment:17 Changed 6 years ago by walter

  • Description modified (diff)

comment:18 Changed 6 years ago by walter

  • Description modified (diff)

comment:19 Changed 6 years ago by walter

https://github.com/sugarlabs/sugar/pull/53 address the issue with modem configuration (see #3800).
https://github.com/sugarlabs/sugar/pull/54 adds the WATCH cursor

comment:20 Changed 6 years ago by dnarvaez

  • Owner changed from manuq to walter

Walter can you update the status of this one.

comment:21 Changed 6 years ago by walter

  • Cc walter added
  • Milestone changed from 0.98 to 1.0

No update except to say that the current plan of record is to modify this and some other cpsection widgets (e.g., background) not to block on launch. Will try to get to it in time for the next release.

comment:22 Changed 6 years ago by dnarvaez

  • Bug Status changed from Needinfo to Assigned

comment:23 Changed 6 years ago by dnarvaez

  • Milestone changed from 1.0 to Unspecified

comment:24 Changed 6 years ago by dnarvaez

  • Bug Status changed from Assigned to Unconfirmed

comment:25 Changed 6 years ago by dnarvaez

  • Bug Status changed from Unconfirmed to New
  • Description modified (diff)
  • Priority changed from normal to Urgent
  • Summary changed from show spinning cursor when opening the languages cp section to Don't block when starting settings sections

comment:26 Changed 6 years ago by dnarvaez

  • Bug Status changed from New to Unconfirmed

comment:27 Changed 6 years ago by dnarvaez

  • Bug Status changed from Unconfirmed to New

comment:28 Changed 6 years ago by walter

Currently, we are not blocking and everything works, except that some cpsections (at least the background section) can take a long time to load. I've modified the background section to do a partial load (everything except the liststore) and then to put up its own WATCH cursor until the liststore is fully loaded. If this approach is acceptable, I can update other "slow to load" cpsections.

comment:29 Changed 6 years ago by walter

I submitted a pull request [1] for a refactoring of the background section so that it doesn't block on loading. Checked all the other sections and all of them seem to load quickly enough as to not warrant any changes. I think we are OK to close this ticket if/when the pull request is merged.

[1] https://github.com/sugarlabs/sugar/pull/80

comment:30 Changed 6 years ago by walter

  • Resolution set to fixed
  • Status changed from assigned to closed

The non-blocking background section code has been merged. Closing as fixed.

Note: See TracTickets for help on using tickets.