[codex] Add workflow UI parity#250
Conversation
|
@codex please review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3bfea44554
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| { | ||
| id: `${stepId}_header_${currentHeaders.length + 1}`, | ||
| key: "", |
There was a problem hiding this comment.
Generate unique header row IDs
This ID is derived from currentHeaders.length + 1, which can repeat after deletions (for example, remove one row, then add another). Because rows are rendered with key={header.id}, duplicate IDs produce duplicate React keys, leading to unstable list reconciliation and header inputs that can behave unpredictably. Use a monotonic counter or UUID-based ID instead of a length-based suffix.
Useful? React with 👍 / 👎.
| This secret is only shown now. If it is lost, re-save the workflow | ||
| to generate a new one. |
There was a problem hiding this comment.
Fix webhook secret recovery instructions
The dialog says users can re-save to generate a new secret, but the backend preserves an existing webhook secret on update and only returns webhook_secret when none existed before (see update_workflow and ensure_webhook_secret in the relay API). If a user loses the secret, this guidance sends them down a path that will not recover it, which is especially problematic because the secret is intentionally shown only once.
Useful? React with 👍 / 👎.
Summary
Why
The workflow engine supports fields and trigger types that the desktop app was not exposing, which made the frontend lag behind the backend and hid real execution caveats from users.
Impact
Channel workflow authors can now create and edit more of the workflow definition directly from the desktop app, and they get clearer feedback about current backend gaps like approval gates and manual/webhook channel requirements.
Validation
cd desktop && pnpm checkcd desktop && pnpm buildcd desktop && pnpm exec playwright test tests/e2e/workflows.spec.tscargo check --manifest-path desktop/src-tauri/Cargo.toml