Skip to content

Fix workflow publication observation - #3335

Open
AbigailDeng wants to merge 4 commits into
feat/2026-08-04_workflow-activity-vnextfrom
fix/2026-08-07_frontend-publish-observation
Open

Fix workflow publication observation#3335
AbigailDeng wants to merge 4 commits into
feat/2026-08-04_workflow-activity-vnextfrom
fix/2026-08-07_frontend-publish-observation

Conversation

@AbigailDeng

@AbigailDeng AbigailDeng commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Problem and solution

  • Keep the workflow publication flow frontend-only and one-click. The page submits the direct publish request, then automatically observes the authoritative workflow read model.
  • Show a success toast only after the submitted revision is actually observed as published. Do not show success, error, or info toasts for accepted, observing, or delayed states.
  • Show one error toast for direct submission failure, invalid accepted receipts, terminal observation failures, 401, and 403 responses.
  • Replace the disabled Published button with a Published status label placed immediately before Saved. Once the current revision is observed as published, the Publish button is not rendered.
  • Preserve automatic polling for 404, 408, 409, 425, 429, and 5xx propagation states. No manual publication check action, dialog, service picker, or service revision polling is introduced.
  • Keep workflowId, memberId, and publishedServiceId separate. No backend code changed.

Impact paths

  • Workflow Activity vNext editor publish feedback and terminal states.
  • Workflow publication observation and retry behavior.
  • Editor toolbar status layout on desktop and mobile.
  • Localized copy and regression coverage.

Design baseline

Design baseline:
apps/aevatar-console-web/docs/design-baselines/workflow-activity-vnext/
Primary design:
aevatar-workflow-activity-vnext.excalidraw
Design SHA-256:
30e74d7b410ae72c4c91432355436679033679c54c10b1702908435b001577de
Contract specification:
apps/aevatar-console-web/docs/superpowers/specs/
2026-08-04-workflow-activity-vnext-design.md
User paths:
apps/aevatar-console-web/docs/superpowers/specs/
2026-08-04-workflow-activity-vnext-user-paths.md
Authentication and localization:
Existing Aevatar login, callback, session, returnTo, and Umi locale logic;
presentation may change, behavior may not.
Production data source:
Real APIs and API-acknowledged user actions only; no mock fallback.
Baseline integrity:
python3 apps/aevatar-console-web/docs/design-baselines/
workflow-activity-vnext/verify-baseline.py

Local verification

  • Dependency-related Jest:
    pnpm exec jest --findRelatedTests src/locales/workflowActivityVNextMessages.en-US.ts src/locales/workflowActivityVNextMessages.zh-CN.ts src/pages/workflow-activity-vnext/styles.ts src/pages/workflow-activity-vnext/workflows/WorkflowEditorPage.tsx --runInBand --json --outputFile /tmp/aevatar-publish-feedback-related-jest.json
    Result: 101 suites, 1,255 tests passed; 0 failed.
  • Changed test file:
    pnpm exec jest --runInBand --runTestsByPath src/pages/workflow-activity-vnext/index.test.tsx --json --outputFile /tmp/aevatar-publish-feedback-index-jest.json
    Result: 1 suite, 95 tests passed; 0 failed.
  • Changed-file static check:
    pnpm exec biome check src/locales/workflowActivityVNextMessages.en-US.ts src/locales/workflowActivityVNextMessages.zh-CN.ts src/pages/workflow-activity-vnext/index.test.tsx src/pages/workflow-activity-vnext/styles.ts src/pages/workflow-activity-vnext/workflows/WorkflowEditorPage.tsx
    Result: passed, no fixes applied.
  • Diff check:
    git diff --check HEAD
    Result: passed.
  • Design baseline:
    python3 apps/aevatar-console-web/docs/design-baselines/workflow-activity-vnext/verify-baseline.py
    Result: 17/17 frames and byte-identical generator output; passed.
  • Browser smoke:
    Existing authenticated Chrome session on the local 5173 workflow editor, with remote backend API proxy. The page loaded real workflow data after refresh; desktop and 390x844 mobile layouts rendered correctly. No remote Publish action was performed.
  • Full frontend suite/build: deferred to GitHub CI by personal local workflow policy.
  • Full package TypeScript check: deferred to GitHub CI because no reliable affected typecheck target is available.

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