Skip to content

Animate in-progress segments in the timeline - #2383

Merged
mitul-s merged 2 commits into
mainfrom
ms/animation-for-active-run
Jun 12, 2026
Merged

Animate in-progress segments in the timeline#2383
mitul-s merged 2 commits into
mainfrom
ms/animation-for-active-run

Conversation

@mitul-s

@mitul-smitul-s commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

What

Adds an animated diagonal "barber-pole" stripe overlay to in-progress (running/received) segments in the new trace viewer timeline, so it's obvious at a glance which work is still live. Completed runs stay a static blue bar; the queued lead-in stays a static line.

CleanShot.2026-06-12.at.13.58.54.mp4

Add an animated diagonal "barber-pole" stripe overlay to in-progress
(running/received) segments in the new trace viewer timeline, so it's
obvious at a glance which work is still live.
The animation lives in a colocated CSS module (timeline.module.css),
imported by the component — web-shared is in consumers' transpilePackages,
so the keyframes ship with the component rather than relying on the global
styles.css (which Geist-using hosts don't import).
Also fixes a latent status bug this surfaced: the run-segment builders
collapsed every non-failed run to "running", so completed runs rendered as
"running" (and, with the new animation, kept animating). They now map to a
new terminal `completed` status (blue, static) via a fail-closed
runSegmentStatus helper — only genuinely in-progress runs animate.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mitul-s
mitul-s requested a review from a team as a code ownerJune 12, 2026 17:58
@changeset-bot

changeset-botBot commented Jun 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5d6ba52

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 16 packages
NameType
@workflow/web-sharedPatch
@workflow/webPatch
@workflow/cliPatch
@workflow/nitroPatch
workflowPatch
@workflow/world-testingPatch
@workflow/nuxtPatch
@workflow/corePatch
@workflow/buildersPatch
@workflow/nextPatch
@workflow/vitestPatch
@workflow/astroPatch
@workflow/nestPatch
@workflow/rollupPatch
@workflow/sveltekitPatch
@workflow/vitePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercelBot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Signed-off-by: Mitul Shah <mitulxshah@gmail.com>
@mitul-s
mitul-s enabled auto-merge (squash) June 12, 2026 18:01
@mitul-s
mitul-s merged commit d81b929 into mainJun 12, 2026
59 checks passed
@mitul-s
mitul-s deleted the ms/animation-for-active-run branch June 12, 2026 18:06
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for d81b929 (AI decision).

This change is entirely confined to the new-trace-viewer component in @workflow/web-shared, which does not exist on stable (verified via git ls-tree origin/stable packages/web-shared/src/components/ — only the old trace-viewer is present). The build-script change and CSS module also exist solely to support that main-only directory, so there is nothing applicable to backport.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

d81b929fa913b9f612be2bef97445c0ed7a2e5d0

@github-actionsgithub-actionsBot mentioned this pull request Jun 12, 2026
pranaygp added a commit that referenced this pull request Jun 12, 2026
…docs-run-idempotency
* origin-https/main:
Version Packages (beta) (#2364)
Animate in-progress segments in the timeline (#2383)
pranaygp added a commit that referenced this pull request Jun 12, 2026
…ry-2
* origin/main:
Version Packages (beta) (#2364)
Animate in-progress segments in the timeline (#2383)
Render queued span time as a lead-in connector on the trace timeline. (#2381)
fix(docs): right-align sidebar folder carets consistently (#2377)
[core] Add wire-level framing for byte streams (#1853)
docs: move World SDK and getWorld under workflow/runtime, split out workflow/observability (#2375)
Replace hook.hasConflict with hook.getConflict() returning the conflicting Run (#2373)
ci: use claude-fable-5 for backport AI model (#2370)
Add `hook.hasConflict` for early hook conflict detection (#2015)
[core] V2: unify wait+step queue dispatch in suspension processing (#1925)
fix(world-local,world-postgres): make duplicate hook_created idempotent (#2295)
docs(observability): remove MVP implementation detail bullet (#2367)
fix: settle aborted parallel steps before completing abortParallelWorkflow (#2244)
Sign up for freeto 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.

2 participants

@mitul-s@karthikscale3
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Animate in-progress segments in the timeline by mitul-s · Pull Request #2383 · vercel/workflow · GitHub
Skip to content

Animate in-progress segments in the timeline - #2383

Merged
mitul-s merged 2 commits into
mainfrom
ms/animation-for-active-run
Jun 12, 2026
Merged

Animate in-progress segments in the timeline#2383
mitul-s merged 2 commits into
mainfrom
ms/animation-for-active-run

Conversation

@mitul-s

@mitul-smitul-s commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

What

Adds an animated diagonal "barber-pole" stripe overlay to in-progress (running/received) segments in the new trace viewer timeline, so it's obvious at a glance which work is still live. Completed runs stay a static blue bar; the queued lead-in stays a static line.

CleanShot.2026-06-12.at.13.58.54.mp4

Add an animated diagonal "barber-pole" stripe overlay to in-progress
(running/received) segments in the new trace viewer timeline, so it's
obvious at a glance which work is still live.
The animation lives in a colocated CSS module (timeline.module.css),
imported by the component — web-shared is in consumers' transpilePackages,
so the keyframes ship with the component rather than relying on the global
styles.css (which Geist-using hosts don't import).
Also fixes a latent status bug this surfaced: the run-segment builders
collapsed every non-failed run to "running", so completed runs rendered as
"running" (and, with the new animation, kept animating). They now map to a
new terminal `completed` status (blue, static) via a fail-closed
runSegmentStatus helper — only genuinely in-progress runs animate.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mitul-s
mitul-s requested a review from a team as a code ownerJune 12, 2026 17:58
@changeset-bot

changeset-botBot commented Jun 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5d6ba52

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 16 packages
NameType
@workflow/web-sharedPatch
@workflow/webPatch
@workflow/cliPatch
@workflow/nitroPatch
workflowPatch
@workflow/world-testingPatch
@workflow/nuxtPatch
@workflow/corePatch
@workflow/buildersPatch
@workflow/nextPatch
@workflow/vitestPatch
@workflow/astroPatch
@workflow/nestPatch
@workflow/rollupPatch
@workflow/sveltekitPatch
@workflow/vitePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercelBot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Signed-off-by: Mitul Shah <mitulxshah@gmail.com>
@mitul-s
mitul-s enabled auto-merge (squash) June 12, 2026 18:01
@mitul-s
mitul-s merged commit d81b929 into mainJun 12, 2026
59 checks passed
@mitul-s
mitul-s deleted the ms/animation-for-active-run branch June 12, 2026 18:06
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for d81b929 (AI decision).

This change is entirely confined to the new-trace-viewer component in @workflow/web-shared, which does not exist on stable (verified via git ls-tree origin/stable packages/web-shared/src/components/ — only the old trace-viewer is present). The build-script change and CSS module also exist solely to support that main-only directory, so there is nothing applicable to backport.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

d81b929fa913b9f612be2bef97445c0ed7a2e5d0

@github-actionsgithub-actionsBot mentioned this pull request Jun 12, 2026
pranaygp added a commit that referenced this pull request Jun 12, 2026
…docs-run-idempotency
* origin-https/main:
Version Packages (beta) (#2364)
Animate in-progress segments in the timeline (#2383)
pranaygp added a commit that referenced this pull request Jun 12, 2026
…ry-2
* origin/main:
Version Packages (beta) (#2364)
Animate in-progress segments in the timeline (#2383)
Render queued span time as a lead-in connector on the trace timeline. (#2381)
fix(docs): right-align sidebar folder carets consistently (#2377)
[core] Add wire-level framing for byte streams (#1853)
docs: move World SDK and getWorld under workflow/runtime, split out workflow/observability (#2375)
Replace hook.hasConflict with hook.getConflict() returning the conflicting Run (#2373)
ci: use claude-fable-5 for backport AI model (#2370)
Add `hook.hasConflict` for early hook conflict detection (#2015)
[core] V2: unify wait+step queue dispatch in suspension processing (#1925)
fix(world-local,world-postgres): make duplicate hook_created idempotent (#2295)
docs(observability): remove MVP implementation detail bullet (#2367)
fix: settle aborted parallel steps before completing abortParallelWorkflow (#2244)
Sign up for freeto 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.

2 participants

@mitul-s@karthikscale3
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Animate in-progress segments in the timeline by mitul-s · Pull Request #2383 · vercel/workflow · GitHub
Skip to content

Animate in-progress segments in the timeline - #2383

Merged
mitul-s merged 2 commits into
mainfrom
ms/animation-for-active-run
Jun 12, 2026
Merged

Animate in-progress segments in the timeline#2383
mitul-s merged 2 commits into
mainfrom
ms/animation-for-active-run

Conversation

@mitul-s

@mitul-smitul-s commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

What

Adds an animated diagonal "barber-pole" stripe overlay to in-progress (running/received) segments in the new trace viewer timeline, so it's obvious at a glance which work is still live. Completed runs stay a static blue bar; the queued lead-in stays a static line.

CleanShot.2026-06-12.at.13.58.54.mp4

Add an animated diagonal "barber-pole" stripe overlay to in-progress
(running/received) segments in the new trace viewer timeline, so it's
obvious at a glance which work is still live.
The animation lives in a colocated CSS module (timeline.module.css),
imported by the component — web-shared is in consumers' transpilePackages,
so the keyframes ship with the component rather than relying on the global
styles.css (which Geist-using hosts don't import).
Also fixes a latent status bug this surfaced: the run-segment builders
collapsed every non-failed run to "running", so completed runs rendered as
"running" (and, with the new animation, kept animating). They now map to a
new terminal `completed` status (blue, static) via a fail-closed
runSegmentStatus helper — only genuinely in-progress runs animate.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mitul-s
mitul-s requested a review from a team as a code ownerJune 12, 2026 17:58
@changeset-bot

changeset-botBot commented Jun 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5d6ba52

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 16 packages
NameType
@workflow/web-sharedPatch
@workflow/webPatch
@workflow/cliPatch
@workflow/nitroPatch
workflowPatch
@workflow/world-testingPatch
@workflow/nuxtPatch
@workflow/corePatch
@workflow/buildersPatch
@workflow/nextPatch
@workflow/vitestPatch
@workflow/astroPatch
@workflow/nestPatch
@workflow/rollupPatch
@workflow/sveltekitPatch
@workflow/vitePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercelBot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Signed-off-by: Mitul Shah <mitulxshah@gmail.com>
@mitul-s
mitul-s enabled auto-merge (squash) June 12, 2026 18:01
@mitul-s
mitul-s merged commit d81b929 into mainJun 12, 2026
59 checks passed
@mitul-s
mitul-s deleted the ms/animation-for-active-run branch June 12, 2026 18:06
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for d81b929 (AI decision).

This change is entirely confined to the new-trace-viewer component in @workflow/web-shared, which does not exist on stable (verified via git ls-tree origin/stable packages/web-shared/src/components/ — only the old trace-viewer is present). The build-script change and CSS module also exist solely to support that main-only directory, so there is nothing applicable to backport.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

d81b929fa913b9f612be2bef97445c0ed7a2e5d0

@github-actionsgithub-actionsBot mentioned this pull request Jun 12, 2026
pranaygp added a commit that referenced this pull request Jun 12, 2026
…docs-run-idempotency
* origin-https/main:
Version Packages (beta) (#2364)
Animate in-progress segments in the timeline (#2383)
pranaygp added a commit that referenced this pull request Jun 12, 2026
…ry-2
* origin/main:
Version Packages (beta) (#2364)
Animate in-progress segments in the timeline (#2383)
Render queued span time as a lead-in connector on the trace timeline. (#2381)
fix(docs): right-align sidebar folder carets consistently (#2377)
[core] Add wire-level framing for byte streams (#1853)
docs: move World SDK and getWorld under workflow/runtime, split out workflow/observability (#2375)
Replace hook.hasConflict with hook.getConflict() returning the conflicting Run (#2373)
ci: use claude-fable-5 for backport AI model (#2370)
Add `hook.hasConflict` for early hook conflict detection (#2015)
[core] V2: unify wait+step queue dispatch in suspension processing (#1925)
fix(world-local,world-postgres): make duplicate hook_created idempotent (#2295)
docs(observability): remove MVP implementation detail bullet (#2367)
fix: settle aborted parallel steps before completing abortParallelWorkflow (#2244)
Sign up for freeto 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.

2 participants

@mitul-s@karthikscale3
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Animate in-progress segments in the timeline by mitul-s · Pull Request #2383 · vercel/workflow · GitHub
Skip to content

Animate in-progress segments in the timeline - #2383

Merged
mitul-s merged 2 commits into
mainfrom
ms/animation-for-active-run
Jun 12, 2026
Merged

Animate in-progress segments in the timeline#2383
mitul-s merged 2 commits into
mainfrom
ms/animation-for-active-run

Conversation

@mitul-s

@mitul-smitul-s commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

What

Adds an animated diagonal "barber-pole" stripe overlay to in-progress (running/received) segments in the new trace viewer timeline, so it's obvious at a glance which work is still live. Completed runs stay a static blue bar; the queued lead-in stays a static line.

CleanShot.2026-06-12.at.13.58.54.mp4

Add an animated diagonal "barber-pole" stripe overlay to in-progress
(running/received) segments in the new trace viewer timeline, so it's
obvious at a glance which work is still live.
The animation lives in a colocated CSS module (timeline.module.css),
imported by the component — web-shared is in consumers' transpilePackages,
so the keyframes ship with the component rather than relying on the global
styles.css (which Geist-using hosts don't import).
Also fixes a latent status bug this surfaced: the run-segment builders
collapsed every non-failed run to "running", so completed runs rendered as
"running" (and, with the new animation, kept animating). They now map to a
new terminal `completed` status (blue, static) via a fail-closed
runSegmentStatus helper — only genuinely in-progress runs animate.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mitul-s
mitul-s requested a review from a team as a code ownerJune 12, 2026 17:58
@changeset-bot

changeset-botBot commented Jun 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5d6ba52

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 16 packages
NameType
@workflow/web-sharedPatch
@workflow/webPatch
@workflow/cliPatch
@workflow/nitroPatch
workflowPatch
@workflow/world-testingPatch
@workflow/nuxtPatch
@workflow/corePatch
@workflow/buildersPatch
@workflow/nextPatch
@workflow/vitestPatch
@workflow/astroPatch
@workflow/nestPatch
@workflow/rollupPatch
@workflow/sveltekitPatch
@workflow/vitePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercelBot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Signed-off-by: Mitul Shah <mitulxshah@gmail.com>
@mitul-s
mitul-s enabled auto-merge (squash) June 12, 2026 18:01
@mitul-s
mitul-s merged commit d81b929 into mainJun 12, 2026
59 checks passed
@mitul-s
mitul-s deleted the ms/animation-for-active-run branch June 12, 2026 18:06
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for d81b929 (AI decision).

This change is entirely confined to the new-trace-viewer component in @workflow/web-shared, which does not exist on stable (verified via git ls-tree origin/stable packages/web-shared/src/components/ — only the old trace-viewer is present). The build-script change and CSS module also exist solely to support that main-only directory, so there is nothing applicable to backport.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

d81b929fa913b9f612be2bef97445c0ed7a2e5d0

@github-actionsgithub-actionsBot mentioned this pull request Jun 12, 2026
pranaygp added a commit that referenced this pull request Jun 12, 2026
…docs-run-idempotency
* origin-https/main:
Version Packages (beta) (#2364)
Animate in-progress segments in the timeline (#2383)
pranaygp added a commit that referenced this pull request Jun 12, 2026
…ry-2
* origin/main:
Version Packages (beta) (#2364)
Animate in-progress segments in the timeline (#2383)
Render queued span time as a lead-in connector on the trace timeline. (#2381)
fix(docs): right-align sidebar folder carets consistently (#2377)
[core] Add wire-level framing for byte streams (#1853)
docs: move World SDK and getWorld under workflow/runtime, split out workflow/observability (#2375)
Replace hook.hasConflict with hook.getConflict() returning the conflicting Run (#2373)
ci: use claude-fable-5 for backport AI model (#2370)
Add `hook.hasConflict` for early hook conflict detection (#2015)
[core] V2: unify wait+step queue dispatch in suspension processing (#1925)
fix(world-local,world-postgres): make duplicate hook_created idempotent (#2295)
docs(observability): remove MVP implementation detail bullet (#2367)
fix: settle aborted parallel steps before completing abortParallelWorkflow (#2244)
Sign up for freeto 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.

2 participants

@mitul-s@karthikscale3
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Animate in-progress segments in the timeline by mitul-s · Pull Request #2383 · vercel/workflow · GitHub
Skip to content

Animate in-progress segments in the timeline - #2383

Merged
mitul-s merged 2 commits into
mainfrom
ms/animation-for-active-run
Jun 12, 2026
Merged

Animate in-progress segments in the timeline#2383
mitul-s merged 2 commits into
mainfrom
ms/animation-for-active-run

Conversation

@mitul-s

@mitul-smitul-s commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

What

Adds an animated diagonal "barber-pole" stripe overlay to in-progress (running/received) segments in the new trace viewer timeline, so it's obvious at a glance which work is still live. Completed runs stay a static blue bar; the queued lead-in stays a static line.

CleanShot.2026-06-12.at.13.58.54.mp4

Add an animated diagonal "barber-pole" stripe overlay to in-progress
(running/received) segments in the new trace viewer timeline, so it's
obvious at a glance which work is still live.
The animation lives in a colocated CSS module (timeline.module.css),
imported by the component — web-shared is in consumers' transpilePackages,
so the keyframes ship with the component rather than relying on the global
styles.css (which Geist-using hosts don't import).
Also fixes a latent status bug this surfaced: the run-segment builders
collapsed every non-failed run to "running", so completed runs rendered as
"running" (and, with the new animation, kept animating). They now map to a
new terminal `completed` status (blue, static) via a fail-closed
runSegmentStatus helper — only genuinely in-progress runs animate.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mitul-s
mitul-s requested a review from a team as a code ownerJune 12, 2026 17:58
@changeset-bot

changeset-botBot commented Jun 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5d6ba52

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 16 packages
NameType
@workflow/web-sharedPatch
@workflow/webPatch
@workflow/cliPatch
@workflow/nitroPatch
workflowPatch
@workflow/world-testingPatch
@workflow/nuxtPatch
@workflow/corePatch
@workflow/buildersPatch
@workflow/nextPatch
@workflow/vitestPatch
@workflow/astroPatch
@workflow/nestPatch
@workflow/rollupPatch
@workflow/sveltekitPatch
@workflow/vitePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercelBot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Signed-off-by: Mitul Shah <mitulxshah@gmail.com>
@mitul-s
mitul-s enabled auto-merge (squash) June 12, 2026 18:01
@mitul-s
mitul-s merged commit d81b929 into mainJun 12, 2026
59 checks passed
@mitul-s
mitul-s deleted the ms/animation-for-active-run branch June 12, 2026 18:06
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for d81b929 (AI decision).

This change is entirely confined to the new-trace-viewer component in @workflow/web-shared, which does not exist on stable (verified via git ls-tree origin/stable packages/web-shared/src/components/ — only the old trace-viewer is present). The build-script change and CSS module also exist solely to support that main-only directory, so there is nothing applicable to backport.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

d81b929fa913b9f612be2bef97445c0ed7a2e5d0

@github-actionsgithub-actionsBot mentioned this pull request Jun 12, 2026
pranaygp added a commit that referenced this pull request Jun 12, 2026
…docs-run-idempotency
* origin-https/main:
Version Packages (beta) (#2364)
Animate in-progress segments in the timeline (#2383)
pranaygp added a commit that referenced this pull request Jun 12, 2026
…ry-2
* origin/main:
Version Packages (beta) (#2364)
Animate in-progress segments in the timeline (#2383)
Render queued span time as a lead-in connector on the trace timeline. (#2381)
fix(docs): right-align sidebar folder carets consistently (#2377)
[core] Add wire-level framing for byte streams (#1853)
docs: move World SDK and getWorld under workflow/runtime, split out workflow/observability (#2375)
Replace hook.hasConflict with hook.getConflict() returning the conflicting Run (#2373)
ci: use claude-fable-5 for backport AI model (#2370)
Add `hook.hasConflict` for early hook conflict detection (#2015)
[core] V2: unify wait+step queue dispatch in suspension processing (#1925)
fix(world-local,world-postgres): make duplicate hook_created idempotent (#2295)
docs(observability): remove MVP implementation detail bullet (#2367)
fix: settle aborted parallel steps before completing abortParallelWorkflow (#2244)
Sign up for freeto 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.

2 participants

@mitul-s@karthikscale3
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Animate in-progress segments in the timeline by mitul-s · Pull Request #2383 · vercel/workflow · GitHub
Skip to content

Animate in-progress segments in the timeline - #2383

Merged
mitul-s merged 2 commits into
mainfrom
ms/animation-for-active-run
Jun 12, 2026
Merged

Animate in-progress segments in the timeline#2383
mitul-s merged 2 commits into
mainfrom
ms/animation-for-active-run

Conversation

@mitul-s

@mitul-smitul-s commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

What

Adds an animated diagonal "barber-pole" stripe overlay to in-progress (running/received) segments in the new trace viewer timeline, so it's obvious at a glance which work is still live. Completed runs stay a static blue bar; the queued lead-in stays a static line.

CleanShot.2026-06-12.at.13.58.54.mp4

Add an animated diagonal "barber-pole" stripe overlay to in-progress
(running/received) segments in the new trace viewer timeline, so it's
obvious at a glance which work is still live.
The animation lives in a colocated CSS module (timeline.module.css),
imported by the component — web-shared is in consumers' transpilePackages,
so the keyframes ship with the component rather than relying on the global
styles.css (which Geist-using hosts don't import).
Also fixes a latent status bug this surfaced: the run-segment builders
collapsed every non-failed run to "running", so completed runs rendered as
"running" (and, with the new animation, kept animating). They now map to a
new terminal `completed` status (blue, static) via a fail-closed
runSegmentStatus helper — only genuinely in-progress runs animate.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mitul-s
mitul-s requested a review from a team as a code ownerJune 12, 2026 17:58
@changeset-bot

changeset-botBot commented Jun 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5d6ba52

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 16 packages
NameType
@workflow/web-sharedPatch
@workflow/webPatch
@workflow/cliPatch
@workflow/nitroPatch
workflowPatch
@workflow/world-testingPatch
@workflow/nuxtPatch
@workflow/corePatch
@workflow/buildersPatch
@workflow/nextPatch
@workflow/vitestPatch
@workflow/astroPatch
@workflow/nestPatch
@workflow/rollupPatch
@workflow/sveltekitPatch
@workflow/vitePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercelBot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Signed-off-by: Mitul Shah <mitulxshah@gmail.com>
@mitul-s
mitul-s enabled auto-merge (squash) June 12, 2026 18:01
@mitul-s
mitul-s merged commit d81b929 into mainJun 12, 2026
59 checks passed
@mitul-s
mitul-s deleted the ms/animation-for-active-run branch June 12, 2026 18:06
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for d81b929 (AI decision).

This change is entirely confined to the new-trace-viewer component in @workflow/web-shared, which does not exist on stable (verified via git ls-tree origin/stable packages/web-shared/src/components/ — only the old trace-viewer is present). The build-script change and CSS module also exist solely to support that main-only directory, so there is nothing applicable to backport.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

d81b929fa913b9f612be2bef97445c0ed7a2e5d0

@github-actionsgithub-actionsBot mentioned this pull request Jun 12, 2026
pranaygp added a commit that referenced this pull request Jun 12, 2026
…docs-run-idempotency
* origin-https/main:
Version Packages (beta) (#2364)
Animate in-progress segments in the timeline (#2383)
pranaygp added a commit that referenced this pull request Jun 12, 2026
…ry-2
* origin/main:
Version Packages (beta) (#2364)
Animate in-progress segments in the timeline (#2383)
Render queued span time as a lead-in connector on the trace timeline. (#2381)
fix(docs): right-align sidebar folder carets consistently (#2377)
[core] Add wire-level framing for byte streams (#1853)
docs: move World SDK and getWorld under workflow/runtime, split out workflow/observability (#2375)
Replace hook.hasConflict with hook.getConflict() returning the conflicting Run (#2373)
ci: use claude-fable-5 for backport AI model (#2370)
Add `hook.hasConflict` for early hook conflict detection (#2015)
[core] V2: unify wait+step queue dispatch in suspension processing (#1925)
fix(world-local,world-postgres): make duplicate hook_created idempotent (#2295)
docs(observability): remove MVP implementation detail bullet (#2367)
fix: settle aborted parallel steps before completing abortParallelWorkflow (#2244)
Sign up for freeto 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.

2 participants

@mitul-s@karthikscale3
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Animate in-progress segments in the timeline by mitul-s · Pull Request #2383 · vercel/workflow · GitHub
Skip to content

Animate in-progress segments in the timeline - #2383

Merged
mitul-s merged 2 commits into
mainfrom
ms/animation-for-active-run
Jun 12, 2026
Merged

Animate in-progress segments in the timeline#2383
mitul-s merged 2 commits into
mainfrom
ms/animation-for-active-run

Conversation

@mitul-s

@mitul-smitul-s commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

What

Adds an animated diagonal "barber-pole" stripe overlay to in-progress (running/received) segments in the new trace viewer timeline, so it's obvious at a glance which work is still live. Completed runs stay a static blue bar; the queued lead-in stays a static line.

CleanShot.2026-06-12.at.13.58.54.mp4

Add an animated diagonal "barber-pole" stripe overlay to in-progress
(running/received) segments in the new trace viewer timeline, so it's
obvious at a glance which work is still live.
The animation lives in a colocated CSS module (timeline.module.css),
imported by the component — web-shared is in consumers' transpilePackages,
so the keyframes ship with the component rather than relying on the global
styles.css (which Geist-using hosts don't import).
Also fixes a latent status bug this surfaced: the run-segment builders
collapsed every non-failed run to "running", so completed runs rendered as
"running" (and, with the new animation, kept animating). They now map to a
new terminal `completed` status (blue, static) via a fail-closed
runSegmentStatus helper — only genuinely in-progress runs animate.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mitul-s
mitul-s requested a review from a team as a code ownerJune 12, 2026 17:58
@changeset-bot

changeset-botBot commented Jun 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5d6ba52

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 16 packages
NameType
@workflow/web-sharedPatch
@workflow/webPatch
@workflow/cliPatch
@workflow/nitroPatch
workflowPatch
@workflow/world-testingPatch
@workflow/nuxtPatch
@workflow/corePatch
@workflow/buildersPatch
@workflow/nextPatch
@workflow/vitestPatch
@workflow/astroPatch
@workflow/nestPatch
@workflow/rollupPatch
@workflow/sveltekitPatch
@workflow/vitePatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercelBot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Signed-off-by: Mitul Shah <mitulxshah@gmail.com>
@mitul-s
mitul-s enabled auto-merge (squash) June 12, 2026 18:01
@mitul-s
mitul-s merged commit d81b929 into mainJun 12, 2026
59 checks passed
@mitul-s
mitul-s deleted the ms/animation-for-active-run branch June 12, 2026 18:06
@github-actions

Copy link
Copy Markdown
Contributor

No backport to stable for d81b929 (AI decision).

This change is entirely confined to the new-trace-viewer component in @workflow/web-shared, which does not exist on stable (verified via git ls-tree origin/stable packages/web-shared/src/components/ — only the old trace-viewer is present). The build-script change and CSS module also exist solely to support that main-only directory, so there is nothing applicable to backport.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

d81b929fa913b9f612be2bef97445c0ed7a2e5d0

@github-actionsgithub-actionsBot mentioned this pull request Jun 12, 2026
pranaygp added a commit that referenced this pull request Jun 12, 2026
…docs-run-idempotency
* origin-https/main:
Version Packages (beta) (#2364)
Animate in-progress segments in the timeline (#2383)
pranaygp added a commit that referenced this pull request Jun 12, 2026
…ry-2
* origin/main:
Version Packages (beta) (#2364)
Animate in-progress segments in the timeline (#2383)
Render queued span time as a lead-in connector on the trace timeline. (#2381)
fix(docs): right-align sidebar folder carets consistently (#2377)
[core] Add wire-level framing for byte streams (#1853)
docs: move World SDK and getWorld under workflow/runtime, split out workflow/observability (#2375)
Replace hook.hasConflict with hook.getConflict() returning the conflicting Run (#2373)
ci: use claude-fable-5 for backport AI model (#2370)
Add `hook.hasConflict` for early hook conflict detection (#2015)
[core] V2: unify wait+step queue dispatch in suspension processing (#1925)
fix(world-local,world-postgres): make duplicate hook_created idempotent (#2295)
docs(observability): remove MVP implementation detail bullet (#2367)
fix: settle aborted parallel steps before completing abortParallelWorkflow (#2244)
Sign up for freeto 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.

2 participants

@mitul-s@karthikscale3