Skip to content

Compile-failure overlay: show the compiler log; do not render lookup timeouts as compile failures #641

Closed

Description

@rbuergi

Users saw 'compilation failed' everywhere with no error text; half were real (CS0246), half were Store/Plugin type-lookup TimeoutExceptions rendered identically. Overlay should show the actual error + link the compile activity, and distinguish timeout from failure.

From the 2026-07-24 plugin-install retrospective.

🤖 Generated with Claude Code

Activity

  1. rbuergi commented on Aug 8, 2026

    @rbuergi
    ContributorAuthor

    Status audit against current main (2026-08-08) — PARTIAL; re-scoping to what remains.

    Fixed since filing: the actual compiler error text is surfaced on all three surfaces (BuildCompilationErrorMarkdownText fence + per-source Monaco with Roslyn markers, NodeTypeLayoutAreas.cs:151-306; CompileProgressIndicator). Non-Roslyn aborts carry '{TypeName}: {Message}' + full stack on the activity (the #612 work, NodeTypeCompilationHelpers.cs:1535-1546). ONE timeout path renders distinctly: the enrichment settle-timeout gets the 'has not finished compilation yet… no code change is needed' copy (NodeTypeEnrichmentHelpers.cs:243-257, landed #708).

    Remaining (this issue now tracks exactly these):

    1. The instance-page overlay never links the compile activity — WithCompilationErrorOverlay (NodeTypeEnrichmentHelpers.cs:1269-1300) never receives LastCompilationActivityPath; only the NodeType's own Overview has the 'View full compile log →' anchor.
    2. Lookup/read timeouts still render as compile failures on three paths: the type-existence probe (NodeTypeEnrichmentHelpers.cs:136-167 — a 3s lookup timeout gets 'Please correct the code'), the contract-handler 60s settle timeout persisting bare 'The operation has timed out.' as CompilationStatus=Error (NodeTypeContractHandler.cs:77,244-278), and Store/pinned-release lookup misses (:553-594).
    3. Structurally: CompilationStatus has no Unavailable/Timeout member, so a timeout can only persist as Error — the honest fix likely starts there.

    No timeout-vs-failure test assertions exist yet (CompileErrorOverviewTest / CompileErrorPageTest cover error rendering only).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions