feat(webhooks): UX improvements — per-provider errors, one-time admin tokens, auto callback URL#510
Conversation
…uto callback URL - webhooks.list uses Promise.allSettled to return per-provider error messages alongside data instead of silently swallowing failures - Add oneTimeTokens input to list/create/delete endpoints so users can provide elevated credentials (e.g. GitHub PAT with admin:repo_hook) for webhook management without persisting them - PM wizard auto-computes callback URL from VITE_API_URL instead of requiring manual input; shows per-provider error banners with retry - CLI --callback-url is now optional (defaults to server URL); added --github-token and provider-specific one-time credential flags Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
🤔 Just a sec, looking into those UX improvements now |
|
Thanks for the review! This PR adds several UX improvements to webhook management: Key ChangesPer-provider error handling: The One-time admin tokens: All three webhook endpoints ( Auto callback URL: The PM wizard now computes the callback URL from Better error UX: Per-provider amber warning banners with retry buttons, plus a contextual success message when webhook creation succeeds but the list refresh encounters errors. Test CoverageAdded 7 new unit tests covering:
All existing tests pass (2802 tests across 168 files). CI is currently running to verify the full pipeline. |
Summary
webhooks.listnow usesPromise.allSettledinstead of silently swallowing failures. Returns anerrorsobject alongside data so the UI can show which providers failed (e.g. GitHub 404) while others still work.oneTimeTokensinput on list/create/delete endpoints lets users provide elevated credentials (e.g. GitHub PAT withadmin:repo_hookscope) for webhook management without persisting them. Collapsible UI section in the PM wizard + CLI flags (--github-token,--trello-api-key, etc.).VITE_API_URLinstead of requiring manual input. CLI--callback-urlis now optional (defaults to the configured server URL).Files changed
src/api/routers/webhooks.tsPromise.allSettled+ errors object,oneTimeTokensschema on all 3 endpointsweb/src/components/projects/pm-wizard.tsxsrc/cli/dashboard/webhooks/create.ts--callback-url, one-time token flags, JIRA outputsrc/cli/dashboard/webhooks/delete.ts--callback-url, one-time token flags, JIRA outputsrc/cli/dashboard/webhooks/list.tstests/unit/api/routers/webhooks.test.tsCLAUDE.mdTest plan
npm run typecheck— cleannpm run lint— cleannpm test— 168 files, 2802 tests passingcascade webhooks create <id>(no--callback-url) — uses server URLcascade webhooks list <id> --github-token ghp_xxx— uses provided token🤖 Generated with Claude Code