diff --git a/swarm-controller/src/forge.rs b/swarm-controller/src/forge.rs index c4cd5dc3..1bd34984 100644 --- a/swarm-controller/src/forge.rs +++ b/swarm-controller/src/forge.rs @@ -56,7 +56,12 @@ pub struct IssueReportRow { pub number: i64, pub title: String, pub labels: Vec, - pub assignee: Option, + /// All assignees, not just one — forgejo's `Issue::assignee` is a + /// legacy single-value field; `assignee`**s** (plural) is the real + /// multi-assignee list, which this repo's issues actually use (mara, + /// on review: "i thought you can assign multiple users, why just a + /// string?"). + pub assignees: Vec, pub html_url: Option, /// True if any of this issue's own dependencies is still open — same /// semantics `hive-forge issue dependency list` already uses (a closed @@ -697,7 +702,12 @@ impl Client { .into_iter() .filter_map(|l| l.name) .collect(), - assignee: issue.assignee.and_then(|a| a.login), + assignees: issue + .assignees + .unwrap_or_default() + .into_iter() + .filter_map(|a| a.login) + .collect(), html_url: issue.html_url.map(|u| u.to_string()), blocked, depended_on_by_count: dependent_counts.get(&number).copied().unwrap_or(0),