Skip to content

DynaFetch v1.0.2 - Revit Compatibility Fix (Thanks @johnpierson!)

Choose a tag to compare

@TheBIMsider TheBIMsider released this 12 Sep 18:36
· 42 commits to main since this release

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 methods
  • src/DynaFetch/Properties/AssemblyInfo.cs - Version bump to 1.0.2
  • pkg.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