Skip to content

fix: plan ui and move it to a sheet#12

Merged
sirily11 merged 1 commit into
mainfrom
plan
May 15, 2026
Merged

fix: plan ui and move it to a sheet#12
sirily11 merged 1 commit into
mainfrom
plan

Conversation

@sirily11

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings May 15, 2026 06:02
@vercel

vercel Bot commented May 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
rxcode Ready Ready Preview, Comment May 15, 2026 6:02am

Request Review

@autopilot-project-manager autopilot-project-manager Bot added the bug Something isn't working label May 15, 2026
@sirily11 sirily11 merged commit aa0ecc7 into main May 15, 2026
9 checks passed
@sirily11 sirily11 deleted the plan branch May 15, 2026 06:04

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the plan UI for ExitPlanMode: the inline PlanCardView becomes a compact status chip, and the full markdown + decision buttons move into a new PlanSheetView opened either from the chip or from a new pending-plan section in the queue banner. It also persists plan decisions through a new SwiftData PlanDecisionRecord so they survive CLI-backed session reloads, and includes related UX fixes (input draft/attachment restoration on stop, suppressing the streaming indicator while paused on a plan, and dropping injected continuation prompts from reloaded chat history).

Changes:

  • New PlanSheetView + chip-style PlanCardView, presented via WindowState.presentedPlanToolCallId and surfaced through the existing queue banner.
  • Persist plan decisions in PlanDecisionRecord and expose them via ChatBridge.planDecisionSummaries / pendingPlans; preserve user decision summaries against CLI-side tool_result overwrites.
  • Restore in-flight user text and attachments after stop/queue-flush; hide streaming indicator and disable composer while a plan decision is pending; tag send/stop buttons with accessibility ids and add tests.

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated no comments.

Show a summary per file
File Description
Packages/Sources/RxCodeChatKit/PlanSheetView.swift New sheet with markdown, 5 decision buttons, feedback composer, and test inspection hook.
Packages/Sources/RxCodeChatKit/PlanCardView.swift Replaces full card with a tappable status chip; reads decision from sidecar dict.
Packages/Sources/RxCodeChatKit/ChatBridge.swift Adds planDecisionSummaries and pendingPlans derivation.
Packages/Sources/RxCodeChatKit/MessageBubble.swift Reorders text before tools when message has ExitPlanMode; pauses sibling tool streaming spinners.
Packages/Sources/RxCodeChatKit/MessageListView.swift Hides streaming indicator while paused on a plan decision.
Packages/Sources/RxCodeChatKit/InputBarView.swift Adds test-injectable initializer and restores draft text/attachments after queue auto-flush.
Packages/Sources/RxCodeCore/Models/PlanDecisionRecord.swift New SwiftData model for persisted plan decisions.
Packages/Sources/RxCodeCore/Models/PermissionRequest.swift Adds PendingPlan and shared decision/continuation prefix helpers on PlanDecisionAction.
Packages/Sources/RxCodeCore/WindowState.swift New presentedPlanToolCallId for sheet presentation.
Packages/Sources/RxCodeCore/CLISession/CLILineToBlocksMapper.swift Drops injected continuation prompts on reload; preserves decided ExitPlanMode results.
Packages/Sources/RxCodeCore/Theme/ClaudeTheme.swift Adds accessibility labels/ids to send and stop buttons.
RxCode/App/AppState.swift Tracks in-flight attachments, persists/loads plan decisions, suppresses redundant continuation prompts, restores composer drafts on queue flush.
RxCode/Services/ThreadStore.swift Wires PlanDecisionRecord into schema, load/set/rename/delete paths.
RxCode/Views/MainView.swift Mounts the plan sheet via ChatDetailModifiers.
RxCode/Views/Permission/PermissionQueueBanner.swift Surfaces undecided pending plans alongside permissions/questions.
Packages/Tests/RxCodeChatKitTests/InputBarStopRestoreTests.swift New tests for stop-button draft+attachment restore behavior.
Packages/Tests/RxCodeChatKitTests/InputBarQueueTests.swift New test for draft preservation during queued auto-flush.
RxCodeTests/PlanCardViewTests.swift Rewritten for chip + sheet split.
RxCode.xcodeproj/project.pbxproj Adds DEVELOPMENT_TEAM to RxCodeTests build configs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@sirily11

Copy link
Copy Markdown
Contributor Author

🎉 This PR is included in version 1.3.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants