feat(ios): add licenses settings screen#99290
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 2, 2026, 9:31 PM ET / 01:31 UTC. Summary PR surface: Docs +14, Other +342. Total +356 across 11 files. Reproducibility: not applicable. this is a feature PR rather than a bug report. Source inspection shows current main lacks the route and the PR adds the new loader, Settings row, destination, resources, and tests. 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:
Mantis proof suggestion Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land the iOS license screen once maintainers confirm the intended third-party acknowledgement scope and required checks finish cleanly. Do we have a high-confidence way to reproduce the issue? Not applicable: this is a feature PR rather than a bug report. Source inspection shows current main lacks the route and the PR adds the new loader, Settings row, destination, resources, and tests. Is this the best way to solve the issue? Yes, with one maintainer check: using a small SwiftUI route plus a resource-backed text-file loader is a maintainable fit for the existing Settings architecture. The remaining question is whether the initial license list is the complete intended release scope. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 4440226d52c2. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Docs +14, Other +342. Total +356 across 11 files. View PR surface stats
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
|
What Problem This Solves
Adds a Settings-tab Licenses screen so iOS users can view bundled third-party license acknowledgements in the app.
Why This Change Was Made
The screen loads UTF-8
.txtlicense files fromapps/ios/Resources/Licenses/, orders them alphabetically by display title, and renders each license body as verbatim monospace text. The published list excludes OpenClaw/OpenClaw Foundation-owned entries and the iOS AGENTS guidance now documents how agents should maintain the screen.User Impact
iOS users can open Settings > Licenses to inspect third-party license text for bundled dependencies. Maintainers can add or remove license entries by updating
.txtfiles in the license resource folder rather than editing row source code.Evidence
pnpm docs:listgit diff --check -- apps/ios/AGENTS.mdxcodebuild test -project apps/ios/OpenClaw.xcodeproj -scheme OpenClaw -destination 'id=CC67DD42-8B9E-43A8-B10E-532238BD283E' -configuration Debug -only-testing:OpenClawTests/LicenseDocumentLoaderTests -only-testing:OpenClawTests/SwiftUIRenderSmokeTestsmaestro test --udid CC67DD42-8B9E-43A8-B10E-532238BD283E --no-ansi --debug-output .artifacts/ios-licenses-e2e/maestro-third-party-only-debug .artifacts/ios-licenses-e2e/licenses-no-subtitles.yaml.agents/skills/autoreview/scripts/autoreview --mode commit --commit HEADLocal screenshot artifact for maintainer inspection:
.artifacts/ios-licenses-e2e/09-licenses-list-third-party-only.png.