Repository navigation
v0.3.8
A maintenance release focused on two things that could leave the editor stuck: a boot crash after updating over an existing install, and iOS/Android device debugging picking the wrong route.
🐛 Fixes
- The editor no longer crashes on boot after an update-over-install. A
does not provide an export named …SyntaxError could greet you on first launch after auto-update. Wiping the Vite dep-cache alone was a no-op — Vite serves dependency chunks asimmutable, and an engine-only update leaves the URL byte-identical, so Chromium replayed the pre-update body out of its own disk cache. Both the HTTP cache and V8's compiled-code cache are now cleared on a build-signature change, and the boot-recovery screen clears them before reloading (a bare reload could never fix this, which is why the retry was always spent for nothing). - Android devices no longer fall into the iOS WebDriverAgent path. A device reached by IP with no CDP route was assumed to be an iPhone, so every tap on an Android phone probed port 8100 on it and returned iOS advice ("Set MODOKI_IOS_DEVICE_UDID", pick from your paired iPhones). The lease now asks the device what it is at connect time and gates all four entry points on the answer. Android by-IP tap: 0.53s → 0.14s, with Android's real advice in the banner.
- A timed-out WebDriverAgent launch is no longer killed and then advised to be waited for. The timeout branch killed the agent and told you it might still be starting, so every subsequent input op paid a fresh 60-second spawn-then-kill of a signed agent on your phone, indefinitely. A slow first install is now left to finish and picked up by a later call, guarded so a second agent is never spawned alongside it. Still-starting and already-exited now report differently, because they need opposite advice.
- Bounded the device CDP discovery probe. An
adb forwardlistens whether or not anything is behind it, so a sleeping or WiFi-adb device could accept the socket and never answer — hangingdevice_taprather than merely slowing it. Capped at 4s, matching the rest of that path.
⚡ Performance
- WebDriverAgent probing is now macOS-only and bounded, removing an unbounded ~2.5s probe from every input op on non-macOS clones.
📝 Other notable
- Plans landed for unified debug/release build flags (#112) and video playback (#106), plus regression cover pinning the one-launch device guard.
Full Changelog: v0.3.7...v0.3.8