Bug Fixes
- fetch/axios segfault (closes #26):
await fetch(url)andawait axios.get(url)segfaulted because thebodyparameter (undefinedfor GET requests) NaN-unboxed to0x1, whichstring_from_headerdereferenced. Fixed to treat pointers below page size as invalid. - Await loop never drained stdlib async queue: The
awaitpolling loop calledjs_promise_run_microtasksbut neverjs_run_stdlib_pump(), so tokio-based async results (fetch, axios, database queries) were queued but never resolved on the main thread. llvm-ar not foundwarning (closes #25): Downgraded fromERRORto a non-alarming skip message with install instructions. The strip-dedup step is optional — compilation succeeds without it.
Features
- Native
axiosdispatch (closes #26):import axios from 'axios'now compiles natively —axios.get/post/put/delete/patchandresponse.status/.data/.statusTextare dispatched to Perry's Rust implementation. No--enable-js-runtime, nonpm installrequired. - TypeScript type stubs (closes #27, refs #24):
.d.tsdeclarations forperry/ui,perry/thread,perry/i18n,perry/systemsotsc --noEmitand IDE autocomplete work.perry initgeneratestsconfig.jsonwith paths;perry typesregenerates stubs for existing projects. - UI layout documentation: Documented undocumented APIs (alignment, distribution, match-parent, content hugging, overlay positioning, edge insets, SplitView) with CSS migration guide in README.