Skip to content

fix(workflow): Runs drawer — duration gap before status chip; Failed once - #1619

Merged
Birfy merged 2 commits into
ThinkFlowLab:mainfrom
Birfy:birfy/fix-1618-runs-duration-chip
Oct 29, 2026
Merged

Birfy merged 2 commits into
ThinkFlowLab:mainfrom
Birfy:birfy/fix-1618-runs-duration-chip

Conversation

@Birfy

@Birfy Birfy commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

Owner: Danyang Chen
Reviewer: Reviewer
Written-by: Grok Bot (box-local; no Cursor CloudAgent)

Fixes #1618

What changed

Workflow room → Runs tab status column painted badly on LIVE (~ac7a916b): Done rows jammed HH:MM into the green Done pill (02:27Done), and some Failed rows double-drew time + wf-hist-reason “Failed” + wf-chip “Failed” (clipped red F). Separate from #1508/#1588 title ellipsis and #1478 badge alignment; does not re-file #1513-class Flow clip.

  • Runs keeps the clock in wf-hist-meta / wf-hist-time and the status chip as a hist sibling (wf-chip <status> class unchanged); CSS makes task flex:1, meta/time/ .wf-hist>.wf-chip flex:none, hist gap:10px (drops min-width:0 on meta so time cannot overflow into the chip).
  • Skip wf-hist-reason when failureText equals the status chip label (generic Failed with no host detail); real step reasons still show.

Verification at the tip

Tip SHA: ac20811d12a02297fc598e9e461ddaeedfb790b6
Ran:

  • cd plugins/workflow && node --import ./test/resolve.mjs --test --test-timeout=15000 test/client.test.js → 70 pass / 0 fail
  • Red-first knife: force showReason for every failed row + restore min-width:0 on meta → fix(workflow): Runs drawer — duration collides with Done chip; Failed rows double-draw an F #1618 fails (generic Failed must not double-draw); restore tip → pass
  • node .github/scripts/changelog.mjs check → well formed
  • CI at tip: plugins (workflow) / ubuntu-latest / tests-ok green

Not run: LIVE/prod upgrade (out of scope).

Residual

Checkpoint

{
  "pr": 1619,
  "claim": "Danyang Chen",
  "issue": 1618,
  "summary": "Runs drawer keeps HH:MM in a non-shrinking column with a gap before the status chip so Done no longer reads as 02:27Done, and a Failed row without host detail paints the Failed chip once instead of also drawing a clipped wf-hist-reason F.",
  "files": [
    "plugins/workflow/client.js",
    "plugins/workflow/test/client.test.js",
    "docs/subsystems/workflow.md",
    "changelog.d/1618-runs-duration-chip.fixed.md"
  ],
  "checks": {
    "ran": "client.test.js 70/70; #1618 red-first knife; changelog check; CI tests-ok",
    "result": "green",
    "at": "ac20811d12a02297fc598e9e461ddaeedfb790b6"
  },
  "next": "enqueued on main merge queue at tip ac20811d — do not force-merge"
}

…nkFlowLab#1618)

Keep HH:MM in a non-shrinking meta column with a CSS gap before the
status chip so Done no longer reads as 02:27Done. Skip wf-hist-reason
when it only repeats the Failed chip label.
@Birfy Birfy added the agent-pr Pull request opened by an agent label Oct 29, 2026
@Birfy Birfy self-assigned this Oct 29, 2026
@github-actions github-actions Bot added the risk:T2 Risk tier T2 (host/plugin code or an unnamed path), set by the controller from the diff label Oct 29, 2026
Avoid wf-hist-status so existing exact className === 'wf-chip running'
checks still see hist Running chips; flex-none via the parent selector.
@Birfy

Birfy commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator Author

Verdict: PASS at ac20811
Written-by: Reviewer
Attestation: ac20811 role=Reviewer

Ran at this tip:

$ cd plugins/workflow && node --import ./test/resolve.mjs --test --test-timeout=15000 test/client.test.js
# tests 70  # pass 70  # fail 0
$ # red-first knife: force showReason for every failed + restore min-width:0 on meta
$ cd plugins/workflow && node --import ./test/resolve.mjs --test --test-name-pattern=1618 test/client.test.js
# fail: generic Failed must not double-draw as wf-hist-reason
$ restore tip; same test → pass
$ cd plugins/workflow && node --import ./test/resolve.mjs --test --test-name-pattern='1618|the runs tab shows one running row|1493: a failed sibling' test/client.test.js
# tests 3  # pass 3
$ node .github/scripts/changelog.mjs check → well formed
$ gh pr checks 1619 → plugins (workflow) pass, ubuntu-latest pass, tests-ok pass

Findings

No actionable findings. Runs hist keeps HH:MM in non-shrinking meta with gap before status chip; generic Failed skips wf-hist-reason so the chip paints once. Chip class stays wf-chip <status> (flex via .wf-hist>.wf-chip) so exact-class checks keep seeing hist Running chips.

Residual

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

Labels

pass risk:T2 Risk tier T2 (host/plugin code or an unnamed path), set by the controller from the diff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(workflow): Runs drawer — duration collides with Done chip; Failed rows double-draw an F

1 participant