l3montree-dev / l3montree-dev/devguard

Events page fails to load: asset fetch returns 500 (billing sidecar outage for org @gitlab)

Open
#2,756 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug priority:high
Dominant language
Go
Stars
161
Forks
43
Avg merge
1d 8h
Merged PRs (30d)
37

Description

Error

Error: {"message":"Failed to fetch asset: 500 Internal Server Error","context":{"statusCode":500,"title":"Failed to load asset","description":"An error occurred while fetching the asset. Please try again later. (500 Internal Server Error)","homeLink":"/@gitlab/projects/quality-tools/assets"}}

Stack trace

fetchAsset (../../../../src/data-fetcher/fetchAsset.ts:31)
  ← j / layout (../../../../src/app/(loading-group)/[organizationSlug]/projects/[projectSlug]/assets/[assetSlug]/layout.tsx:24)
  ← Promise.all (index 0)
  ← process.processTicksAndRejections (node:internal/process/task_queues:104)

Source (src/data-fetcher/fetchAsset.ts:26-36)

  const url = `/organizations/${decodeURIComponent(organizationSlug)}/projects/${projectSlug}/assets/${assetSlug}`;
  // console.log(url);
  const r = await devGuardApiClient(url);

  if (!r.ok) {
    throw new HttpError(`Failed to fetch asset: ${r.status} ${r.statusText}`, {
      statusCode: r.status,
      title: "Failed to load asset",
      description: `An error occurred while fetching the asset. Please try again later. (${r.status} ${r.statusText})`,
      homeLink: `/${organizationSlug}/projects/${projectSlug}/assets`, // link to the asset list

Request context

  • URL: https://app.devguard.org/@gitlab/projects/quality-tools/assets/gherkin-behave-vsc/refs/main/events
  • Culprit route: GET /[organizationSlug]/projects/[projectSlug]/assets/[assetSlug]/refs/[assetVersionSlug]/events
  • Same trace ID (0bc591ca360941e89e23895b713db968) as issue 3610 (fetchProject), issue 3680 (fetchContentTree), and issue 3832 (client-side surfacing) — this is the 4th separate GlitchTip capture from the single request where the billing sidecar returned 500 for every endpoint under org @gitlab (projects, assets, refs, artifacts, content-tree). One root cause (billing sidecar outage/error for this org) fanned out into 4 distinct error groups because each data-fetcher throws its own typed error.

GlitchTip

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/data-fetcher/fetchAsset.ts:26-36 and the events route shown in the stack trace, then compare the related fetchProject, fetchContentTree, and client-side surfacing issues. Reproduce the cited @gitlab request and determine whether the billing-sidecar 500 is handled by shared work or needs a change here. Done means the events page no longer fails for the affected response and its error behavior is verified.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.