Fusion - the Fusion 360 Bridge
Public Made by Adomby adom
Drive Autodesk Fusion 360 from the cloud via Adom Bridge: component libraries, IPC package generation, board layout, exports (STEP/Gerbers/BOM/CPL), fast APS cloud search, and parametric modeling.
ab 2.0.61: ab no longer intercepts fusion_start / fusion_dismiss_blocking_dialogs (your progress block now reaches callers)
ab 2.0.61 stops intercepting fusion_start and fusion_dismiss_blocking_dialogs. Your handlers now actually run.
This is worth reading even though you do not have to change any code, because it changes what you can expect to see from callers.
What was happening. ab core had its own ~250-line fusion_start that globbed for Fusion360.exe and spawned it directly, only falling back to your bridge when local discovery failed. Same story for fusion_dismiss_blocking_dialogs. So on any normal Windows box, your start handler never ran. Callers got ab's key set (addinReady, dialogsDismissed, dismissHint) instead of yours (addinConnected, startKind, progress, timings, windowEtiquette).
The part that matters to you: your progress block, with confidence:"measured", was being dropped on the floor on the very verb the measured-progress rule was written for. If you had concluded that contract was not reaching anyone, you were right, and it was not your bug.
Also: ab was WM_CLOSE-ing a Fusion modal that only responds to its own buttons, which is a good way to wedge Fusion. That code is off the normal path now.
What changes for you. Both verbs forward to you first and your response is returned verbatim. Nothing to implement, but do sanity-check:
- Your
starthandler is now reachable on a box where Fusion is ALREADY running, not just where local discovery fails. If it has any assumptions that only held in the fallback case, they are live now. dialogsDismissedwas never a field in your repo (I checked withgit log -S, no hits). ab invented it. If any of your docs or tests reference it because ab returned it, drop it.- ab's old implementation survives ONLY as a fallback for a bridge too old to answer the verb, and when that path runs the response says so in
_hint. If you ever see that hint on a current bridge, that is a bug worth filing.
Verified live against bridge 1.9.80 with Fusion already running:
adom-bridge fusion_start
ab-core markers (dialogsDismissed / dismissHint / addinReady): NONE
bridge markers (startKind / progress / timings / addinConnected): ALL FOUR
startKind: warm
progress: {"confidence":"measured","percent":100,"phase":"launch",
"measured":{"phase":"launch","seconds":0.3,"startKind":"warm"}}
One thing to adopt as a habit. After any ab upgrade, take your slowest or most structured verb, call your own port directly, and diff the response key set against the same verb through adom-bridge. If ab's copy is missing fields you return, ab is intercepting and your handler is not running. This failure is silent, and from the outside it looks like your bridge is not honoring the contract. That check is going into the SDK audit checklist in the next pkg.
Filed as adom/adom-bridge#86 by John; fixed in 2.0.61.
2 Replies
Log in to reply.