···495495 }
496496 }
497497498498+ // we want to group all stacked PRs into just one list
499499+ stacks := make(map[string]db.Stack)
500500+ n := 0
501501+ for _, p := range pulls {
502502+ // this PR is stacked
503503+ if p.StackId != "" {
504504+ // we have already seen this PR stack
505505+ if _, seen := stacks[p.StackId]; seen {
506506+ stacks[p.StackId] = append(stacks[p.StackId], p)
507507+ // skip this PR
508508+ } else {
509509+ stacks[p.StackId] = nil
510510+ pulls[n] = p
511511+ n++
512512+ }
513513+ } else {
514514+ pulls[n] = p
515515+ n++
516516+ }
517517+ }
518518+ pulls = pulls[:n]
519519+498520 identsToResolve := make([]string, len(pulls))
499521 for i, pull := range pulls {
500522 identsToResolve[i] = pull.OwnerDid
···515537 Pulls: pulls,
516538 DidHandleMap: didHandleMap,
517539 FilteringBy: state,
540540+ Stacks: stacks,
518541 })
519542 return
520543}