feat(ios): Cursor-style plan approval strip above composer#678
Conversation
Move plan_approval UI from inline transcript cards to a compact strip directly above the Work chat composer. Tapping opens a large sheet with markdown-rendered plan text; Approve/Reject stay on the collapsed strip. - Add WorkPlanComposerStrip and WorkPlanFullScreenView - Remove WorkPlanReviewCard from live timeline - Plan-specific composer placeholder copy - Tests for timeline omission and placeholder behavior Co-authored-by: Arul Sharma <arul28@users.noreply.github.com>
…Text Quality pass: pass decline feedback on the approval RPC instead of a separate chat.send, reset haptic state on session switch, and stabilize plan strip identity with .id(plan.id). Co-authored-by: Arul Sharma <arul28@users.noreply.github.com>
Co-authored-by: Arul Sharma <arul28@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
Summary
Moves iOS final plan approval (
plan_approval) from a large inline transcript card to a compact strip directly above the Work chat composer — matching the Cursor mobile pattern.Locked scope (from /plan deliberation)
Quality fixes included
chat.approveresponseText(not a separatechat.send).id(plan.id)on strip to reset reject-flow state across gate replacementsTests
testBuildWorkTimelineOmitsPendingPlanApprovalFromTranscripttestWorkChatComposerPlaceholderUsesPlanReviewCopyForPlanApprovalOnlyDocs
docs/features/chat/composer-and-ui.md— documentsWorkPlanComposerStripKey files
apps/ios/ADE/Views/Work/WorkPlanComposerViews.swift(new)apps/ios/ADE/Views/Work/WorkChatSessionView.swiftapps/ios/ADE/Views/Work/WorkTimelineHelpers.swift