feat(swift-ios): regenerate thread titles with request tracking - #8623
feat(swift-ios): regenerate thread titles with request tracking#8623saphid wants to merge 7 commits into
Conversation
Squash-merge of the accepted title-regeneration window (22b22f1..b1ad17bbd) onto the current maintainer branch head.
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR adds a user-facing title-regeneration workflow across the SwiftUI iOS client, including new concurrency/state tracking, server-backed request identity, refresh reconciliation, and a public client protocol change. The production scope is substantially more than a small UI adjustment, so the runtime and API interactions warrant human review. You can add or adjust custom eligibility rules. Learn more. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 030cc83. Configure here.

What Changed
Add title-regeneration actions to SwiftUI thread menus with visible progress and duplicate-request protection. Track request identity so stale responses do not replace a newer title, and show completion or failure feedback.
Why
The original native workflow offered no convenient way to request a better automatic title. Request tracking is needed to coordinate regeneration, manual rename and later server snapshots.
Verification and remaining proof
Candidate:
ba8a1d2f5fab7108ced1cde7e35d99681e724ffd. This PR targetst3code/rebuild-mobile-app-swift; its historical integration base isb67837984e5650888b1eed0e1cd7fff83625f696. The current native parent inspected in the readiness review isb99405468a6b2be1e0f67d551ece824b1627e35c. Merging this child does not by itself deliver the native app to upstream main.The hosted native build/test job passed on the candidate. The earlier description reports 205 cases across FeatureRootModelTests, ThreadTitleRegenerationMenuTests, HomeThreadSwipeActionTests and WireFixtureContractTests on the earlier base composition. Captures belong to an older accepted revision, not this current integration. No local build, test or client session was run for this description update; full historical local invocations were not recovered here.
The current parent already offers basic title regeneration. Reconcile the remaining request-identity and recovery protections with its current implementation, then repeat success, failure, duplicate, rename and stale-response proof. This PR is not evidence-complete for human merge review against the current native parent.
Earlier visual evidence
These retained captures/reports belong to the revisions and conditions stated below. They were not recaptured, visually inspected or revalidated for current-parent integration in this pass. Historical access/playback statements describe the original check, not a new one.
Earlier captures and their original conditions
Before (thread row menu without regeneration, light)
After (regenerate action, in-progress state, duplicate suppressed)
Interaction video (duplicate failure path)
Play the duplicate-failure video
Dark-mode captures and the full set are embedded in the tracking issue.
Tracking: native work item #141.
Automated summaries of the candidate
Description and evidence audit: GPT-6 in Codex, using prepare-proof-media from #9926.