Skip to content

Commit 48e8d46

Browse files
committed
doctor: Fix VersionDiagnosis returning multiple diagnoses
While "old version key" and "wrong value" are logically different issues, from a UX perspective it seems better to let the "more critical" "wrong value" issue take precedence. Signed-off-by: Lann Martin <lann.martin@fermyon.com>
1 parent ea67700 commit 48e8d46

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

crates/doctor/src/manifest/version.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,16 @@ impl Diagnose for VersionDiagnosis {
3535
let test: VersionProbe =
3636
from_document(doc.clone()).context("failed to decode VersionProbe")?;
3737

38-
let mut diags = vec![];
39-
if test.spin_version.is_some() {
40-
diags.push(Self::OldVersionKey);
41-
}
42-
if let Some(value) = test.spin_manifest_version.or(test.spin_version) {
38+
if let Some(value) = test.spin_manifest_version.or(test.spin_version.clone()) {
4339
if value.as_str() != Some("1") {
44-
diags.push(Self::WrongValue(value))
40+
return Ok(vec![Self::WrongValue(value)]);
41+
} else if test.spin_version.is_some() {
42+
return Ok(vec![Self::OldVersionKey]);
4543
}
4644
} else {
47-
diags.push(Self::MissingVersion);
45+
return Ok(vec![Self::MissingVersion]);
4846
}
49-
Ok(diags)
47+
Ok(vec![])
5048
}
5149
}
5250

0 commit comments

Comments
 (0)