PPA AJAX build status indicators don't update properly
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
Critical
|
William Grant |
Bug Description
In the PPA +packages page, there are build status icons in the rightmost column of the table. If the page is loaded whilst the package has a build in progress, these AJAX-update to inform of its completion.
I have recently noticed that the list of links to architectures that appears alongside the icon is no longer being updated properly. Instead, at the first update which actually changes things, the list of links to architectures disappears.
So, suppose the page is initially loaded with an indicator in the state:
(yellow-grey animated clock) i386 amd64
and then the amd64 build completes, it changes to:
(yellow-grey animated clock)
when it should have changed to:
(yellow-grey animated clock) i386
Related branches
- Jeroen T. Vermeulen (community): Approve
-
Diff: 22 lines (+5/-7)1 file modifiedlib/lp/soyuz/javascript/update_archive_build_statuses.js (+5/-7)
tags: | added: regression |
Changed in launchpad: | |
status: | New → Triaged |
importance: | Undecided → Critical |
tags: | added: criticasl-analysis |
tags: |
added: critical-analysis removed: criticasl-analysis |
summary: |
- Regression in PPA AJAX build status indicators + PPA AJAX build status indicators don't update properly |
Changed in launchpad: | |
importance: | Critical → High |
tags: |
added: buildd-manager ppa removed: regression |
Changed in launchpad: | |
importance: | High → Critical |
tags: | added: regression |
tags: |
added: qa-ok removed: qa-needstesting |
Changed in launchpad: | |
status: | Fix Committed → Fix Released |
Looking at the involved code history, I'd be very surprised that this ever worked properly. The code was almost unchanged since launch.
So I'm removing the regression tag.
The problem seem to lie in the fact that getBuildSummari esForSourceIds won't return all of the builds for the source package but only the one relevant to a global status. So if some package are building, the summary is BUILDING and it won't return the NEEDSBUILD ones, once the BUILDING build completes, it updates to only list the NEEDSBUILD one. (And for some reason, stops the polling.)
That collation of builds is done by IBinaryPackageB uildSet. getStatusSummar yForBuilds