Skip to content

fix: iOS Talk fallback settings opens Voice & Talk#98602

Merged
Solvely-Colin merged 1 commit into
openclaw:mainfrom
PollyBot13:fix-ios-talk-settings-route
Jul 1, 2026
Merged

fix: iOS Talk fallback settings opens Voice & Talk#98602
Solvely-Colin merged 1 commit into
openclaw:mainfrom
PollyBot13:fix-ios-talk-settings-route

Conversation

@PollyBot13

@PollyBot13 PollyBot13 commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Closes #98593

What Problem This Solves

Fixes an issue where users who hit the iOS Talk fallback banner would tap "Open Settings" and land on Settings / Gateway instead of the Voice & Talk settings page.

Why This Change Was Made

Talk-specific settings actions now have a separate Voice settings route, while gateway/offline repair actions continue to open Gateway settings.

User Impact

Users who see the iOS Speech fallback banner can go directly to Voice & Talk settings instead of hunting through the Settings root or Gateway page.

Evidence

  • External simulator screenshot proof media was removed after merge for privacy.
  • PR-head UI proof before merge showed the Talk Voice & Talk settings button opened Settings / Voice & Talk, while Gateway repair actions still opened Settings / Gateway.
  • swiftlint on touched files passed.
  • git diff --check passed.
  • Focused RootTabsSourceGuardTests and RootTabsPresentationTests passed 77 Swift Testing tests.
  • UI proof test OpenClawSnapshotUITests.testTalkSettingsRouteProofScreenshots passed with 0 failures.
  • Codex review found no concrete regression after generated Xcode package-resolution churn was restored.

AI-assisted: yes.

@clawsweeper

clawsweeper Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed July 1, 2026, 10:42 AM ET / 14:42 UTC.

Summary
This PR adds a separate Voice & Talk settings callback for iOS Talk actions and wires Talk tab instances to SettingsRoute.voice while keeping Gateway repair routes on SettingsRoute.gateway.

PR surface: Other +15. Total +15 across 4 files.

Reproducibility: yes. Source inspection on current main traces the Talk fallback Open Settings path through TalkProTab.openSettings to RootTabs.selectSidebarDestination(.gateway); I did not rerun a simulator locally in this read-only review.

Review metrics: none identified.

Root-cause cluster
Relationship: fixed_by_candidate
Canonical: #98593
Summary: This PR is the active candidate fix for the canonical iOS Talk fallback settings-route issue.

Members:

Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🦞 diamond lobster ✨ media proof bonus
Patch quality: 🐚 platinum hermit
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • none.

Next step before merge

  • No automated repair is needed; the remaining action is standard maintainer review and merge handling for the focused PR.

Security
Cleared: No concrete security or supply-chain concern was found; the diff only touches iOS Swift UI routing, a source guard test, and generated native i18n line metadata.

Review details

Best possible solution:

Land the narrow route split after maintainer review, keeping Talk-specific settings actions on SettingsRoute.voice and Gateway/offline repair actions on SettingsRoute.gateway.

Do we have a high-confidence way to reproduce the issue?

Yes. Source inspection on current main traces the Talk fallback Open Settings path through TalkProTab.openSettings to RootTabs.selectSidebarDestination(.gateway); I did not rerun a simulator locally in this read-only review.

Is this the best way to solve the issue?

Yes. Splitting Talk-specific Voice & Talk navigation from the existing Gateway repair callback is the narrowest maintainable fix and uses the already-existing SettingsRoute.voice.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 909be7bcbc70.

Label changes

Label changes:

  • add proof: sufficient: Contributor real behavior proof is sufficient. The PR body now links public iOS simulator screenshots whose hashes match the downloaded files, showing the Talk path on Voice & Talk and the preserved Gateway route.
  • add proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. The PR body now links public iOS simulator screenshots whose hashes match the downloaded files, showing the Talk path on Voice & Talk and the preserved Gateway route.
  • add rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (screenshot): The PR body now links public iOS simulator screenshots whose hashes match the downloaded files, showing the Talk path on Voice & Talk and the preserved Gateway route.
  • remove rating: 🧂 unranked krab: Current PR rating is rating: 🐚 platinum hermit, so this older rating label is no longer current.
  • remove status: 📣 needs proof: Current PR status label is status: 👀 ready for maintainer look.

Label justifications:

  • P2: This is a focused user-facing iOS navigation bug fix with limited blast radius and a clean linked issue.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (screenshot): The PR body now links public iOS simulator screenshots whose hashes match the downloaded files, showing the Talk path on Voice & Talk and the preserved Gateway route.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body now links public iOS simulator screenshots whose hashes match the downloaded files, showing the Talk path on Voice & Talk and the preserved Gateway route.
  • proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. The PR body now links public iOS simulator screenshots whose hashes match the downloaded files, showing the Talk path on Voice & Talk and the preserved Gateway route.
Evidence reviewed

PR surface:

Other +15. Total +15 across 4 files.

View PR surface stats
Area Files Added Removed Net
Source 0 0 0 0
Tests 0 0 0 0
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 4 73 58 +15
Total 4 73 58 +15

What I checked:

Likely related people:

  • ngutman: Authored the Talk realtime playback and fallback clarification work that introduced the fallback banner and Talk runtime issue surfaces involved here. (role: feature owner; confidence: high; commits: 6897711d1991, 47dbc675e953; files: apps/ios/Sources/Design/TalkProTab.swift, apps/ios/Sources/Design/TalkRuntimeIssueBanner.swift, apps/ios/Sources/Design/SettingsProTabSections.swift)
  • Solvely-Colin: Recent merged iOS navigation work touched RootTabs, TalkProTab, and the source guard tests around the same route-selection invariant. (role: recent adjacent navigation contributor; confidence: medium; commits: 54b09580f61b, bf89552e6783; files: apps/ios/Sources/RootTabs.swift, apps/ios/Sources/Design/TalkProTab.swift, apps/ios/Tests/RootTabsSourceGuardTests.swift)
  • steipete: Recent iOS Control/Talk visual hierarchy work touched the Talk, RootTabs, Settings, and guard-test surfaces shortly before this PR. (role: recent area contributor; confidence: medium; commits: c230ab3c924e; files: apps/ios/Sources/Design/TalkProTab.swift, apps/ios/Sources/RootTabs.swift, apps/ios/Sources/Design/SettingsProTabSections.swift)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

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
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P2 Normal backlog priority with limited blast radius. labels Jul 1, 2026
@PollyBot13

PollyBot13 commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

Proof screenshot/link comment removed after merge for privacy. Validation evidence was summarized in the sanitized PR body.

@clawsweeper

clawsweeper Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

@PollyBot13

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Current head: 1c44447

The previous re-review acknowledgement has not updated the durable review/labels yet, so requesting a fresh pass on the same head. The PR body now has public, inspectable simulator proof for the requested behavior:

  • Talk Voice & Talk settings button lands on Settings / Voice & Talk.
  • Preserved Gateway route lands on Settings / Gateway.
  • Raw proof images, SHA-256 hashes, visual readbacks, and the passing UI proof command are all in the Evidence section.

Current GitHub checks include passing Real behavior proof, auto-response, label, ios-build, macos-swift, and the broader CI jobs for this head.

@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Jul 1, 2026
@Solvely-Colin
Solvely-Colin merged commit ffd7d68 into openclaw:main Jul 1, 2026
142 of 156 checks passed
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request Jul 2, 2026
chenyangjun-xy pushed a commit to chenyangjun-xy/openclaw that referenced this pull request Jul 3, 2026
sheyanmin pushed a commit to sheyanmin/openclaw that referenced this pull request Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app: ios App: ios P2 Normal backlog priority with limited blast radius. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. size: S status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

iOS Talk fallback Settings button opens Gateway settings

2 participants