Skip to content

feat(frontend): approval friction UX and context-driven config sections (Arda's port) - #5438

Merged
mmabrouk merged 5 commits into
feat/sessions-storage-reworkfrom
fe-enhance/approval-ui-onstack
Jul 21, 2026
Merged

feat(frontend): approval friction UX and context-driven config sections (Arda's port)#5438
mmabrouk merged 5 commits into
feat/sessions-storage-reworkfrom
fe-enhance/approval-ui-onstack

Conversation

@mmabrouk

Copy link
Copy Markdown
Member

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.

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)
@mmabrouk mmabrouk added the needs-review Agent updated; awaiting Mahmoud's review label Jul 21, 2026
@dosubot dosubot Bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Jul 21, 2026
@vercel

vercel Bot commented Jul 21, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
agenta-documentation Ready Ready Preview, Comment Jul 21, 2026 4:30pm

Request Review

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 4b3a3441-a0e2-4def-b5f3-524112c9e104

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fe-enhance/approval-ui-onstack

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Railway Preview Environment

Image tag pr-5438-7298f82
Status Failed
Railway logs Open logs
Logs View workflow run
Updated at 2026-07-21T16:32:43.216Z

@mmabrouk
mmabrouk force-pushed the fe-enhance/approval-ui-onstack branch from 30e50d5 to 5856452 Compare July 21, 2026 16:29
@mmabrouk

Copy link
Copy Markdown
Member Author

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.

@mmabrouk
mmabrouk merged commit eddc665 into feat/sessions-storage-rework Jul 21, 2026
36 of 38 checks passed
@mmabrouk
mmabrouk deleted the fe-enhance/approval-ui-onstack branch July 21, 2026 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Frontend needs-review Agent updated; awaiting Mahmoud's review size:XXL This PR changes 1000+ lines, ignoring generated files. UX

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants