Skip to content

Introduce RFC for step-based modal actions#47

Open
nandorojo wants to merge 2 commits intomainfrom
workflow-rfc
Open

Introduce RFC for step-based modal actions#47
nandorojo wants to merge 2 commits intomainfrom
workflow-rfc

Conversation

@nandorojo
Copy link
Collaborator

  • Introduced a new RFC for managing modal actions using "use step" semantics.
  • Enabled structured multi-step interaction patterns for modal components.

v0 Session

Proposes replacing the current bot.onAction/onModalSubmit/onModalClose
string-matcher pattern with an inline, awaitable modal API powered by
Workflow DevKit. Modals become a single awaitable expression inside a
'use workflow' function that suspends via createWebhook() and resumes
with form values on submit.

Key proposals:
- openModal() returns Promise<ModalResult> inside workflows
- Inline onAction={} prop on <Button> components
- Validation loops, cancellation via try/catch, timeouts via Promise.race
- Multi-step wizards as simple sequential code
- Full backward compatibility with existing patterns
@vercel
Copy link
Contributor

vercel bot commented Feb 16, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
the-real-chat-sdk-nextjs-chat Ready Ready Preview, Comment, Open in v0 Feb 16, 2026 0:28am
v0-chat-fy Error Error Open in v0 Feb 16, 2026 0:28am

@github-actions
Copy link
Contributor

Preview Branch Testing

To test this PR with real webhook traffic:

  1. Go to /settings on the production deployment
  2. Enter this PR's Vercel preview URL
  3. Save - all webhook requests will now be proxied to this preview

To disable: Clear the URL on the settings page.

- createWebhook() has no generic type param (unlike createHook<T>)
- await webhook resolves to Request, not arbitrary payload
- respondWith: 'manual' mode for dynamic validation responses
- respondWith() must be called from 'use step' functions
- Step functions for all Node.js/adapter work (workflow is sandboxed)
- sleep() uses shorthand duration strings ('1h' not '1 hour')
- Added WDK Best Practices Alignment audit table
- Updated validation loop to document respondWith() mechanism
- Refined open question #2 around validation response latency
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