feat(frontend): approval friction UX and context-driven config sections (Arda's port) - #5438
Conversation
One CSS-native, reduced-motion-proof collapse primitive (HeightCollapse) for everything that enters/leaves the composer region and config pane, plus the config-section header shimmer + draft/agent indicator tones on ConfigAccordionSection (and a useRecentFlag helper). Migrates RevealCollapse and AgentCommitNotice onto it so the motion language is consistent. Adds the motion dependency. (cherry picked from commit b79dbf9)
Reusable, dependency-free primitives for showing 'what changed' in a config surface: ChangedPathsContext (which dot-paths have uncommitted changes + a host-supplied revert), FocusPathsContext (narrow a surface to just the paths that matter — the same idea as rendering an input only when needed), and RailField opting into both via a path. sectionChanges maps the commit-diff classifier to the config panel's sections. Adds the draft-change and provider-key-added signal atoms the config pane consumes. (cherry picked from commit 351be6c)
…nline provider key Drawer-backed config sections (Model & harness, Advanced) surface only what needs attention inline instead of routing to the drawer: a missing provider key shows the key field right there, and uncommitted changes show the changed controls (focus-filtered via FocusPaths/ChangedPaths), each row marked and revertable, with a link out to the full drawer. Wires the sandbox/harness permission controls and the provider-credentials/key fields with their dot-paths; adds the provider-key-added notice. (cherry picked from commit 2fe28f9)
…olve Approval dock gains an 'Always allow <tool> for this agent' toggle that writes a per-tool permission (gateway/custom-function) or harness allow-rule into the draft config (toolPermission helpers), so the tool stops gating on resume and future runs; a contained notice offers Undo. Answering resolves the whole parked batch in one step — 'Approve all', or 'Approve' with the toggle on also clears that tool's sibling gates — instead of stepping through 1-of-N. (cherry picked from commit bf96673)
(cherry picked from commit 9c4ffd1)
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization 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:
✨ 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 |
Railway Preview Environment
|
30e50d5 to
5856452
Compare
|
Dropped the sixth commit (the Claude Code harness entry in the tracked EE dev compose) after review: machine-specific harness login mounts belong in the gitignored docker-compose.dev.*.local.yml overrides that run.sh auto-includes, not in the shared committed file, and the user-facing setup is already documented in docs/docs/self-host/agents/01-use-your-own-subscription.mdx. The PR is now the five frontend commits only. |
eddc665
into
feat/sessions-storage-rework
These are Arda Erzin's six commits from his parallel branch (#5426), ported with authorship preserved onto the sessions integration branch per the reconciliation ruling. They carry the always-allow toggle, the approve-all batch resolve, the context-driven config sections with an inline provider key, a drawer sizing fix, and the Claude Code harness entry for the EE dev compose.
The machinery commits from his original branch were superseded by the approvals train already merged into this base (see the reconciliation document in docs/design/agent-workflows/projects/sessions-takeover/). One repeat QA pass of the approval dock against per-card dispatch is flagged in his handoff as the known follow-up.