ReviewOS

also looking at this

craft-native/craft

fix(native): preserve workspace sources and native overlay lifecycle

#384
Merged chris wants to merge codex/windows-zig-cache-diagnostics into main
20 files +500 -227

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-navigation/Home.stxmodified+21-3
Changes to packages/ios/fixtures/native-navigation/Home.stx
@@ -17,6 +17,8 @@ const panelAccessibilityDisabled = state(false)
1717const longPressStatus = state('')
1818const longPressAccessibilityDisabled = state(false)
1919const switchValue = state(false)
20const nullableSwitchValue = state(true)
21const precedenceSwitchValue = state(false)
2022const invalidSwitchColors = state(false)
2123const pickerValue = state('one')
2224const itemsPickerValue = state('one')
@@ -25,6 +27,7 @@ const dateValue = state('2026-10-12')
2527const timeValue = state('07:30')
2628const countdownValue = state('01:30:45')
2729const checkboxValue = state(false)
30const checkboxPrecedenceValue = state(false)
2831const checkboxStatus = state('checkbox pending')
2932const invalidControlColors = state(false)
3033const invalidControlStyleStatus = state('')
@@ -410,6 +413,14 @@ function toggleSwitch(event) {
410413 status.set(switchValue() ? 'switch on' : 'switch off')
411414}
412415
416function toggleNullableSwitch(event) {
417 nullableSwitchValue.set(event.value)
418}
419
420function togglePrecedenceSwitch(event) {
421 precedenceSwitchValue.set(event.value)
422}
423
413424function choosePicker(event) {
414425 pickerValue.set(event.value)
415426 status.set(`picker ${pickerValue()}`)
@@ -444,6 +455,10 @@ function chooseCheckbox(event) {
444455 checkboxStatus.set(event.value ? 'checkbox on' : 'checkbox off')
445456}
446457
458function choosePrecedenceCheckbox(event) {
459 checkboxPrecedenceValue.set(event.value)
460}
461
447462function toggleInvalidControlColors() {
448463 invalidControlColors.update(value => !value)
449464 invalidControlStyleStatus.set(invalidControlColors() ? 'invalid control colors on' : 'invalid control colors off')
@@ -846,8 +861,10 @@ function openDetailsThenUpdateBackground() {
846861 <Switch testID="uncontrolled-switch" />
847862 <Button testID="toggle-invalid-switch-colors" @click="toggleInvalidSwitchColors()">Toggle invalid switch colors</Button>
848863 {{-- value-change selects the legacy native API when checked is also supplied. --}}
849 <Switch testID="nullable-switch" :value="null" :checked="true" @value-change="toggleSwitch($event)" />
850 <Switch testID="switch-value-precedence" :value="false" :checked="true" @value-change="toggleSwitch($event)" />
864 <Switch testID="nullable-switch" :value="null" :checked="true" @value-change="toggleNullableSwitch($event)" />
865 <Text testID="nullable-switch-status" :text="nullableSwitchValue() ? 'nullable switch on' : 'nullable switch off'" />
866 <Switch testID="switch-value-precedence" :value="false" :checked="true" @value-change="togglePrecedenceSwitch($event)" />
867 <Text testID="switch-precedence-status" :text="precedenceSwitchValue() ? 'precedence switch on' : 'precedence switch off'" />
851868 <select testID="native-picker" :value="pickerValue" @change="choosePicker($event)">
852869 <option value="one">One</option>
853870 <option value="two">Two</option>
@@ -865,7 +882,8 @@ function openDetailsThenUpdateBackground() {
865882 <Checkbox testID="native-checkbox" label="Accept terms" :value="checkboxValue" :color="invalidControlColors ? 'not-a-color' : '#22c55e'" @value-change="chooseCheckbox($event)" />
866883 <Text testID="checkbox-status" :text="checkboxStatus" />
867884 <Checkbox testID="native-checkbox-indeterminate" label="Mixed terms" indeterminate />
868 <Checkbox testID="checkbox-checked-precedence" :checked="false" :value="true" @value-change="chooseCheckbox($event)" />
885 <Checkbox testID="checkbox-checked-precedence" :checked="false" :value="true" @value-change="choosePrecedenceCheckbox($event)" />
886 <Text testID="checkbox-precedence-status" :text="checkboxPrecedenceValue() ? 'precedence checkbox on' : 'precedence checkbox off'" />
869887 <Button testID="toggle-invalid-control-colors" @click="toggleInvalidControlColors()">Toggle invalid control colors</Button>
870888 <Text testID="invalid-control-style-status" :text="invalidControlStyleStatus" />
871889 <Text testID="date-event-status" :text="dateEventStatus" />