Skip to content

feat(web): stream the course repo overview assignment by assignment#127

Merged
obcode merged 1 commit into
mainfrom
feat/repos-stream
Jul 19, 2026
Merged

feat(web): stream the course repo overview assignment by assignment#127
obcode merged 1 commit into
mainfrom
feat/repos-stream

Conversation

@obcode

@obcode obcode commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Was

Die Repo-Übersicht blockierte die Seite sekundenlang (jedes Assignment-Gruppen-Listing), ohne Feedback. Neue Subscription streamt jedes Assignment, sobald es geprüft ist → die GUI zeigt Live-Fortschritt (wie report/check).

Änderungen

  • app.StreamCourseRepoOverview wie CourseRepoOverview, aber sendet ein RepoOverviewEvent pro fertigem Assignment (mit total für den Zähler), dann ein finales done; fehlender Token kommt als done-Event mit error statt synchronem Fehler. Die per-Assignment-Arbeit ist in assignmentRepos faktorisiert (geteilt mit der One-Shot-Query).
  • GraphQL Subscription courseRepoOverviewProgress(course): RepoOverviewEvent{assignment, total, done, error}. Die One-Shot-courseRepoOverview-Query bleibt.

GUI (Spinner + Fortschritt) folgt im glabs.gui-Gegenstück.

Verifikation

go build/vet (inkl. -tags=integration)/test/golangci-lint — grün.

🤖 Generated with Claude Code

The repo overview blocked the page for seconds while every assignment's GitLab
group was listed, with no feedback. Add a subscription that emits each assignment
as soon as it is checked, so the GUI can show live progress (like report/check).

- app.StreamCourseRepoOverview mirrors CourseRepoOverview but sends a
  RepoOverviewEvent per finished assignment (with the total, for a count), then a
  final done event; a missing token surfaces as a done event carrying the error
  rather than a synchronous failure. The per-assignment work is factored into
  assignmentRepos, shared with the one-shot query.
- GraphQL Subscription courseRepoOverviewProgress(course): RepoOverviewEvent
  {assignment, total, done, error}. The one-shot courseRepoOverview query stays.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@obcode
obcode merged commit 95eadb3 into main Jul 19, 2026
8 checks passed
@obcode
obcode deleted the feat/repos-stream branch July 19, 2026 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant