2 Commits
Author SHA1 Message Date
Bendik Aagaard Lynghaug be54f54804 Release 0.3.3
Test / test (push) Successful in 24s
Publish release / publish (push) Successful in 1m26s
2026-08-25 20:09:00 +02:00
Bendik Aagaard LynghaugandClaude Fable 5 8212477377 Empty list says so before it can parse as zero answers
Test / test (push) Successful in 24s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 20:08:59 +02:00
3 changed files with 8 additions and 5 deletions
Generated
+1 -1
View File
@@ -2948,7 +2948,7 @@ dependencies = [
[[package]] [[package]]
name = "portal" name = "portal"
version = "0.3.2" version = "0.3.3"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"arc-swap", "arc-swap",
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "portal" name = "portal"
version = "0.3.2" version = "0.3.3"
edition = "2021" edition = "2021"
[lib] [lib]
+6 -3
View File
@@ -1300,6 +1300,12 @@ fn ResourceValue(
return view! { <p class="resource-empty">{empty}</p> }.into_any(); return view! { <p class="resource-empty">{empty}</p> }.into_any();
} }
if let serde_json::Value::Array(items) = &value { if let serde_json::Value::Array(items) = &value {
// Before the Answer parse below: an empty list deserializes as
// an (empty) Vec<Answer> too, and rendered as a blank
// answer-list instead of saying anything.
if items.is_empty() {
return view! { <p class="resource-empty">{empty}</p> }.into_any();
}
if let Ok(answers) = serde_json::from_value::<Vec<Answer>>(value.clone()) { if let Ok(answers) = serde_json::from_value::<Vec<Answer>>(value.clone()) {
let mut answers = answers; let mut answers = answers;
answers.sort_by(|a, b| { answers.sort_by(|a, b| {
@@ -1332,9 +1338,6 @@ fn ResourceValue(
} }
.into_any(); .into_any();
} }
if items.is_empty() {
return view! { <p class="resource-empty">{empty}</p> }.into_any();
}
// A list of plain objects (e.g. a jq-shaped GiteaStarred/Url // A list of plain objects (e.g. a jq-shaped GiteaStarred/Url
// resource) - render as cards rather than dumping raw JSON. // resource) - render as cards rather than dumping raw JSON.
// Generic on purpose, no content-declared "kind": `name`/`title` // Generic on purpose, no content-declared "kind": `name`/`title`