v0.4.19
Bug Fixes
-
Spacer() in VStack now works for centering:
VStack(0, [Spacer(), child, Spacer()])now correctly centers the child vertically on both iOS and Android.- iOS: Spacer now has a zero-height constraint at very low priority (1.0) plus low compression resistance, giving UIStackView's Fill distribution a baseline to expand from. Previously, plain UIView returned
noIntrinsicMetricwhich prevented the layout engine from stretching the spacer. - Android: VStack now uses
MATCH_PARENTheight instead ofWRAP_CONTENT. WithWRAP_CONTENT, LinearLayout ignored Spacer'sweight=1because there was no extra space to distribute.
- iOS: Spacer now has a zero-height constraint at very low priority (1.0) plus low compression resistance, giving UIStackView's Fill distribution a baseline to expand from. Previously, plain UIView returned
-
iPad camera orientation: Camera preview no longer appears rotated 90° in landscape. The
AVCaptureConnection.videoOrientationis now updated when the device rotates, via aUIDeviceOrientationDidChangeNotificationobserver registered during camera start. Maps UIDeviceOrientation to AVCaptureVideoOrientation correctly (device landscape-left maps to video landscape-left, etc.). -
V8 interop undefined symbols on iOS/Android:
js_new_from_handle,js_call_function,js_load_module,js_new_instance,js_create_callback,js_set_property,js_get_export,js_await_js_promise, andjs_runtime_initnow have no-op stubs in perry-runtime. Pre-built static libraries for iOS/Android no longer require compile-time stub generation for these symbols. When perry-jsruntime (V8) is linked, its real implementations override these stubs.