diff --git a/app/lib/package/models.dart b/app/lib/package/models.dart index 0e715dfb9..814647438 100644 --- a/app/lib/package/models.dart +++ b/app/lib/package/models.dart @@ -1131,28 +1131,33 @@ class PackagePageData { bool get isLatestStable => version.version == package.latestVersion; late final packageLinks = () { - // start with the URLs from pubspec.yaml + // If the repository failed the verification tests, we are not displaying + // any links. + final result = scoreCard.panaReport?.result; + final repositoryStatus = result?.repositoryStatus; + if (repositoryStatus == RepositoryStatus.failed) { + return PackageLinks._(); + } + + // If the analysis completed, return the URLs from it. + if (result != null) { + return PackageLinks._( + homepageUrl: result.homepageUrl, + repositoryUrl: result.repositoryUrl, + issueTrackerUrl: result.issueTrackerUrl, + documentationUrl: result.documentationUrl, + contributingUrl: result.contributingUrl, + ); + } + + // Fallback: if the analysis did not complete yet, display inferred URLs from pubspec.yaml final pubspec = version.pubspec!; - final inferred = PackageLinks.infer( + return PackageLinks.infer( homepageUrl: pubspec.homepage, documentationUrl: pubspec.documentation, repositoryUrl: pubspec.repository, issueTrackerUrl: pubspec.issueTracker, ); - - // Use verified URLs when they are available. - final result = scoreCard.panaReport?.result; - if (result == null) { - return inferred; - } - - return PackageLinks._( - homepageUrl: result.homepageUrl ?? inferred.homepageUrl, - repositoryUrl: result.repositoryUrl ?? inferred.repositoryUrl, - issueTrackerUrl: result.issueTrackerUrl ?? inferred.issueTrackerUrl, - documentationUrl: result.documentationUrl ?? inferred.documentationUrl, - contributingUrl: result.contributingUrl ?? inferred.contributingUrl, - ); }(); /// The URL resolver using a verified repository diff --git a/app/test/frontend/golden/pkg_activity_log_page.html b/app/test/frontend/golden/pkg_activity_log_page.html index b5c8f3bbe..7546028f6 100644 --- a/app/test/frontend/golden/pkg_activity_log_page.html +++ b/app/test/frontend/golden/pkg_activity_log_page.html @@ -391,8 +391,6 @@
pkg is awesome
- Homepage
-
Repository (GitHub)
- View/report issues
-
Contributing
pkg is awesome
- Homepage
-
Repository (GitHub)
- View/report issues
-
Contributing
pkg is awesome
- Homepage
-
Repository (GitHub)
- View/report issues
-
Contributing
pkg is awesome
- Homepage
-
Repository (GitHub)
- View/report issues
-
Contributing
@@ -332,8 +330,6 @@
diff --git a/app/test/task/testdata/goldens/packages/oxygen/changelog.html b/app/test/task/testdata/goldens/packages/oxygen/changelog.html index 23b8da0c9..16fb7fdbb 100644 --- a/app/test/task/testdata/goldens/packages/oxygen/changelog.html +++ b/app/test/task/testdata/goldens/packages/oxygen/changelog.html @@ -257,8 +257,6 @@
@@ -338,8 +336,6 @@
diff --git a/app/test/task/testdata/goldens/packages/oxygen/example.html b/app/test/task/testdata/goldens/packages/oxygen/example.html index 806bb5bc7..2c10d6d6e 100644 --- a/app/test/task/testdata/goldens/packages/oxygen/example.html +++ b/app/test/task/testdata/goldens/packages/oxygen/example.html @@ -252,8 +252,6 @@
@@ -333,8 +331,6 @@
diff --git a/app/test/task/testdata/goldens/packages/oxygen/install.html b/app/test/task/testdata/goldens/packages/oxygen/install.html index 8b04a4974..661b6add1 100644 --- a/app/test/task/testdata/goldens/packages/oxygen/install.html +++ b/app/test/task/testdata/goldens/packages/oxygen/install.html @@ -280,8 +280,6 @@
@@ -361,8 +359,6 @@
diff --git a/app/test/task/testdata/goldens/packages/oxygen/license.html b/app/test/task/testdata/goldens/packages/oxygen/license.html index 9b2932c63..e5a5d3144 100644 --- a/app/test/task/testdata/goldens/packages/oxygen/license.html +++ b/app/test/task/testdata/goldens/packages/oxygen/license.html @@ -253,8 +253,6 @@
@@ -334,8 +332,6 @@
diff --git a/app/test/task/testdata/goldens/packages/oxygen/score.html b/app/test/task/testdata/goldens/packages/oxygen/score.html index 8846cbc89..6ba43b1b6 100644 --- a/app/test/task/testdata/goldens/packages/oxygen/score.html +++ b/app/test/task/testdata/goldens/packages/oxygen/score.html @@ -561,8 +561,6 @@
@@ -642,8 +640,6 @@
diff --git a/app/test/task/testdata/goldens/packages/oxygen/versions.html b/app/test/task/testdata/goldens/packages/oxygen/versions.html index 07aa34c37..13315ea2c 100644 --- a/app/test/task/testdata/goldens/packages/oxygen/versions.html +++ b/app/test/task/testdata/goldens/packages/oxygen/versions.html @@ -313,8 +313,6 @@
@@ -394,8 +392,6 @@
diff --git a/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0.html b/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0.html index 3008e612f..c563ebc34 100644 --- a/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0.html +++ b/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0.html @@ -255,8 +255,6 @@
@@ -336,8 +334,6 @@
diff --git a/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/changelog.html b/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/changelog.html index 9511613db..5146f6c14 100644 --- a/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/changelog.html +++ b/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/changelog.html @@ -261,8 +261,6 @@
@@ -342,8 +340,6 @@
diff --git a/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/example.html b/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/example.html index 202895a35..de044ad22 100644 --- a/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/example.html +++ b/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/example.html @@ -256,8 +256,6 @@
@@ -337,8 +335,6 @@
diff --git a/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/install.html b/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/install.html index 1029cc1fc..96f7d8da9 100644 --- a/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/install.html +++ b/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/install.html @@ -284,8 +284,6 @@
@@ -365,8 +363,6 @@
diff --git a/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/license.html b/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/license.html index d7ebe6c83..d134f4e7c 100644 --- a/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/license.html +++ b/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/license.html @@ -257,8 +257,6 @@
@@ -338,8 +336,6 @@
diff --git a/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/score.html b/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/score.html index 2efeaea0b..d63aef019 100644 --- a/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/score.html +++ b/app/test/task/testdata/goldens/packages/oxygen/versions/1.0.0/score.html @@ -565,8 +565,6 @@
@@ -646,8 +644,6 @@
diff --git a/app/test/task/testdata/goldens/packages/oxygen/versions/2.0.0.html b/app/test/task/testdata/goldens/packages/oxygen/versions/2.0.0.html index 2e2793bbd..9bcc32394 100644 --- a/app/test/task/testdata/goldens/packages/oxygen/versions/2.0.0.html +++ b/app/test/task/testdata/goldens/packages/oxygen/versions/2.0.0.html @@ -251,8 +251,6 @@
@@ -332,8 +330,6 @@