Skip to content

fix(web): pulse running V2 worker icons - #12829

Closed
saphid wants to merge 2 commits into
pingdotgg:t3code/codex-turn-mappingfrom
saphid:agent/web-v2-lineage-breath
Closed

saphid wants to merge 2 commits into
pingdotgg:t3code/codex-turn-mappingfrom
saphid:agent/web-v2-lineage-breath

Conversation

@saphid

@saphid saphid commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

What Changed

Running V2 worker icons now breathe in Lineage and their timeline links. Waiting, pending and finished workers stay still, as do parent and fork relationship icons.

Why

The static blue badge made a running worker look the same as one waiting for input. Reuse the existing two-second stepped opacity pulse and shared visibility observer. Motion stops off-screen or in hidden tabs, and reduced-motion preferences disable it.

The change is in the web UI shared with desktop. Provider adapters, wire contracts and mobile are unchanged.

Verification

  • 11 tests passed across ThreadRelationshipsControl.test.tsx, ThreadRelationshipsControl.agents.test.tsx and visibleAnimation.test.ts with vp test run.
  • Targeted vp lint and vp fmt --check passed for all three changed files.
  • vp run --filter @t3tools/web typecheck passed.
  • Integrated Chrome check: base had zero animations; candidate animated exactly the three running workers. Waiting, pending and completed workers had no animation. Emulated reduced motion disabled all three pulses.
  • Independent Fable 5.1 standards and requirement reviews completed. A follow-up review confirmed the parent/fork exclusion fix and found no remaining concrete defect.

UI Changes

Disposable synthetic lineage data, dark theme, 1200 × 900 CSS-pixel viewport. Base a74e16065bf, candidate 75081e6bd6f. These approximately six-second GIFs come from actual Chrome recordings with capture timestamps and no speed change. The baseline scene is static. The recordings predate a history-only rebase onto 640dd532493; the three changed components, visibility helper and stylesheet are byte-identical at the current head d814253c650. Browser verification covers the shared web UI; no native desktop or mobile run was performed.

The screenshots look identical because the candidate was captured during the pulse's full-opacity phase. The GIFs and videos show the motion.

Before: running workers have static icons.

Before: all worker icons stay still

Before recording · Before screenshot

After: only the three running worker icons breathe.

After: running worker icons breathe while inactive icons stay still

After recording · After screenshot

Port note (2026-09-24)

Ported onto upstream OV2 t3code/codex-turn-mapping at 692ad0a8fd as one commit (3ffc15958d). Upstream now renders timeline subagent links with SubagentAvatar instead of ThreadRelationshipIcon, so the same pulse (stepped opacity, visibility-gated, motion-safe) is applied to SubagentAvatar only from the timeline link; overlapped avatar stacks stay still. The evidence below was captured on the earlier rehearsal base, before this port, and the timeline avatar now looks different upstream.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Implemented by GPT-6 Astra in Codex. Reviewed by Fable 5.1 through T3 Code.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Sep 21, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Sep 21, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 4b0eb3e

Macroscope's review found this PR approvable — The PR makes a focused web UI adjustment that adds visibility- and reduced-motion-aware pulsing only to explicitly selected running worker icons. It does not alter data contracts, workflows, product configuration defaults, or static-analysis settings.

You can add or adjust custom eligibility rules. Learn more.

@juliusmarminge
juliusmarminge force-pushed the t3code/codex-turn-mapping branch from 61a3501 to 619623f Compare September 21, 2026 03:05
@saphid
saphid force-pushed the agent/web-v2-lineage-breath branch from 75081e6 to d814253 Compare September 21, 2026 03:43
@juliusmarminge
juliusmarminge force-pushed the t3code/codex-turn-mapping branch 8 times, most recently from 1bd44f2 to 3b9c885 Compare September 24, 2026 04:06
@saphid
saphid force-pushed the agent/web-v2-lineage-breath branch from d814253 to 6f299d2 Compare September 24, 2026 12:21
@macroscopeapp
macroscopeapp Bot dismissed their stale review September 24, 2026 12:21

Dismissing prior approval to re-evaluate 6f299d2

@github-actions github-actions Bot added size:XXL 1,000+ changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels Sep 24, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Macroscope has since reviewed this pull request. An earlier review was skipped by a cost limit; a review has now completed, so that notice no longer applies.

@saphid
saphid force-pushed the agent/web-v2-lineage-breath branch from 6f299d2 to 3ffc159 Compare September 24, 2026 12:25
@github-actions github-actions Bot added size:M 30-99 changed lines (additions + deletions). and removed size:XXL 1,000+ changed lines (additions + deletions). labels Sep 24, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Sep 24, 2026
@juliusmarminge
juliusmarminge force-pushed the t3code/codex-turn-mapping branch 3 times, most recently from fe4f6ad to 87c67bd Compare September 25, 2026 05:55
@saphid
saphid force-pushed the agent/web-v2-lineage-breath branch from 3ffc159 to ec2ae76 Compare September 25, 2026 07:36
github-actions Bot and others added 2 commits September 28, 2026 09:34
The base lint now rejects arbitrary Tailwind values, so the pulse uses a
visible-animate-status-pulse utility beside visible-animate-spin.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@saphid
saphid force-pushed the agent/web-v2-lineage-breath branch from ec2ae76 to 4b0eb3e Compare September 27, 2026 23:37
@macroscopeapp
macroscopeapp Bot dismissed their stale review September 27, 2026 23:37

Dismissing prior approval to re-evaluate 4b0eb3e

@juliusmarminge

Copy link
Copy Markdown
Member

Superseded by #14412 (steady status labels instead of pulsing icons).

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

Labels

size:M 30-99 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants