← Commit history

v1.9.33: drive-existing-window fallback

John Lauer ·3a1cdd7701 · ·parent a319229
4 files changed +31−6
BRIDGE_VERSION+1−1
@@ -1 +1 @@-1.9.32\ No newline at end of file+1.9.33\ No newline at end of file
adom-bridge-fusion-manifest.json+4−4
@@ -1,10 +1,10 @@ {     "manifest_version": 1,     "name": "fusion360",-    "version": "1.9.32",-    "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.9.32/adom-bridge-fusion-v1.9.32.zip",-    "sha256": "d0c532dafa7ae77bad1048c70bf375a7ae8bf5c4379211ebb4ca0f2eb99df076",-    "size": 383092,+    "version": "1.9.33",+    "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.9.33/adom-bridge-fusion-v1.9.33.zip",+    "sha256": "80f27cfa690abe3b8320a7e233a5aa52bf93e75e84010e8bb0a69c30ff2123be",+    "size": 383539,     "verbPrefixes": [         "fusion_"     ],
bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "fusion360",   "displayName": "Autodesk Fusion 360",-  "version": "1.9.32",+  "version": "1.9.33",   "description": "Drive Autodesk Fusion 360 from the cloud: launch Fusion, electronics board layout, design rules, exports (STEP/IGES/STL/3MF/USDZ/OBJ/DXF/DWG/Gerbers/BOM/CPL), fast APS server-indexed cloud search plus browse/recent/file-info/versions, cloud file download/upload and folder creation, and in-app parametric modeling (fusion_run_modeling_script). Never-charge: APS calls are capped to the free tier.",   "homepage": "https://wiki.adom.inc/adom/fusion-bridge",   "author": "Adom Inc.",
server.py+25
@@ -5420,6 +5420,31 @@ def _orchestrate_signin(args: dict) -> dict:         notified = bool(_notify_signin_wall(wall_kind).get("delivered"))         steps.append("hit %s wall; toasted the user (delivered=%s)" % (wall_kind, notified)) +    if not opened:+        # ABE-less box fallback (John, 2026-08-16: "push through as far as you can go from+        # your code"): the OAuth page is ALREADY OPEN in the browser Fusion fired (that is+        # where we captured the URL). No reopen is possible without the extension - so+        # DRIVE THE EXISTING WINDOW instead: detect the wall, type the email, advance to+        # the password step, toast the human there.+        wall_live = _detect_signin_wall()+        if wall_live.get("wall"):+            _email_fb = args.get("email")+            wall_live = _resolve_and_advance_wall(wall_live, _email_fb)+            wk = wall_live.get("wall")+            notified_fb = bool(_notify_signin_wall(wk).get("delivered")) if wk else False+            steps.append("no extension on this box - drove the EXISTING browser window instead: %s"+                         % str(wall_live.get("advance") or "wall %r" % wk))+            return {"success": True, "stage": "driving_existing_window", "done": False,+                    "steps": steps, "signinWall": wk, "signinWallHwnd": wall_live.get("hwnd"),+                    "advanced": wall_live.get("advanced"), "notifyDelivered": notified_fb,+                    "signinWallHint": _wall_hint(wk, notified_fb),+                    "signinAuthUrl": auth["url"],+                    "narrate": ("This machine has no Adom browser extension, so I drove the sign-in "+                                "window Fusion already opened: %s." % str(wall_live.get("advance") or wk)),+                    "_hint": ("No ABE here, so the EXISTING browser window was driven directly "+                              "(email typed via background UIA where possible). " ++                              _wall_hint(wk, notified_fb)),+                    "statusVerb": "fusion_readiness"}     return {"success": True, "stage": "opened" if opened else "open_failed",             "done": False, "steps": steps, "signinWhere": tdesc, "signinProfile": target,             "signinOpenedVia": open_via,