Repository navigation
Improve Xcode 27 scene migration skill from real-app feedback - #663
jfversluis wants to merge 2 commits into
Conversation
Document built-manifest verification, Preview 6 checks, simple-app migration, privacy declarations and simulator runtime diagnostics. Add source configuration audit reporting and regression coverage. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 9d94a8d6-a05e-4fbc-8e5e-d341256890c7
Expert Code Review — PR #663Methodology: 2 independent reviewers (1 failed — reduced coverage, no tiebreaker) with adversarial consensus. Result: 1 finding posted as an inline comment (1 moderate, 0 minor). Discarded findings:
CI status: At review time, all 8 completed substantive checks passed; 1 evaluation check was skipped and the review workflow job remained in progress. Test coverage: The PR adds focused Node tests and evaluation scenarios for simple migration, stale manifests, runtime verification, and incomplete scans. It does not cover nonstandard scene-delegate filenames or configuration-specific manifest filenames, which is the consensus gap reported inline.
|
There was a problem hiding this comment.
Expert Code Review: 1 consensus finding posted inline. See the lean summary comment for methodology, CI status, coverage assessment, and discarded findings.
Generated by Expert Code Review (auto) for #663 · copilot · gpt56 · 188.5 AIC · ⌖ 12.5 AIC · ⊞ 37.7K
| } else if (entry.isFile() && extname(path).toLowerCase() === '.cs') { | ||
| } else if (entry.isFile()) { | ||
| const platform = /(?:^|\/)Platforms\/(iOS|MacCatalyst)\//.exec(name)?.[1]; | ||
| if (platform && !appleHeads.has(platform)) |
There was a problem hiding this comment.
🟡 MODERATE — 2/2 consensus: The audit only recognizes the exact conventional filenames SceneDelegate.cs and Info.plist. A valid scene delegate in ExistingSceneDelegate.cs, or a configuration-specific manifest such as Info.Release.plist selected via ApplicationManifest, is therefore reported as missing even though it may be active. That can send the migration down the simple path and lead to duplicate delegates or edits to the wrong manifest. Detect scene delegates by registration/inheritance regardless of filename and resolve/report applicable plist candidates (or explicitly mark the result ambiguous); add coverage for nonstandard delegate and conditionally selected manifest names.
Treat .NET 11 as the general compatibility scope while preserving Preview 6 as historical evidence. Require checking GA SDK, workload, MAUI assembly and APIs instead of extrapolating preview support. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 9d94a8d6-a05e-4fbc-8e5e-d341256890c7
Summary
Incorporates scene-lifecycle migration feedback from MauiDay/event-app: .NET SDK 11.0.100-preview.6.26359.118, Microsoft.iOS 26.5.11720-net11-p6, Xcode 26.6, iOS + Android targets, and no custom lifecycle/URL/shortcut code. The guidance now covers .NET 11 generally, in preparation for GA: Preview 6 is cited only as historical evidence, and the actual GA SDK/workload/MAUI artifacts and APIs must be rechecked. Scope remains scene migration; no iOS 27.1 feature, foldable or iPhone Duo layout work is added.
MauiUISceneDelegatein the app-resolvedMicrosoft.Maui.dllfor the selected .NET 11 release; check custom forwarding APIs separately. Never apply the .NET 10 MAUI 10.0.110 pin to .NET 11.UIScene life cycle is now required. Any DEVELOPER_DIR override is scoped to simulator commands, never dotnet build.Validation
git diff --checkpasses.