Skip to content

Reuse shared Studio workflow editor surface - #3276

Merged
AbigailDeng merged 18 commits into
feat/2026-08-04_workflow-activity-vnextfrom
fix/2026-08-06_one-click-workflow-publish
Aug 10, 2026
Merged

Reuse shared Studio workflow editor surface#3276
AbigailDeng merged 18 commits into
feat/2026-08-04_workflow-activity-vnextfrom
fix/2026-08-06_one-click-workflow-publish

Conversation

@AbigailDeng

@AbigailDeng AbigailDeng commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

问题与方案

Workflow Activity vNext 之前只复用了 Studio 的低层 Canvas,没有复用完整编辑合同,因此边连接、边选择、删除和节点布局等能力不完整。

本 PR 现在只处理编辑能力复用:

  • 新增共享 WorkflowStudioEditorSurface,组合既有 Canvas 和 Node Library。
  • Team Member Workflow Studio 与 Workflow Activity vNext 使用同一个 editor surface。
  • vNext 接入连接节点、删除节点、删除边、选中边和移动节点。
  • conditional/switch 连接使用 branch-aware 写入,不再错误写入线性 next
  • 画布更新失败通过 toast 展示。
  • 保留直接点击具体边删除的行为,不依赖先选中边。
  • 选中边统一使用 4 px 主色描边、静态蓝色光晕和同色箭头,缩放后仍可辨识。

Publish 边界

Publish 不再由本 PR 修改。目标分支中已合并的 #3335 是唯一实现来源:

  • 本 PR 相对目标分支没有 useWorkflowPublication、Publish Dialog、publish API、binding run、隐藏 Team/Member authority 或 provisioning 差异。
  • 冲突解决时,所有 publish 文件均采用目标分支版本。
  • 本 PR 不创建 Team/Member,也不改变 workflow publish contract。
  • 已合入目标分支最新提交 Fix published workflow Run readiness #3386Make frontend tests deterministic and behavior-focused #3384;它们属于目标分支基线,不作为本 PR 新增 publish 改动。

影响路径

  • Team Member Workflow Studio 的共享画布 surface、branch-aware 连接、直接边删除和选中边反馈。
  • Workflow Activity vNext 的画布编辑能力。
  • 相关中英文错误 toast 文案与回归测试。

Local verification

  • Dependency-related tests: pnpm exec jest --findRelatedTests src/locales/workflowActivityVNextMessages.en-US.ts src/locales/workflowActivityVNextMessages.zh-CN.ts src/pages/team-member-workflow-studio/components/WorkflowStudioEditorSurface.tsx src/pages/team-member-workflow-studio/hooks/useTeamMemberWorkflowStudio.ts src/pages/team-member-workflow-studio/index.tsx src/pages/workflow-activity-vnext/hooks/useWorkflowEditor.ts src/pages/workflow-activity-vnext/workflows/WorkflowEditorPage.tsx src/shared/graphs/GraphCanvas.tsx --runInBand - 101 suites, 1,259 tests passed.
  • Changed tests: pnpm exec jest src/pages/team-member-workflow-studio/index.test.tsx src/pages/workflow-activity-vnext/index.test.tsx src/shared/graphs/GraphCanvas.test.tsx --runInBand - 3 suites, 192 tests passed.
  • Changed-file static checks: pnpm exec biome check <11 changed frontend files> - passed.
  • Test stability: bash tools/ci/test_stability_guards.sh - passed.
  • Browser smoke: existing authenticated Chrome tab reloaded the exact local editor route against the remote backend; it rendered weekly_report_five_nodes with 4 nodes and 2 edges, showed Published, and had no error toast or console error. The selected edge computed to 4 px with the blue drop shadow and #1677ff arrow marker.
  • Whitespace validation: git diff --check - passed.
  • Full frontend suite/build: deferred to GitHub CI by personal local workflow policy.

@AbigailDeng

Copy link
Copy Markdown
Contributor Author

Local verification: single workflow editor title

  • Related tests: pnpm exec jest src/pages/workflow-activity-vnext/index.test.tsx --runInBand - 97 passed
  • Regression test: pnpm --dir apps/aevatar-console-web jest --runInBand src/pages/workflow-activity-vnext/index.test.tsx -t "keeps the editor header focused on one inline workflow name" - passed after a verified RED failure before implementation
  • Changed-file static checks: pnpm exec biome check src/pages/workflow-activity-vnext/WorkflowActivityVNextShell.tsx src/pages/workflow-activity-vnext/index.test.tsx src/pages/workflow-activity-vnext/styles.ts src/pages/workflow-activity-vnext/workflows/WorkflowEditorPage.tsx - passed
  • Stability guard: bash tools/ci/test_stability_guards.sh - passed
  • Browser smoke check: desktop 1440x900 and mobile 390x844 - one inline editable title, no title/action overlap, and the long mobile title remains visible without horizontal overflow
  • Full frontend suite, typecheck, and production build: delegated to GitHub CI per the repository-local frontend validation policy

Commit: 9598d869e (Use one workflow editor title)

@AbigailDeng

Copy link
Copy Markdown
Contributor Author

Local verification

  • Related tests: pnpm exec jest src/pages/team-member-workflow-studio/index.test.tsx src/pages/workflow-activity-vnext/activity/RunDetailPage.test.tsx src/pages/workflow-activity-vnext/hooks/useWorkflowPublication.test.ts src/pages/workflow-activity-vnext/index.test.tsx src/pages/workflow-activity-vnext/workflows/NewWorkflowPage.test.tsx src/shared/studio/api.test.ts --runInBand — 6 suites, 272 tests passed
  • Post-resolution duplicate-key regression tests: pnpm exec jest src/pages/workflow-activity-vnext/hooks/useWorkflowPublication.test.ts src/shared/studio/api.test.ts --runInBand — 2 suites, 74 tests passed
  • Changed-file static checks: pnpm exec biome lint src/locales/workflowActivityVNextMessages.en-US.ts src/locales/workflowActivityVNextMessages.zh-CN.ts src/pages/team-member-workflow-studio/components/WorkflowStudioEditorSurface.tsx src/pages/team-member-workflow-studio/hooks/useTeamMemberWorkflowStudio.ts src/pages/team-member-workflow-studio/index.test.tsx src/pages/team-member-workflow-studio/index.tsx src/pages/workflow-activity-vnext/WorkflowActivityVNextShell.tsx src/pages/workflow-activity-vnext/activity/RunDetailPage.test.tsx src/pages/workflow-activity-vnext/activity/RunDetailPage.tsx src/pages/workflow-activity-vnext/hooks/useWorkflowEditor.ts src/pages/workflow-activity-vnext/hooks/useWorkflowPublication.test.ts src/pages/workflow-activity-vnext/hooks/useWorkflowPublication.ts src/pages/workflow-activity-vnext/index.test.tsx src/pages/workflow-activity-vnext/settings/SettingsPage.tsx src/pages/workflow-activity-vnext/styles.ts src/pages/workflow-activity-vnext/workflows/NewWorkflowPage.test.tsx src/pages/workflow-activity-vnext/workflows/NewWorkflowPage.tsx src/pages/workflow-activity-vnext/workflows/WorkflowEditorPage.tsx src/pages/workflow-activity-vnext/workflows/WorkflowNodeInspector.tsx src/shared/studio/api.test.ts src/shared/studio/api.ts src/shared/studio/models.ts — 22 files passed
  • Test stability guard: bash tools/ci/test_stability_guards.sh — passed
  • Full frontend suite/typecheck/build: deferred to GitHub CI by personal local workflow policy

@AbigailDeng
AbigailDeng force-pushed the fix/2026-08-06_one-click-workflow-publish branch from 417cbe8 to 12c4207 Compare August 7, 2026 07:52
…y-vnext' into HEAD

# Conflicts:
#	apps/aevatar-console-web/src/pages/workflow-activity-vnext/hooks/useWorkflowPublication.test.ts
#	apps/aevatar-console-web/src/pages/workflow-activity-vnext/index.test.tsx
#	apps/aevatar-console-web/src/pages/workflow-activity-vnext/workflows/NewWorkflowPage.test.tsx
#	apps/aevatar-console-web/src/pages/workflow-activity-vnext/workflows/NewWorkflowPage.tsx
#	apps/aevatar-console-web/src/pages/workflow-activity-vnext/workflows/WorkflowsPage.tsx
#	apps/aevatar-console-web/src/pages/workflow-activity-vnext/workflows/workflowArchival.test.ts
@AbigailDeng

Copy link
Copy Markdown
Contributor Author

Local verification after resolving the target-branch merge and test-contract conflicts:

Local verification

  • Related tests: pnpm exec jest src/pages/workflow-activity-vnext/index.test.tsx src/pages/workflow-activity-vnext/workflows/workflowBackingAuthority.test.ts --runInBand — 2 suites, 106 tests passed.
  • Related tests: pnpm exec jest src/pages/team-member-workflow-studio/index.test.tsx src/pages/workflow-activity-vnext/activity/RunDetailPage.test.tsx src/pages/workflow-activity-vnext/hooks/useWorkflowPublication.test.ts src/pages/workflow-activity-vnext/workflows/NewWorkflowPage.test.tsx src/shared/studio/api.test.ts --runInBand — 5 suites, 184 tests passed.
  • Changed-file static checks: pnpm exec biome check <26 affected frontend files> — 26 files checked, no fixes required.
  • Test stability: bash tools/ci/test_stability_guards.sh — passed.
  • Full frontend suite/build: delegated to GitHub CI by personal local workflow policy. GitHub type-check is already passing; the full console-web test step is currently running.

@AbigailDeng

Copy link
Copy Markdown
Contributor Author

CI remediation follow-up (2026-08-07)

Fixed the two deterministic console-web locale-audit failures from run 31170068896:

  • localized the system-managed Workflow authority description
  • added the missing workflowActivityVNext.editor.canvasUpdateFailed English and Chinese catalogue entries

Focused verification:

  • pnpm exec jest src/locales/hardcodedCopyAudit.test.ts src/pages/workflow-activity-vnext/workflows/workflowBackingAuthority.test.ts src/pages/workflow-activity-vnext/workflows/NewWorkflowPage.test.tsx --runInBand (3 suites / 29 tests passed)
  • pnpm exec biome check src/locales/workflowActivityVNextMessages.en-US.ts src/locales/workflowActivityVNextMessages.zh-CN.ts src/shared/studio/workflowBackingAuthority.ts (passed)
  • CODEX_ALLOW_FULL_FRONTEND_VALIDATION=1 pnpm tsc (passed; full CI failure reproduction explicitly requested)
  • bash tools/ci/test_stability_guards.sh (passed)
  • git diff --cached --check (passed)

The local production build was intentionally not run; full frontend suite/build verification remains delegated to GitHub CI.

@AbigailDeng

Copy link
Copy Markdown
Contributor Author

Local verification

  • Regression test (RED before fix, PASS after fix): pnpm exec jest src/pages/team-member-workflow-studio/index.test.tsx --runInBand -t "deletes the connection requested by the canvas"
  • Related Workflow Studio tests: pnpm exec jest --findRelatedTests src/pages/team-member-workflow-studio/hooks/useTeamMemberWorkflowStudio.ts src/pages/team-member-workflow-studio/index.tsx --runInBand (87 passed)
  • Shared canvas tests: pnpm exec jest src/shared/graphs/GraphCanvas.test.tsx --runInBand (7 passed)
  • Changed-file static checks: pnpm exec biome check src/pages/team-member-workflow-studio/hooks/useTeamMemberWorkflowStudio.ts src/pages/team-member-workflow-studio/index.test.tsx src/pages/team-member-workflow-studio/index.tsx (passed)
  • Test stability guard: bash tools/ci/test_stability_guards.sh (passed)
  • Diff validation: git diff --check (passed)
  • Full frontend suite/build: deferred to GitHub CI by personal local workflow policy

@AbigailDeng AbigailDeng changed the title Restore one-click workflow publishing Reuse shared Studio workflow editor surface Aug 10, 2026
@AbigailDeng

Copy link
Copy Markdown
Contributor Author

Browser verification after conflict resolution

  • Reused the existing authenticated Chrome tab; no new browser or login flow was required.
  • Started the PR worktree frontend at http://127.0.0.1:5174 with all /api/* routes proxied to the hosted backend https://aevatar-console-backend-api.aevatar.ai.
  • The real Workflows catalogue loaded successfully for scope ccb108c4-dcb3-473a-a0f7-e9859bb2f2a0.
  • Opened the real weekly_report_five_nodes editor: 5 nodes and 4 edges rendered, Save and Publish controls were present, and no error toast was shown.
  • No Save, Publish, delete, or other remote mutation action was performed during smoke verification.

@AbigailDeng
AbigailDeng merged commit 94c64c7 into feat/2026-08-04_workflow-activity-vnext Aug 10, 2026
13 checks passed
Sign up for free to 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.

1 participant