feat(ios): PR1 brand color palette overhaul#98919
Conversation
|
Codex review: found issues before merge. Reviewed July 2, 2026, 1:15 AM ET / 05:15 UTC. Summary PR surface: Config 0, Other +36. Total +36 across 16 files. Reproducibility: not applicable. this is a visual design-system PR, not a bug report. I verified the changed surfaces from the diff/current source and inspected the supplied after-fix simulator screenshots. Review metrics: 2 noteworthy metrics.
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 findings
Review detailsBest possible solution: Land a narrow iOS color-token slice after moving proof screenshots out of the branch, keeping proof accessible externally, and removing or consuming unused tokens so Periphery is clean. Do we have a high-confidence way to reproduce the issue? Not applicable; this is a visual design-system PR, not a bug report. I verified the changed surfaces from the diff/current source and inspected the supplied after-fix simulator screenshots. Is this the best way to solve the issue? No; routing hardcoded colors through brand tokens is a good direction, but the best merge shape keeps proof artifacts external and avoids unused follow-up token surface. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against b2c507c5f04c. Label changesLabel justifications:
Evidence reviewedPR surface: Config 0, Other +36. Total +36 across 16 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
The iOS app still used legacy accent/semantic colors (
#C63E38era accent, raw.orange/.green/.red, andsystemBlueon Talk controls) instead of the design-guide palette. PR1 centralizes consumed tokens inOpenClawBrandand routes the hardcoded call sites through them.Why This Change Was Made
Design-system PR 1 of 8: palette + hardcoded color cleanup only. Follow-up PRs own typography, spacing, and unused surface/text/teal tokens.
Reopened after maintainer feedback: branch rebased on current
main(Liquid Glass + navigation/settings refresh) and proof regenerated on that UI.User Impact
#E8302A) instead of system blue.Evidence
Automated
OpenClawBrandTests— TEST SUCCEEDED (iPhone 17 Simulator, patchedupstream/main+ this diff)#E8302A)Before / after (simulator,
--openclaw-screenshot-mode,upstream/main@c8dba85)Proof PNGs live in a gist (not committed to the repo): https://gist.github.com/joelnishanth/6c9259b415c3f124118dd028e5ec357d
Talk — Start Talk / glass controls (systemBlue → Claw Red)
Talk — dark mode
Settings — Connected status + accent tab
Files changed (6)
apps/ios/Sources/Design/OpenClawBrand.swift— consumed tokens only (no unused follow-up palette surface)TalkProTab.swift— primary CTA + glass toggle tintSettingsProTab.swift— push relay sheet accentGatewayProblemView.swift,TalkRuntimeIssueBanner.swift,PrivacyAccessSectionView.swift— semantic colorsReal behavior proof (required for external PRs)
upstream/mainUI shellupstream/mainbuild.ok/warn/dangerReview follow-up
.github/proofPNGs from the branchmainwith Peter’s navigation/settings UI refresh before regenerating after screenshots— Joel Nishanth · offlyn.AI