also looking at this
feat: finish native customization and platform seams
#401
21 files
+707
-17
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.
| @@ -201,12 +201,10 @@ const dispatch_end = "func webView("; | ||
| 201 | 201 | /// and HKLiveWorkoutBuilder are owned by CraftHealth.swift, including their |
| 202 | 202 | /// delegate callbacks and iOS 26 availability; the actions remain on the |
| 203 | 203 | /// Swift shim until the Zig bridge has an equivalent lifecycle channel. |
| 204 | /// 59 when the spec gained getHealthSamples: glucose, insulin and carbs one | |
| 205 | /// sample at a time (bloodGlucose, insulinDelivery, dietaryCarbohydrates), an | |
| 206 | /// HKSampleQuery in CraftHealth.swift like the other health reads. It went | |
| 207 | /// into Swift first and falls through to the shim, which serves it. Not a | |
| 208 | /// regression: no action left Zig. | |
| 209 | const max_not_yet_migrated: usize = 59; | |
| 204 | /// 60 when native screens gained setAppearance and getAppearance. They update | |
| 205 | /// the app-wide UIKit style and remain on the Swift side until Zig owns that | |
| 206 | /// lifecycle as well; no existing Zig action was removed. | |
| 207 | const max_not_yet_migrated: usize = 60; | |
| 210 | 208 | |
| 211 | 209 | fn dispatcherRegion() []const u8 { |
| 212 | 210 | // CraftApp.swift also contains chrome, console and bridge-relay handlers. |
| @@ -1131,7 +1129,7 @@ test "Zig validates every field of the nested types Swift decodes, the way Swift | ||
| 1131 | 1129 | }; |
| 1132 | 1130 | |
| 1133 | 1131 | var expected_buf: [256]u8 = undefined; |
| 1134 | const expected = try std.fmt.bufPrint(&expected_buf, ".{{ .name = \"{s}\", .kind = .{s}, .required = {s}", .{ | |
| 1132 | const expected = try std.fmt.bufPrint(&expected_buf, ".{{ .name = \"{s}\", .kind = .{s}, .required = {s} }},", .{ | |
| 1135 | 1133 | member.name, kind, if (optional) "false" else "true", |
| 1136 | 1134 | }); |
| 1137 | 1135 | if (std.mem.indexOf(u8, zig_fields, expected) == null) { |