Skip to content

Conversation

@taylordowns2000
Copy link
Member

@taylordowns2000 taylordowns2000 commented Jan 15, 2026

Description

This PR closes #4321 , adding the picklist for async/sync mode triggers. (It's the second part of #3785, which has now been used for a month or two.)

Validation steps

  1. Create a webhook triggered workflow
  2. Open the trigger
  3. Change to sync mode
  4. Curl the webhook trigger
  5. See the curl response include the final state of the workflow

Additional notes for the reviewer

  1. This is not custom configurable responses Configurable webhook responses (in sync-mode) #3102 (that comes later, if required)
  2. This is not channels Channels #4322 (that comes later, if required)

AI Usage

Please disclose how you've used AI in this work (it's cool, we just want to know!):

  • Code generation (copilot but not intellisense)
  • Learning or fact checking
  • Strategy / design
  • Optimisation / refactoring
  • Translation / spellchecking / doc gen
  • Other
  • I have not used AI

You can read more details in our Responsible AI Policy

Pre-submission checklist

  • I have performed a self-review of my code.
  • I have implemented and tested all related authorization policies. (e.g., :owner, :admin, :editor, :viewer)
  • I have updated the changelog.
  • I have ticked a box in "AI usage" in this PR

@codecov
Copy link

codecov bot commented Jan 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.33%. Comparing base (b0c2c87) to head (cfc73db).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4323      +/-   ##
==========================================
+ Coverage   89.29%   89.33%   +0.04%     
==========================================
  Files         425      425              
  Lines       19990    19991       +1     
==========================================
+ Hits        17850    17859       +9     
+ Misses       2140     2132       -8     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@taylordowns2000 taylordowns2000 marked this pull request as ready for review January 15, 2026 14:29
Copy link
Collaborator

@lmac-1 lmac-1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few small comments:

  1. webhook_reply - I don't think this field should be nullable. The migration has null: false with a default, and the Ecto schema has default: :before_start. See inline comments on the TypeScript type definitions. But please verify what I am saying is correct... this came up a few times during separate Claude /reviews.
  2. I committed directly to update some conditional styling in TriggerForm to use the cn() utility function.
  3. It would be nice to also add an interaction test in TriggerForm.test.tsx. Current tests are only verifying rendering but don't test the actual user interaction for this feature. Something like this:
test('updates trigger when user changes response mode', async () => {
  const trigger = workflowStore.getSnapshot().triggers[0];
  const { user } = render(<TriggerForm trigger={trigger} />, {...});
  
  const select = await screen.findByLabelText('Response Mode');
  await user.selectOptions(select, 'after_completion');
  
  // Verify Y.Doc was updated
  await waitFor(() => {
    const updatedTrigger = workflowStore.getSnapshot().triggers[0];
    expect(updatedTrigger.webhook_reply).toBe('after_completion');
  });
});

Copy link
Contributor

@elias-ba elias-ba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @taylordowns2000 nice work on this one. I have few observations. What do you think ?

@github-project-automation github-project-automation bot moved this from New Issues to In review in v2 Jan 20, 2026
@taylordowns2000
Copy link
Member Author

@elias-ba , @lmac-1 , thank you! can you make the necessary changes and merge this please?

@taylordowns2000 taylordowns2000 requested review from lmac-1 and removed request for lmac-1 January 21, 2026 08:33
taylordowns2000 and others added 6 commits January 21, 2026 08:48
…ibility

Links the help text to the webhook_reply select field so screen readers
automatically announce the description when users focus on the field.
@doc-han
Copy link
Contributor

doc-han commented Jan 21, 2026

Added some update to make sure unsaved changes considers this new field

@doc-han doc-han merged commit d84df47 into main Jan 21, 2026
8 checks passed
@doc-han doc-han deleted the 4321-sync-mode branch January 21, 2026 09:56
@github-project-automation github-project-automation bot moved this from In review to Done in v2 Jan 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

UI to let users turn on/off sync mode for workflows

5 participants