DynaFetch v1.0.2 - Revit Compatibility Fix (Thanks @johnpierson!)
Overview
This is a critical compatibility update that fixes threading issues when using DynaFetch in Dynamo for Revit. The package now works correctly in both Dynamo Sandbox and Dynamo for Revit environments.
🐛 Bug Fixes
Revit Threading Compatibility
Issue: DynaFetch nodes would cause deadlocks when used in Dynamo for Revit due to Revit's single-threaded context trying to wait on async operations.
Fix: Updated all HTTP execution methods to use Task.Run() wrapper pattern:
- Changed from:
var httpResponseMessage = httpResponseTask.GetAwaiter().GetResult(); - Changed to:
var httpResponseMessage = Task.Run(async () => await client.GetAsync(url)).Result;
Impact: All HTTP operations (GET, POST, PUT, DELETE, PATCH) now work correctly in both:
- ✅ Dynamo Sandbox (multithreaded)
- ✅ Dynamo for Revit (single-threaded)
📁 Files Updated
src/DynaFetch/Nodes/ExecuteNodes.cs- Updated all HTTP execution methodssrc/DynaFetch/Properties/AssemblyInfo.cs- Version bump to 1.0.2pkg.json- Package metadata updated
⚠️ Breaking Changes
None. This is a backward-compatible fix that doesn't change any public APIs.
🙏 Acknowledgments
Huge thanks to John Pierson for identifying this critical issue and providing the fix!
John is a true Dynamo Guru and community champion who has helped countless developers with Dynamo integration challenges. His expertise in Revit-Dynamo threading issues made this fix possible. The entire DynaFetch community benefits from his contribution.
🌟 Community Hero: John Pierson (@johnpierson)
🔧 Contribution: Identified Revit threading deadlock and provided Task.Run solution
📍 Links: GitHub | Bio
📦 Installation
Update your existing DynaFetch installation through:
- GitHub: Download from this releases page
- Package Manager: Update via Dynamo Package Manager
Full Changelog: v1.0.0...v1.0.2