style(android): apply ktlint to landed changes#100304
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 6, 2026, 1:00 AM ET / 05:00 UTC. Summary PR surface: Other +231. Total +231 across 14 files. Reproducibility: not applicable. as a product-bug reproduction; this is a formatting cleanup PR. The relevant check is source/diff validation plus ktlint/native-i18n evidence, and I did not rerun Gradle in this read-only review. Review metrics: none identified. 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
Security Review detailsBest possible solution: Land the narrow Android formatter and generated-inventory cleanup after the required CI and maintainer gates are satisfied, without adding behavior, config, dependency, or release-note changes. Do we have a high-confidence way to reproduce the issue? Not applicable as a product-bug reproduction; this is a formatting cleanup PR. The relevant check is source/diff validation plus ktlint/native-i18n evidence, and I did not rerun Gradle in this read-only review. Is this the best way to solve the issue? Yes, this is the narrow maintainable solution for the stated ktlint issue: keep only formatter output and the generated native-source line metadata. The remaining work is required-check and maintainer handling, not a code repair. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 55a0012c44b5. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Other +231. Total +231 across 14 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
Review history (7 earlier review cycles)
|
9e2ac32 to
0b78888
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 91c577e470
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| let key = self.manualKey.trimmingCharacters(in: .whitespacesAndNewlines) | ||
| guard !key.isEmpty, !self.manualTesting else { return } | ||
| self.manualError = nil | ||
| self.manualTesting = true |
There was a problem hiding this comment.
Keep close guard active during manual key tests
When the user falls through to the manual API-key form, this starts the same crestodian.setup.activate live test/persist flow but only flips manualTesting; phase stays .ready, so the phase.didSet busyReason never gets set and OnboardingController.windowShouldClose allows the onboarding window to close without confirmation. In that manual-key scenario, closing/Cmd-W can silently abandon the UI while the gateway may still be testing and writing credentials/config, unlike automatic candidate tests. Set the same busy guard/phase for manual testing and clear it in the completion path.
Useful? React with 👍 / 👎.
91c577e to
bf4da24
Compare
|
Land-ready on The stale branch was discarded and rebuilt from current Proof:
No product behavior, public API, dependency, or changelog surface changes. |
Dependency graph guard clearedThis PR no longer has blocked dependency graph changes. A future dependency graph change requires a fresh
|
|
Merged via squash.
|
What Problem This Solves
Android ktlint failed on current
mainafter the landed mobile chat stack, including recovery (#100551), syntax highlighting (#100217), and command-control changes. The previous PR branch was based on an old tree and could no longer be safely rebased: it included stale source and would have deleted a newer test assertion.Why This Change Was Made
Rewrite the PR from current
main, run the repository's authoritative:app:ktlintFormattask on Blacksmith Testbox, and keep only its mechanical output. The result formats all 13 Kotlin source/test files currently reported by:app:ktlintCheck; the native-app i18n inventory is regenerated only to refresh moved source line numbers. No runtime or test behavior changes.User Impact
No product behavior change. Android lint is green again, so later mobile changes inherit a clean validation baseline.
Evidence
tbx_01kwtnc77nmsgh6mjn01f2ct8b:cd apps/android && ./gradlew :app:ktlintCheck :app:testPlayDebugUnitTest --tests ai.openclaw.app.chat.ChatControllerCommandControlsTest --tests ai.openclaw.app.gateway.InvokeErrorParserTest --rerun-tasks— green.node --import tsx scripts/native-app-i18n.ts check— green after regeneratingapps/.i18n/native-source.json.git diff --check— green.Follow-up to #100551, #100217, #100200, and #98796.