Skip to content

fix: Misc Bugfixes - #2646

Open
camielvs wants to merge 1 commit into
masterfrom
08-19-fix_misc_bugfixes
Open

fix: Misc Bugfixes#2646
camielvs wants to merge 1 commit into
masterfrom
08-19-fix_misc_bugfixes

Conversation

@camielvs

@camielvs camielvs commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Description

A batch of small, independent bug fixes. Follow-up to #2645, which fixed subgraph hydration in the run
view — the same class of bug turned out to exist in five other places, and while tracing it I found four
unrelated error-handling bugs worth fixing too.

Subgraphs were invisible to most of the editor. When a pipeline is loaded from YAML, a subgraph
task's contents get moved off task.componentRef and onto task.subgraphSpec. Anything still reading
task.componentRef therefore sees an empty shell. #2645 added task.resolvedComponentRef to paper over
this; this PR points the remaining readers at it.

  • Unpack Subgraph button never appeared. It checked componentRef for subgraph contents, found none,
    and hid itself — so there was no way to unpack a subgraph loaded from YAML.
  • The AI assistant couldn't see inside subgraphs. Subgraph tasks were sent to it as empty shells and
    weren't even flagged as subgraphs, so it couldn't answer questions about them.
  • Copy/paste silently emptied subgraphs. Copying a subgraph task and pasting it produced a task with
    nothing inside.
  • Two places in the task details panel had their own inline copies of the same workaround; both now use
    resolvedComponentRef instead.

Error handling. Four unrelated bugs, all in the "silently do the wrong thing" family:

  • A temporary failure was cached forever. If loading a component hit a transient network or storage
    error, we recorded it as "this component is broken" and never tried again — the user had to reload the
    page. Real failures now surface so the query layer can retry them. Content that genuinely can't be
    parsed is still treated as permanently broken, since retrying that never helps.
  • A component with a corrupt spec ignored its own URL. If a reference had both a malformed inline
    spec and a perfectly good URL, we gave up instead of fetching the URL.
  • A crash on null. A spec validator threw a TypeError on null input instead of returning
    false. Previously masked by the error-swallowing above.
  • Failed log requests were parsed as if they'd succeeded. fetchContainerLog never checked the
    response status, so an error response (the 409 seen while testing fix: Missing Hydration in Run View Subgraphs #2645) got parsed as a log. It now
    uses the same fetchWithErrorHandling helper as every other call in that file.

image.png

before

image.png

after

image.png

Related Issue and Pull requests

Follow-up to #2645.

Type of Change

  • Bug fix

Checklist

  • I have tested this does not break current pipelines / runs functionality
  • I have tested the changes on staging

Test Instructions

Open a pipeline containing a subgraph task that was loaded from YAML (not one built in this session —
the bug only affects deserialized subgraphs).

  1. Select the subgraph task. The Unpack Subgraph button should now be present in the actions bar, and
    unpacking should work.
  2. Copy the subgraph task and paste it. The pasted copy should still contain the subgraph's tasks.
  3. Ask the AI assistant something about the subgraph's contents. It should be able to see inside.
  4. Open a run and view a task's container logs. A failed log request should now surface as an error
    rather than rendering as an empty or malformed log.

Additional Comments

The bulk of the diff in componentService.ts is re-indentation from removing one try/catch wrapper —
the actual change there is small.

Three existing tests were updated rather than added to: they asserted that storage and crypto errors
return null, which is exactly the behaviour being fixed. They now assert the error propagates.

@github-actions

github-actions Bot commented Aug 19, 2026

Copy link
Copy Markdown

🎩 Preview

A preview build has been created at: 08-19-fix_misc_bugfixes/c2cc417

Copy link
Copy Markdown
Collaborator Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@camielvs
camielvs force-pushed the 08-19-fix_misc_bugfixes branch from b97dd78 to c2cc417 Compare August 19, 2026 21:23
@camielvs
camielvs marked this pull request as ready for review August 19, 2026 21:34
@camielvs
camielvs requested a review from a team as a code owner August 19, 2026 21:34
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.

1 participant