Carries the 18 commits that were pushed to codex/issues-388-400-344 after its first PR, #401, had already merged on 22 Oct. The branch was reused rather than re-cut, so none of this work ever reached main — it has been sitting on origin since 23 Oct.
Merges cleanly against current main (git merge-tree --write-tree reports no conflicts), and the branch already pulled main into itself twice while the work was going on.
iOS
- Native interaction fixes (
17e09f4d) — nested press handling and accessibility coverage. This PR does not implement runtimeShortcuts.set/clear; #412 remains open for that bridge work. - Nested press gesture delegation restored, so a
Pressableinside another no longer loses its tap. - Native audio resumes after an interruption; missing audio handles are reported rather than silently ignored.
- Checkpoint completions and checkpoints after screen deallocation are rejected rather than resolved against a dead screen.
- Failed photo imports are cleaned up instead of leaving their temporary files behind.
Android
- Native screen audio playback, with audio focus handling (
CraftNativeSounds.kt.template, +242). - Native document imports, and cleanup of imports the user cancels.
- Native checkpoints validated, and pending ones rejected when the screen closes.
Tests and docs
NativeRenderUnitTests.swiftand aHome.stxfixture covering the render paths above.NativeNavigationUITests.swiftadditions for the navigation surface.- Frame clock host contracts pinned in
test(native). docs/guides/native-stx.mdupdated for the new modules.
Note on the first two commits
398d9b8e adds persistent typed host handles and 36b17774 reverts it a minute later. Both are kept so the branch's history stays honest; the net effect on main is nothing.