commit - d944684a06594ea8d990811812d3c032ffc8d05c
commit + 773fafee9c76dc23f6c9e50c6e1059ebc499f30f
blob - 33460cae6229af937a227be083fa490c839e56a3
blob + 352429ad1607307324ad53246b074b6a77f046b7
--- shortcut_sdk.rs
+++ shortcut_sdk.rs
pub milestone_id: Option<i64>,
pub group_id: Option<String>,
pub group_ids: Vec<String>,
- pub project_ids: Vec<i64>,
+ // Shortcut leaves orphan refs (deleted projects) in this array as
+ // bare `null` entries — `[11519, null, 90, ...]`. Modeled as
+ // Vec<Option<i64>> so the decoder accepts those nulls and the type
+ // honestly says "an entry may be a dead reference". Consumers that
+ // only want live IDs can `.iter().flatten()`. EpicSlim below
+ // mirrors this.
+ pub project_ids: Vec<Option<i64>>,
pub objective_ids: Vec<i64>,
pub label_ids: Vec<i64>,
pub labels: Vec<LabelSlim>,
pub milestone_id: Option<i64>,
pub group_id: Option<String>,
pub group_ids: Vec<String>,
- pub project_ids: Vec<i64>,
+ pub project_ids: Vec<Option<i64>>,
pub objective_ids: Vec<i64>,
pub label_ids: Vec<i64>,
pub labels: Vec<LabelSlim>,