ReviewOS

also looking at this

craft-native/craft

fix(mobile): preserve native editing, navigation, and durable media requests

#369
Merged chris wants to merge codex/native-vertical-scroll-tab-swipes into main
36 files +864 -185

Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.

packages/ios/fixtures/native-screen/NativeRenderUITests.swiftmodified+8-1
Changes to packages/ios/fixtures/native-screen/NativeRenderUITests.swift
@@ -39,7 +39,14 @@ final class NativeRenderUITests: XCTestCase {
3939 notes.tap()
4040 XCTAssertTrue(keyboardIsVisible(app))
4141 notes.typeText("Easy run")
42 XCTAssertEqual(app.staticTexts["notes"].label, "Notes: Easy run")
42 // Read the original acknowledgement first: inspecting other UIKit
43 // elements must not hide a delayed bridge update from this assertion.
44 let acknowledgement = app.staticTexts["notes"].label
45 let typedValue = notes.value as? String
46 let keyboardVisible = app.keyboards.firstMatch.exists
47 XCTAssertEqual(typedValue, "Easy run", "the native text view lost typed characters")
48 XCTAssertTrue(keyboardVisible, "typing dismissed the native keyboard")
49 XCTAssertEqual(acknowledgement, "Notes: Easy run", "native value: \(typedValue ?? "nil"), keyboard visible: \(keyboardVisible)")
4350 }
4451
4552 func testSwitchTapChangesUIKitStateAndDeliversValueChange() throws {