Bug Fixes
- Class field splice:
this.field.splice()on class fields caused memory corruption — HIR now desugars to a temp variable pattern (copy → mutate → write-back) - i18n locale detection: Apple platforms now use
NSBundle.preferredLocalizationsto respect per-app language settings in iOS Settings, falling back toCFLocaleCopyCurrent - System preferences:
perry_system_preferences_gethandles NSArray values (e.g.,AppleLanguages) on iOS — returns first element as string - Safe widget removal (macOS + iOS):
clear_childrenandremove_childnow snapshot subviews before mutation, remove in reverse order, and clean up metadata maps (constraints, parent map, bg color map)
Tests
- New WASM tests for class field array splice and module-level array splice