feat(ios): distinguish debug app builds#100222
Conversation
|
Codex review: found issues before merge. Reviewed July 5, 2026, 4:29 AM ET / 08:29 UTC. Summary PR surface: Source -1, Docs +2, Other +201. Total +202 across 64 files. Reproducibility: not applicable. as a feature PR. The behavior can be verified through generated Debug/Release build settings and an installed simulator/device comparison; the PR body reports build-setting and xcodebuild proof but not a completed simulator launch. Review metrics: 1 noteworthy metric.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Maintainer decision needed
Security Review findings
Review detailsBest possible solution: Land the debug-only identity split after native i18n/localized display-name handling is synced, the release-owned changelog line is removed, Release settings remain proven unchanged, and maintainers accept the Debug data-isolation behavior. Do we have a high-confidence way to reproduce the issue? Not applicable as a feature PR. The behavior can be verified through generated Debug/Release build settings and an installed simulator/device comparison; the PR body reports build-setting and xcodebuild proof but not a completed simulator launch. Is this the best way to solve the issue? Unclear until maintainer direction is confirmed. The implementation is in the right XcodeGen/xcconfig and deep-link layers, but it needs native i18n/localized display-name cleanup and release-note ownership cleanup before it is the best merge shape. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 4deb63c9791c. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source -1, Docs +2, Other +201. Total +202 across 64 files. View PR surface stats
Acceptance criteria:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Merged via squash.
|
* feat(ios): distinguish debug app builds * feat(ios): distinguish debug app builds * feat(ios): emphasize debug app icons * feat(ios): emphasize debug app icons
What Problem This Solves
Debug iOS and Watch builds currently reuse Release identifiers and icon, so development installs replace or are indistinguishable from Release installations.
Why This Change Was Made
Debug builds now derive
.debugapp, extension, widget, and Watch identifiers; use a separate app group andopenclaw-debugURL scheme; select automatic signing; and compile imagegen-created debug icon sets. Release settings stay unchanged.User Impact
Developers can keep Debug and Release OpenClaw installations side by side and identify the Debug app visually.
Evidence
swift test --package-path apps/shared/OpenClawKit --filter DeepLinksSecurityTests— 18 passed.xcodebuild..agents/skills/autoreview/scripts/autoreview --mode local --stream-engine-output— clean after addressing both initial findings.Known Proof Gap
A focused Xcode simulator test launch stalled while CoreSimulator waited for a test worker. The canonical shared-package deep-link suite passed, and the full simulator build succeeded.