Skip to content

Preserve devcontainer lifecycle script errors after agent injection #1168

@blinkagent

Description

@blinkagent

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:

// 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions