coder / coder/internal

Preserve devcontainer lifecycle script errors after agent injection

Open
#1,168 0 comments 0 reactions 0 assignees View on GitHub
projects/devcontainers
Dominant language
No language data
Stars
3
Forks
0
PR merge metrics
No merged PRs in 30d

Description

When a devcontainer lifecycle script (e.g. `postCreateCommand`) fails but the container is still created, we now proceed with agent injection so users can debug the issue in the running container (see coder/coder#21020).

However, there's a UX issue: if agent injection succeeds quickly, the error message briefly flickers in the UI before being cleared:

```go
// TODO(mafredri): Preserve the error from devcontainer
// up if it was a lifecycle script error. Currently
// this results in a brief flicker for the user if
// injection is fast, as the error is shown then erased.
dc.Error = ""
```

The error gets cleared in `processUpdatedContainersLocked` after successful injection, even though the lifecycle script failure is still relevant information the user should see.

This requires:
- Preserving lifecycle script errors separately from fatal errors
- Potentially allowing multiple errors to be shown in the UI
- Better error delivery mechanism for non-fatal warnings

Refs coder/coder#21020

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.