← Commit history

v1.9.70: state base64 downscale

John Lauer ·ab90a7c504 ·1mo ago ·parent b0bffac
4 files changed +25−7
BRIDGE_VERSION+1−1
@@ -1 +1 @@-1.9.69\ No newline at end of file+1.9.70\ No newline at end of file
CHANGELOG.md+7
@@ -3,6 +3,13 @@ All notable changes to the Adom Bridge Fusion 360 bridge, newest first. Canonical: https://wiki.adom.inc/adom/fusion-bridge ยท GitHub backup: `adom-inc/fusion-bridge` +## 1.9.70 - 2026-08-18 (ralph)++- **fusion_state imageAs:base64 now DOWNSCALES instead of refusing.** On a PIL-less bridge the+  capture is a ~24MB BMP, which blew the 4MB inline cap, so every Dashboard surface card came back+  with no image at all (found by driving the Library surface end to end). It now falls back to the+  stdlib downscaler (<=1280px) exactly like the tour gallery, and says so in screenshotNote.+ ## 1.9.69 - 2026-08-18 (ralph loop findings)  - **Driving badge: diagnostics + transport fallback.** The badge silently never appeared on one box
adom-bridge-fusion-manifest.json+4−4
@@ -1,10 +1,10 @@ {     "manifest_version": 1,     "name": "fusion360",-    "version": "1.9.69",-    "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.9.69/adom-bridge-fusion-v1.9.69.zip",-    "sha256": "8ed73542d0b42a1ae74a5df2295cd388ffa74c745d506c7ec164349a5de1bf21",-    "size": 408678,+    "version": "1.9.70",+    "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.9.70/adom-bridge-fusion-v1.9.70.zip",+    "sha256": "791673017933c7589428c09e75209122cdd99d826e33fc5fb17710b28cc92d4d",+    "size": 408960,     "verbPrefixes": [         "fusion_"     ],
server.py+13−2
@@ -4559,8 +4559,19 @@ def _handle_fusion_state(fusion_info: dict, args: dict) -> dict:                     if len(raw) <= 4 * 1024 * 1024:                         result["screenshotBase64"] = _b64.b64encode(raw).decode("ascii")                     else:-                        result["screenshotNote"] = ("PNG is %dKB (>4MB inline cap) - pull "-                                                    "result.screenshot via read_file." % (len(raw) // 1024))+                        # DOWNSCALE instead of refusing (ralph, 2026-08-18: a PIL-less bridge+                        # saves 24MB BMPs, so every Dashboard surface card came back with no+                        # image at all). Same path the tour gallery uses.+                        small = _shot_b64_small(shot["savedTo"], max_w=1280)+                        if small:+                            result["screenshotBase64"] = small+                            result["screenshotNote"] = ("downscaled to <=1280px (raw capture is "+                                                        "%dMB) - pull result.screenshot for full size"+                                                        % (len(raw) // (1024 * 1024)))+                        else:+                            result["screenshotNote"] = ("capture is %dKB (>4MB inline cap) and could "+                                                        "not be downscaled - pull result.screenshot "+                                                        "via read_file." % (len(raw) // 1024))         except Exception as e:             result["screenshotError"] = str(e)     hints = []