Skip to content

fix(web): surface 4xx + UI banner when evaluation start fails (#280)#281

Merged
DerDennisOP merged 1 commit into
mainfrom
fix/issue-280-evaluation-error
May 26, 2026
Merged

fix(web): surface 4xx + UI banner when evaluation start fails (#280)#281
DerDennisOP merged 1 commit into
mainfrom
fix/issue-280-evaluation-error

Conversation

@DerDennisOP
Copy link
Copy Markdown
Member

@DerDennisOP DerDennisOP commented May 26, 2026

Summary

  • Stops core::sources::git::check_for_updates from swallowing ls_remote_head failures; the polling loop already handles Err(e) gracefully.
  • Maps the propagated SourceError to 400 with new code: "repository_unreachable" on POST /projects/{org}/{p}/evaluate and POST /projects/{org}/{p}/check-repository, dropping the old commit_hash.is_empty() → 500 fallback. Message includes the underlying git error.
  • Frontend ProjectDetailComponent now stores the API error in an errorMessage signal and renders an inline, dismissible .evaluation-error banner under the project header instead of failing silently.

Closes #280.

Test plan

  • cargo check --workspace --tests clean
  • cargo clippy --workspace --tests -- -D warnings clean
  • npx tsc --noEmit clean
  • CI: cargo test -p core --test git_remote (new test check_project_updates_propagates_unreachable_remote_error)
  • CI: pnpm --dir frontend exec ng test --watch=false (new specs in project-detail.component.spec.ts)
  • Manual reproduction from the issue (invalid github:nix-community/bun2nix URL): backend returns 400 repository_unreachable; UI banner shows the underlying git error.

@DerDennisOP
Copy link
Copy Markdown
Member Author

/gradient run

@DerDennisOP
Copy link
Copy Markdown
Member Author

/gradient run checks.x86_64-linux.gradient-cache

@DerDennisOP DerDennisOP merged commit 6f8a3cc into main May 26, 2026
7 of 9 checks passed
@DerDennisOP DerDennisOP deleted the fix/issue-280-evaluation-error branch May 26, 2026 19:52
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.

Missing frontend error when evaluation fails to start

1 participant