Skip to content

fix(workspace): a live activity line and "Steps could not be read" never share a Work card (#3357) - #3359

Merged
vybe merged 1 commit into
devfrom
fix/3357-steps-beside-activity
Oct 8, 2026
Merged

vybe merged 1 commit into
devfrom
fix/3357-steps-beside-activity

Conversation

@dolho

@dolho dolho commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Summary

A running Workspace Work card could say the agent is working (the live activity line) and, on the line below, "Steps could not be read right now." This happened whenever the agent had a second run in flight. This PR fixes it in two places.

  • The principle, at the card. stepsLine takes the card's live signal. While an activity line is on screen, an unknown read renders nothing (stages still render). A run that visibly reports progress is never called unreadable, whatever the feed sends. The chat card keeps its reserved row blank, so nothing shifts.
  • At the source. client_portal/work/service.py set every card of an agent with two or more live runs to unknown without reading. The pipeline is now read once for such an agent:
    • an agent that publishes no pipeline reads none on every card, so no sentence;
    • reported stages, which an agent-written updated_at cannot attribute to one run, stay unknown.

Reproduction (local, dev b70a85a)

Two async tasks on one agent. While they overlapped, both cards read unknown. When one finished, the other went back to none.

Tests

  • tests/unit/test_ent525_portal_work.py: two runs on an agent with no pipeline read none (one read, not per run); a failed read stays unknown; reported stages across two runs stay unknown. With service.py reverted to dev, 2 fail.
  • src/frontend/tests/unit/workStepsActivity.spec.js: stepsLine with a live signal; a mounted card with an activity line and an unknown read never shows the sentence (both card forms, and the reserved row stays blank). With the card change reverted, 3 fail.
  • Locally: backend 80 passed (ent525 + ent620); vitest 47 passed (portalWork + workStepsActivity); raw-colour and loading-gate ratchets 20 passed.

Fixes #3357

🤖 Generated with Claude Code

…ver share a Work card (#3357)

A running card showed "Steps could not be read right now." under its own
live activity line whenever its agent had a second run in flight.

- Card: stepsLine takes the card's live signal. While an activity line is
  on screen, an unknown read renders nothing (stages still render), so a
  run that visibly reports progress is never called unreadable.
- Source: an agent with several live runs used to be set to unknown
  without any read. It is now read once: an agent that publishes no
  pipeline reads none on every card; reported stages, which cannot be
  attributed to one run, stay unknown.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dolho dolho added the ui PR touches the frontend UI — triggers Playwright e2e tests label Oct 8, 2026
@dolho

dolho commented Oct 8, 2026

Copy link
Copy Markdown
Contributor Author

Before:

before-chat before-card

After:

after-chat after-card

@vybe vybe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

merge-train: batch validated on train PR #3409 (all checks green, including journey-smoke, frontend-e2e and prod-image-smoke). Validation found no critical issue. Non-blocking notes for a follow-up: the 'sentence comes back' half of the new spec's last case never executes its else branch; a fresh run beside a stale row on the same agent is now read rather than both reading unknown (untested, unstated); three docs still say two runs on one agent read unknown.

@vybe
vybe merged commit d24d9d8 into dev Oct 8, 2026
28 of 30 checks passed
vybe pushed a commit that referenced this pull request Oct 8, 2026
…son rebuilt, all entries kept

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ui PR touches the frontend UI — triggers Playwright e2e tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants