← Back to issue list

Progress shown in snapcraft status output is not accurate

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1932032
Type
issue
State
open
Author
~suligap
Labels
craft-338
Created
Updated
Closed
—

Current evaluation

Progressive-release status still infers the non-progressive revision’s share as 100 minus the progressive share; it should use that release’s Store-provided current percentage.

Suggested action: keep open

Reason: The current implementation in snapcraft/commands/status.py still calculates the non-progressive percentage as `100 - current_percentage`, confirming the reported bug. The issue is labeled craft-338, and the body explicitly identifies open bug #1903046 as the Store-side prerequisite before Snapcraft can use the non-progressive release’s own current percentage.

Evaluated by: mr-cal-bot

Impact: 35 Quick Win: 20 Complexity: 25 Confidence: 94 Actionability: 76

Issue body

There are two parts here. First one likely won't need any action on the snapcraft side. 1. A Store bug where the current-percentage returned in the channelmap endpoint is not correctly split by architecture, i.e. current-percentage for a release represents current % of installs of a revision in a channel out of all installs in that channel (regardless of architecture), but it should be current % of installs in a channel for the architecture the revision is released for. This is going to be fixed on the store side very likely and it should not require any snapcraft changes. The end result should be that if snapcraft status reports progress of 10% -> 45% for armhf revision 245 released to stable, it should mean that the target is 45% of armhf installs in stable (this is correct currently) and 10% is 10% of all armhf stable installs and not 10% of all installs of any arch in stable. 2. When snapcraft reports a progressive release in `status` it currently calculates the current percentage of the non-progressive active release to be 100 minus $current-percentage-of-the-progressive-counterpart. This is not correct. In reality there will be active installs of revisions different than the current progressive one and current non-progressive one. After the Store fix for https://bugs.launchpad.net/snapcraft/+bug/1903046 is deployed, snapcraft can simply use the current-percentage of the non-progressive release instead (because current-percentage will be returned for all releases in the channelmap endpoint response).

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 35
Quick Win: 20
Complexity: 25
Confidence: 94
Actionability: 76
keep open Progressive-release status still infers the non-progressive revision’s share as 100 minus the progressive share; it should use that release’s Store-provided current percentage.
stealth/space-bunny-alpha
Impact: 38
Quick Win: 22
Complexity: 30
Confidence: 91
Actionability: 82
keep open Progressive status still derives the previous revision's share as 100 minus the new revision's share, although the Store can now provide current-percentage for the non-progressive release.
qwen/qwen3.8-27b
Impact: 35
Quick Win: 16
Staleness: 90
Complexity: 55
Confidence: 60
Support Request: 5
needs triage snapcraft status reports inaccurate progressive-release progress: store channelmap current-percentage not split by architecture, and snapcraft derives the non-progressive release's percentage as 100 minus the progressive one. No maintainer activity in ~5 years.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 60
Confidence: 85
Support Request: 10
needs triage Snapcraft status progress calculation is inaccurate due to store endpoint behavior and internal logic. Requires a code update after a store-side architecture-based percentage fix is deployed. Currently untriaged and inactive.
qwen/qwen3.6-35b-a3b
Staleness: 92
Complexity: 55
Confidence: 75
Support Request: 5
needs triage Technical bug report on inaccurate progress percentages in snapcraft status output, citing architecture-specific calculation errors and progressive release logic. Unassessed by maintainers with zero comments over five years.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 55
Confidence: 85
Support Request: 10
close stale Reports inaccurate progress percentages in snapcraft status due to architecture-agnostic store metrics and incorrect local calculation. Untriaged, inactive for ~5 years, and explicitly depends on an external store API fix.

Update history

Date Change
created

Related work

  • Blocked By: snapcraft (launchpad)#1903046 (confidence 98%)

    The issue body explicitly says the Store fix for #1903046 must be deployed before Snapcraft can consume current-percentage for non-progressive releases.

Related issues

Issue Project State Summary Similarity
#1903046 Progressive release stops showing metrics when set to 100% target snapcraft (launchpad) open snapcraft status hides progressive-release metrics once a release hits 100% (store nullifies percentage). Store-side API now returns progressive.current-percentage for all releases; client still only renders it for in-progress progressive releases.
76%
#6189 feat: show progressive percentage in release output snapcraft merged PR #6189 merged into snapcraft 9.0 as commit 02aea063d: `snapcraft release` now appends "for N% of users" to its output when --progressive is used (snapcraft/commands/manage.py, documented in release notes).
72%
#3306 storeapi: add support for reporting status of progressive releases snapcraft merged Merged PR #3306 as ed010d426, adding Store API current-percentage parsing and progressive-release progress to snapcraft status output.
71%