fix(workflow): close review and snapshot gaps
This commit is contained in:
@@ -1,14 +1,3 @@
|
||||
- banner:
|
||||
- navigation "Session hierarchy":
|
||||
- button "Use the workflow tool exactly" [disabled]
|
||||
- button "1 subagent":
|
||||
- text: 1 subagent
|
||||
- img
|
||||
- img
|
||||
- text: 标准模式
|
||||
- tablist:
|
||||
- tab "Chat" [selected]
|
||||
- tab "Trajectory"
|
||||
- text: "Use the workflow tool exactly once, with args omitted, meta set to { \"name\": \"snapshot-flow\", \"description\": \"one child for the snapshot\" }, and this EXACT script body (copy it verbatim): phase('Run') const reply = await agent('Reply with exactly the word WF_CHILD_OK and nothing else.') return { reply } After the workflow returns, reply with the single word WORKFLOW_DONE and stop. Do not use any other tool. {{clock}}"
|
||||
- button "Copy":
|
||||
- img
|
||||
@@ -41,15 +30,3 @@
|
||||
- button "Branch into a new conversation":
|
||||
- img
|
||||
- text: {{clock}} Ran for {{duration}} TTFT {{duration}} {{throughput}} tok/s
|
||||
- button "Back to bottom":
|
||||
- img
|
||||
- textbox "Message the agent"
|
||||
- button "Commands":
|
||||
- img
|
||||
- 'button "Access mode, current: Workspace Write"': Workspace Write
|
||||
- button "Select model, current DeepSeek-V4-Flash":
|
||||
- text: DeepSeek-V4-Flash
|
||||
- img
|
||||
- button "3% of context used"
|
||||
- button "Send message" [disabled]
|
||||
- text: 1 turns · 2 steps LLM {{duration}} · Tool call {{duration}} TTFT avg {{duration}} · {{throughput}} tok/s Cache hit 47% Input 6.6K tok · Output 227 tok
|
||||
|
||||
@@ -93,8 +93,16 @@ describe.skipIf(MODE === 'record')('web e2e: durable workflow run in Chat', () =
|
||||
const label = element.querySelector('[data-member-label]')
|
||||
const labelWrap = element.querySelector('[data-member-label-wrap]')
|
||||
const status = element.querySelector('[data-member-status-text]')
|
||||
const runHeader = element.querySelector('[data-run-header]')
|
||||
const phaseHeader = element.querySelector('[data-phase-header]')
|
||||
const disclosures = element.querySelectorAll('[data-disclosure-row]')
|
||||
const runHeader = disclosures[0]
|
||||
const phaseHeader = disclosures[1]
|
||||
const phaseTitle = phaseHeader?.children.item(1) as HTMLElement | null
|
||||
const phaseStatus = element.querySelector('[data-phase-status-text]')
|
||||
const originalPhaseTitle = phaseTitle?.textContent ?? ''
|
||||
if (phaseTitle !== null) phaseTitle.textContent = 'A phase name long enough to require ellipsis in the narrow layout'
|
||||
const phaseTitleRight = phaseTitle?.getBoundingClientRect().right ?? 0
|
||||
const phaseStatusLeft = phaseStatus?.getBoundingClientRect().left ?? 0
|
||||
if (phaseTitle !== null) phaseTitle.textContent = originalPhaseTitle
|
||||
return {
|
||||
clientWidth: element.clientWidth,
|
||||
scrollWidth: element.scrollWidth,
|
||||
@@ -105,6 +113,8 @@ describe.skipIf(MODE === 'record')('web e2e: durable workflow run in Chat', () =
|
||||
statusFontSize: status === null ? '' : getComputedStyle(status).fontSize,
|
||||
runHeight: runHeader?.getBoundingClientRect().height ?? 0,
|
||||
phaseHeight: phaseHeader?.getBoundingClientRect().height ?? 0,
|
||||
phaseTitleRight,
|
||||
phaseStatusLeft,
|
||||
}
|
||||
})
|
||||
expect(darkNarrow.clientWidth).toBe(356)
|
||||
@@ -116,6 +126,7 @@ describe.skipIf(MODE === 'record')('web e2e: durable workflow run in Chat', () =
|
||||
expect(darkNarrow.statusFontSize).toBe('13px')
|
||||
expect(darkNarrow.runHeight).toBe(32)
|
||||
expect(darkNarrow.phaseHeight).toBe(32)
|
||||
expect(darkNarrow.phaseTitleRight).toBeLessThanOrEqual(darkNarrow.phaseStatusLeft)
|
||||
await page.locator('[data-workflow-run]').evaluate((element) => {
|
||||
(element as HTMLElement).style.removeProperty('width')
|
||||
document.body.removeAttribute('data-ds-dark-theme')
|
||||
@@ -158,7 +169,7 @@ describe.skipIf(MODE === 'record')('web e2e: durable workflow run in Chat', () =
|
||||
await page.getByText(CHILD_PROMPT, { exact: false }).waitFor()
|
||||
expect(await page.getByRole('button', { name: /^Open Reply with exactly the word/ }).count()).toBe(0)
|
||||
|
||||
const snapshot = await captureStableAria(page, '[class*="centerCol"]', scaffold.workspaceCwd)
|
||||
const snapshot = await captureStableAria(page, '[data-chat-flow]', scaffold.workspaceCwd)
|
||||
await compareOrRefreshGolden(UI_EXPECTED, snapshot, MODE)
|
||||
}, 60_000)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user