feat(acp): add config option settings modal#276
Conversation
carlos-algms
commented
Jul 13, 2026
- retain every ACP config option
- support boolean config updates
- add session-safe settings modal
- expose configurable widget keymap
- document and test new workflow
- validate live provider interactions
- verify live select and boolean changes - verify modal remains open - verify stale session rejection
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughAdds ACP session configuration capabilities and boolean option types alongside selectable options. The client uses a parameter-table API for setting options. Sequence Diagram(s)sequenceDiagram
participant User
participant Modal as ConfigOptionsModal
participant Config as AgentConfigOptions
participant ACP as ACPClient
User->>Modal: Activate option
Modal->>Config: handle_change(configId, value, on_done)
Config->>ACP: set_config_option(params, callback)
ACP-->>Config: Return configOptions
Config->>Config: Apply options and invoke callbacks
Config-->>Modal: Confirm change
Modal->>Modal: Schedule re-render
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@lua/agentic/acp/agent_config_options.lua`:
- Around line 596-615: Update the asynchronous option-change handlers around
_make_change_response to capture the initiating option ID and generation, track
the latest request per ID, and re-resolve the current target before applying
success or selector results. Ignore stale responses, prevent old values from
being applied to replaced options or newer choices, and guard against nil
targets when IDs change. Add regression coverage for both the in-flight request
race and selector race.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 650c793d-def0-4fd3-ae09-a4245adae79e
📒 Files selected for processing (12)
README.mddoc/agentic.txtlua/agentic/acp/acp_client.lualua/agentic/acp/acp_client.test.lualua/agentic/acp/acp_client_types.lualua/agentic/acp/agent_config_options.lualua/agentic/acp/agent_config_options.test.lualua/agentic/config_default.lualua/agentic/config_selector.test.lualua/agentic/session_manager.lualua/agentic/ui/config_options_modal.lualua/agentic/ui/config_options_modal.test.lua
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@lua/agentic/ui/config_options_modal.lua`:
- Around line 128-130: Update the modal sizing logic near build_lines and height
so width is at least the maximum rendered line width, while retaining the
existing vim.o.columns percentage as the default sizing basis. Compute the
longest entry in lines and use that value as a lower bound for width, ensuring
long configuration values do not wrap or exceed the modal height.
- Around line 219-228: Update the navigation logic around _option_rows and
cursor_row so non-option cursor positions search explicitly for the nearest
option row in the requested direction before calculating target. Preserve direct
index handling when cursor_row is an option, and ensure j/k choose the
next/previous option rather than defaulting current to 1.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: a0c67035-bbe1-4e90-a4c4-86a94e1263db
📒 Files selected for processing (2)
lua/agentic/ui/config_options_modal.lualua/agentic/ui/config_options_modal.test.lua