fix(orchestrator-form-widgets): evaluate $${{…}} in fetch-response selectors#3058
Conversation
…selectors Evaluate placeholder templates in fetch:response:value, fetch:response:autocomplete, fetch:response:label, and dropdown fetch:response:value before JSONata, consistent with other fetch fields. Treat undefined array selector results as empty options for ActiveDropdown and ActiveTextInput autocomplete (same as ActiveMultiSelect). Add changeset for patch release. Co-authored-by: Cursor <cursoragent@cursor.com>
Changed Packages
|
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #3058 +/- ##
==========================================
- Coverage 60.78% 60.77% -0.01%
==========================================
Files 2067 2067
Lines 63873 63891 +18
Branches 16580 16585 +5
==========================================
+ Hits 38827 38832 +5
- Misses 24793 24803 +10
- Partials 253 256 +3
*This pull request uses carry forward flags. Click here to find out more. Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
karthikjeeyar
left a comment
There was a problem hiding this comment.
Verified the fix it works as expected. Additionally I have noticed another issue probably exists in the main branch as well.
when you modifiy the dynamic field value (HealthFieldKey) that may not exist in the response, which will return undefined and break the UI.
invalid_selector_throws.mp4
|
@karthikjeeyar I will check and create separate issue for that. |



Hey, I just made a Pull Request!
fetch:url / fetch:body-style props already interpolated $${{…}} via the shared template evaluator, but fetch:response:value,fetch:response:autocomplete,fetch:response:label, and dropdownfetch:response:valuewere passed straight to JSONata. This change runs those selector strings through the same template step first, then applies JSONata to the fetch response.Screen.Recording.2026-05-06.at.9.04.36.PM.mov
How to test
Use below schema to test
In app-config.yaml, you can add below in proxy.endpoints
✔️ Checklist