From a703a55b8e3bdc13faa40d3a0c8943f447f288aa Mon Sep 17 00:00:00 2001 From: Edwin Zhao Date: Wed, 21 Oct 2026 22:14:13 -0700 Subject: [PATCH] fix(github_graphql): stop requesting unused descriptionHTML for releases The release extractor fills github_releases.description_html from description and never reads descriptionHTML, but the collector still asks GitHub for it. Rendering release notes to HTML for a full page of 100 releases can exceed GitHub's GraphQL time limit on repositories with long release notes: the API returns 502/504, the three retries hit the same limit, and Collect Releases fails with "pageInfo is nil". On a repository with 86 releases and ~437 KB of release notes, the current query returned 502 after ~11s; without descriptionHTML the same page of 100 returns in ~2.2s. --- .../github_graphql/tasks/release_collector.go | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/backend/plugins/github_graphql/tasks/release_collector.go b/backend/plugins/github_graphql/tasks/release_collector.go index 5a072e8159e..1d9dec3164f 100644 --- a/backend/plugins/github_graphql/tasks/release_collector.go +++ b/backend/plugins/github_graphql/tasks/release_collector.go @@ -57,22 +57,21 @@ type GraphqlQueryReleaseTagCommit struct { } type GraphqlQueryRelease struct { - Author GraphqlQueryReleaseAuthor `graphql:"author"` - DatabaseID int `graphql:"databaseId"` - Id string `graphql:"id"` - CreatedAt time.Time `graphql:"createdAt"` - Description string `graphql:"description"` - DescriptionHTML string `graphql:"descriptionHTML"` - IsDraft bool `graphql:"isDraft"` - IsLatest bool `graphql:"isLatest"` - IsPrerelease bool `graphql:"isPrerelease"` - Name string `graphql:"name"` - PublishedAt *time.Time `graphql:"publishedAt"` - ResourcePath string `graphql:"resourcePath"` - TagName string `graphql:"tagName"` - TagCommit GraphqlQueryReleaseTagCommit `graphql:"tagCommit"` - UpdatedAt time.Time `graphql:"updatedAt"` - URL string `graphql:"url"` + Author GraphqlQueryReleaseAuthor `graphql:"author"` + DatabaseID int `graphql:"databaseId"` + Id string `graphql:"id"` + CreatedAt time.Time `graphql:"createdAt"` + Description string `graphql:"description"` + IsDraft bool `graphql:"isDraft"` + IsLatest bool `graphql:"isLatest"` + IsPrerelease bool `graphql:"isPrerelease"` + Name string `graphql:"name"` + PublishedAt *time.Time `graphql:"publishedAt"` + ResourcePath string `graphql:"resourcePath"` + TagName string `graphql:"tagName"` + TagCommit GraphqlQueryReleaseTagCommit `graphql:"tagCommit"` + UpdatedAt time.Time `graphql:"updatedAt"` + URL string `graphql:"url"` } var CollectReleaseMeta = plugin.SubTaskMeta{