Design exploration: Clarify Agentic UI site settings - #4747
Draft
shaunandrews wants to merge 2 commits into
Draft
Conversation
1 task
wojtekn
added a commit
that referenced
this pull request
Sep 7, 2026
… picker (#4752) ## Related issues - Related to STU-2348 - Stacked on #4750 - Lifts the update-mode control from #4747 ## How AI was used in this PR I used Opus 5 for implementation and tests. ## Proposed Changes The WordPress version setting mixes two decisions: whether the site updates itself, and which version it is pinned to. #4702 fixes the wording of the single dropdown, but the two decisions still share one control. This PR splits them into an `Automatic updates` toggle and a version picker that's only shown when the toggle is off, so the picker only ever means "pin this version". While auto-update is on, the field reports the version the site runs. - Without a version list (no network, no cached versions) the control degrades to the old plain dropdown. - Turning auto-update off seeds the picker with the version the site already runs, or with the newest stable release for a site that does not exist yet. Beta or nightly are never set as defaults. ## Testing Instructions - Open a site, then Settings - Check that if `Automatic updates` is on, the field shows `Installed version: <version>`. - Turn the toggle off - Check that the `Version` picker appears, preselected to the version the site runs - Pick another version and check that `Save settings` becomes enabled - Go back, add a site, and open Advanced settings - Check the same toggle, and that turning it off preselects the newest stable release | State | Light | Dark | | --- | --- | --- | | Agentic UI settings auto-update | <img width="1948" height="1156" alt="CleanShot 2026-09-02 at 15 48 25@2x" src="https://github.com/user-attachments/assets/025f8019-21fc-4a7e-925e-8b7bfa535719" /> | <img width="1948" height="1196" alt="CleanShot 2026-09-02 at 15 50 34@2x" src="https://github.com/user-attachments/assets/dcf170df-aca5-49be-9c30-937252e8dbf6" /> | | Agentic UI settings pinned version | <img width="1948" height="1196" alt="CleanShot 2026-09-02 at 15 50 22@2x" src="https://github.com/user-attachments/assets/11107976-e350-4196-83c0-c0cd9e9942e4" /> | <img width="1948" height="1196" alt="CleanShot 2026-09-02 at 15 50 29@2x" src="https://github.com/user-attachments/assets/272622f9-92f4-43e5-b0ef-1277c45c9a16" /> | | Agentic UI new site auto-update | <img width="1022" height="1674" alt="CleanShot 2026-09-02 at 15 51 00@2x" src="https://github.com/user-attachments/assets/95bad3b3-4272-4bf4-a2fd-9d590b2b7b90" /> | <img width="1022" height="1674" alt="CleanShot 2026-09-02 at 15 50 43@2x" src="https://github.com/user-attachments/assets/a66cf8e7-69cf-4d51-b7f7-5539dcf18a02" /> | | Agentic UI new site pinned version | <img width="1022" height="1674" alt="CleanShot 2026-09-02 at 15 50 58@2x" src="https://github.com/user-attachments/assets/16ad7d46-6adc-4ce6-bd9b-c2af116ee3f4" /> | <img width="1022" height="1674" alt="CleanShot 2026-09-02 at 15 50 54@2x" src="https://github.com/user-attachments/assets/e8ba28bc-8dcf-4eb8-9a33-9837315d99c1" /> | | Classic UI settings auto-update | <img width="1168" height="1002" alt="CleanShot 2026-09-02 at 15 45 08@2x" src="https://github.com/user-attachments/assets/454e6c6a-6684-4255-bf22-642db5f69d87" /> | <img width="1172" height="1002" alt="CleanShot 2026-09-02 at 15 43 58@2x" src="https://github.com/user-attachments/assets/1e7cd9f7-5e78-4049-a2e9-7ce79fbefe65" /> | | Classic UI settings pinned version | <img width="1144" height="976" alt="CleanShot 2026-09-02 at 16 14 04@2x" src="https://github.com/user-attachments/assets/87fb754a-d450-4a73-bc4d-d0039ab1a785" /> | <img width="1168" height="1002" alt="CleanShot 2026-09-02 at 15 44 57@2x" src="https://github.com/user-attachments/assets/ee61bbae-7917-4b67-8d8d-72f89b536d52" /> | | Classic UI new site auto-update | <img width="924" height="1806" alt="CleanShot 2026-09-02 at 15 44 28@2x" src="https://github.com/user-attachments/assets/acd689a1-595e-4658-a252-8d3350c30a13" /> | <img width="924" height="1806" alt="CleanShot 2026-09-02 at 15 44 15@2x" src="https://github.com/user-attachments/assets/2eb727df-d326-4a7e-aabc-579d3d643818" /> | | Classic UI new site pinned version | <img width="924" height="1806" alt="CleanShot 2026-09-02 at 15 44 31@2x" src="https://github.com/user-attachments/assets/35541207-5db6-4774-ab1e-80c94df28a95" /> | <img width="924" height="1806" alt="CleanShot 2026-09-02 at 15 44 35@2x" src="https://github.com/user-attachments/assets/ceb28490-2f48-4dd4-b5bd-c6b3d2805282" /> | ## Pre-merge Checklist - [x] Have you checked for TypeScript, React or other console errors? --------- Co-authored-by: Wojtek Naruniec <wojtek@naruniec.me> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related issues
How AI was used in this PR
Codex was used as an implementation and design-prototyping partner. The interaction model, hierarchy, wording, spacing, responsive behavior, dark-mode treatment, and disabled states were iterated through direct human review in the running Agentic UI. Codex also updated focused tests and prepared the review evidence; the design decisions came from that review loop.
Executive summary
The existing
latestWordPress version value mixes two concepts: the version currently installed and whether WordPress should update itself. This draft separates those decisions in the Agentic UI so users can choose Automatic updates or Select a version, while still seeing the installed version.The exploration also uses the settings redesign to restore currently missing Agentic UI controls for PHP runtime and file access, improve grouping and scanability, and keep the save action reachable as the settings surface grows.
This is a draft design exploration. It is intentionally separate from #4702 so that PR can continue to represent Gergely's narrower wording approach.
Proposed Changes
Review guide
1. WordPress update model
Please focus first on whether Automatic updates and Select a version correctly express the two user intents. Automatic mode reports the installed version; pinned mode exposes the same compact picker at all times. This deliberately avoids hiding controls or encoding update mode in a version named
latest.2. Settings hierarchy and density
The form stays in a centered 560px column rather than expanding into multiple columns at wide widths. Section headings and separators establish hierarchy; related controls remain visible without accordions or secondary screens.
3. Runtime and file-access dependency
PHP runtime and file access now have parity with the underlying site settings. Selecting Sandbox forces Site directory access. The file-access choices remain visible but disabled, accompanied by a neutral WPDS notice and the tooltip “Requires the Native PHP runtime”.
4. Persistent actions and responsive behavior
Save settings is portaled into the existing footer toolbar. Review the footer with the preview open and closed, and with the sidebar expanded and collapsed. It should remain reachable without covering the final form content.
5. Data path
Runtime and file-access values travel through the shared
SiteDetailsshape and the local connector's existingsite setargument builder. Sandbox normalization happens before the update is sent. There is no persistence migration.Okay to skim
Versionselect.Known tradeoffs and follow-ups
@wordpress/components; this draft uses it to evaluate the intended design-system direction.Safety checklist
formattributeScreenshots
Wide layout with preview open
The settings column keeps a stable readable width while the site preview uses the remaining space.
Narrow layout and sticky footer
The footer keeps Save settings visible at the bottom. With the sidebar collapsed, its toggle and the save action no longer overlap:
WordPress update choices
Sandbox and file access
Disabled choices use a not-allowed cursor and explain the dependency on hover or keyboard focus:
RTL and mixed-direction content
The Hebrew pass verifies mirrored layout, physical control order, compact select alignment, footer placement, and punctuation direction in untranslated English fallback copy.
Testing Instructions
Automated checks run:
npm run typecheck npm test -- apps/ui/src/components/site-settings-view/index.test.tsx apps/ui/src/components/site-overview-view/index.test.tsx npm run cli:build:uiResults:
Manual verification:
studio ui, then open an existing site's Settings tab.Pre-merge Checklist