···555555556556 // we want to group all stacked PRs into just one list557557 stacks := make(map[string]db.Stack)558558+ var shas []string558559 n := 0559560 for _, p := range pulls {561561+ // store the sha for later562562+ shas = append(shas, p.LatestSha())560563 // this PR is stacked561564 if p.StackId != "" {562565 // we have already seen this PR stack···577574 }578575 }579576 pulls = pulls[:n]577577+578578+ repoInfo := f.RepoInfo(user)579579+ ps, err := db.GetPipelineStatuses(580580+ s.db,581581+ db.FilterEq("repo_owner", repoInfo.OwnerDid),582582+ db.FilterEq("repo_name", repoInfo.Name),583583+ db.FilterEq("knot", repoInfo.Knot),584584+ db.FilterIn("sha", shas),585585+ )586586+ if err != nil {587587+ log.Printf("failed to fetch pipeline statuses: %s", err)588588+ // non-fatal589589+ }590590+ m := make(map[string]db.Pipeline)591591+ for _, p := range ps {592592+ m[p.Sha] = p593593+ }580594581595 identsToResolve := make([]string, len(pulls))582596 for i, pull := range pulls {···616596 DidHandleMap: didHandleMap,617597 FilteringBy: state,618598 Stacks: stacks,599599+ Pipelines: m,619600 })620601}621602