
Productive Robotics
WebView Engine Compatibility
Diagnosed and fixed several compatibility failures when the Android tablet's WebView engine was upgraded, silently breaking the Vue.js robot control interface. Fixes spanned binary message parsing, CSS layout, and native UI rendering.
The most critical failure was in binary message parsing — high-frequency telemetry traveling over the WebSocket bridge stopped deserializing correctly because of subtle behavior changes in the new browser engine's typed-array implementation. Failures were silent, with the UI simply stopping updates and no console errors. Built a polyfill that normalized the behavior across engine versions without modifying upstream library code, plus a startup diagnostic that round-trips a known payload before declaring the connection healthy.
A CSS flexbox layout issue caused widespread spacing collapse — the new engine handled a particular spacing property differently for flex containers than for grid containers. Implemented a systematic fallback across the Vue components that produced identical visual spacing without relying on the affected property.
Native dropdown elements rendered their option lists behind the WebView overlay, making them impossible to interact with on the physical tablet despite working correctly in desktop browsers. Replaced them with a Vue component that renders the dropdown as positioned DOM rather than relying on the browser's native dropdown. Added a browser-version detection utility that flags known compatibility issues at startup.