Split the WordPress version setting into an update mode and a version picker - #4752
Split the WordPress version setting into an update mode and a version picker#4752gcsecsey wants to merge 18 commits into
Conversation
…e the installed version
…ersion-expectation
… not a version number
…hing to auto-update
There was a problem hiding this comment.
🟡 Changes recommended
The automatic-update description is not programmatically associated with its radio control for screen-reader users.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Splits the Agentic UI’s WordPress setting into update mode and pinned-version controls.
Changes:
- Adds automatic-update and version-selection radio choices.
- Handles unknown and unavailable versions safely.
- Adds responsive styling, dark-theme colors, and focused tests.
File summaries
| File | Description |
|---|---|
apps/ui/src/index.css |
Styles radio controls across themes. |
apps/ui/src/components/site-overview-view/index.test.tsx |
Tests settings interactions and edge cases. |
apps/ui/src/components/site-fields/wp-version-control.tsx |
Implements the split controls. |
apps/ui/src/components/site-fields/style.module.css |
Lays out the new controls. |
apps/ui/src/components/site-fields/index.ts |
Builds current and unknown version options. |
apps/ui/src/components/site-fields/index.test.ts |
Tests generated version options. |
Review details
- Files reviewed: 6/6 changed files
- Comments generated: 1
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Mostly, we should be aiming towards an end state as shown in #4747
|
…alue' into gcsecsey/separate-wp-update-mode-from-version-v1 # Conflicts: # apps/cli/lib/wp-version-option.ts # apps/studio/src/components/wp-version-selector/index.tsx # apps/studio/src/modules/add-site/components/create-site-form.tsx # apps/studio/src/modules/site-settings/edit-site-details.tsx # apps/studio/src/modules/site-settings/tests/edit-site-details.test.tsx # apps/ui/src/components/site-fields/index.test.ts # apps/ui/src/components/site-fields/index.ts # apps/ui/src/components/site-fields/wp-version-control.tsx # apps/ui/src/components/site-overview-view/index.test.tsx # packages/common/lib/wordpress-version-labels.ts # skills/studio-cli/SKILL.md
📊 Performance Test ResultsComparing fc37fea vs trunk app-size
site-editor
site-startup
Results are median values from multiple test runs. Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff) |
|
@shaunandrews I updated the site settings pages and create site modals, to bring them closer to the end result you shared. WDYT about this layout? Classic UI Edit site modal: CleanShot.2026-09-03.at.18.35.38.mp4Classic UI add site screen:
Agentic UI site settings pane:
Agentic UI create site screen:
|
|
@gcsecsey I think this UI is much easier to understand. However, I would still display the version that will be installed, as now, it can surprise the user. Also, spacing between elements seems odd:
|











Related issues
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 updatestoggle 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.Testing Instructions
Automatic updatesis on, the field showsInstalled version: <version>.Versionpicker appears, preselected to the version the site runsSave settingsbecomes enabledPre-merge Checklist