···11package db
2233import (
44+ "cmp"
45 "database/sql"
56 "fmt"
67 "maps"
···229230 p.Submissions = submissions
230231 }
231232 }
233233+ // collect allLabels for each issue
234234+ allLabels, err := GetLabels(e, FilterIn("subject", pullAts))
235235+ if err != nil {
236236+ return nil, fmt.Errorf("failed to query labels: %w", err)
237237+ }
238238+ for pullAt, labels := range allLabels {
239239+ if p, ok := pulls[pullAt]; ok {
240240+ p.Labels = labels
241241+ }
242242+ }
232243233244 orderedByPullId := []*models.Pull{}
234245 for _, p := range pulls {
···339350 }
340351 }
341352342342- // order the submissions by pull_at
353353+ // group the submissions by pull_at
343354 m := make(map[syntax.ATURI][]*models.PullSubmission)
344355 for _, s := range submissionMap {
345356 m[s.PullAt] = append(m[s.PullAt], s)
357357+ }
358358+359359+ // sort each one by round number
360360+ for _, s := range m {
361361+ slices.SortFunc(s, func(a, b *models.PullSubmission) int {
362362+ return cmp.Compare(a.RoundNumber, b.RoundNumber)
363363+ })
346364 }
347365348366 return m, nil