[6.x] Multisite - configuration improvements - #15277
Open
jaygeorge wants to merge 76 commits into
Open
Conversation
Delete-group meta Removing a group now copies each row’s grid meta into Other (same path as drag) and drops the old drop zone. Slug-key collisions Named groups store a stable group_handle in sites.yaml. Reload uses that id instead of re-slugging the title, so “New York” / “new york”, “Café” / “Cafe”, and a group titled “Other” stay separate from the pinned Other section. New groups also refuse the reserved other key. Empty-sites errors If every site is removed, the required error is attached to the group grids that were actually submitted, not always group_other_sites.
…ight to the "add group" stack
…ew Group. Saving the title still keeps the group. Leaving edit mode (Discard/Cancel) does not try to delete it again, since that path already restores or remounts the form.
Reuse the shared Combobox for type-to-filter, and disable virtualization when options have variable-height group headers.
Update the trigger immediately on select and keep an Other prefix so the chevron layout does not jump while the localization loads.
…how many items there is to choose from when scrollbars disappear like on macOS
When a second localization in a group is created, the origin switches to the first localization in the group. If the group has none yet, keep the current active/root behaviour.
Otherwise a remaining in-group localization gets the Origin badge and becomes the default, which is misleading.
Group labels come from sites.yaml config, not translation keys. Keep __() only for the fixed "Other" bucket.
It was only covered by unit tests and never called from the CP.
Walk origin chains with a visit set so ancestors() cannot hang, and block saving entries that form a loop.
Cover HasOrigin value/root resolution and Entry save/ancestors behavior when origins loop.
English uses the string key via __(); other locales can come from contributors.
Avoid a new Localization string; Localizable is already translated across locales.
Align merge bases so the PR diff against entry-grouping no longer includes unrelated 6.x files.
Reintroduced by merging multisite-entry-grouping; keep it out of this branch.
Group labels come from sites.yaml config, not translation keys. Keep __() only for the fixed Other bucket.
Bring over the group-label translation fix so it lives on the base branch.
PHPStan could not resolve root \Log aliases, and the trans-import check required use function Statamic\trans as __ in Entry.
Cycle tracking now falls back to spl_object_id so origin stubs without id() keep working. Also satisfy Pint spacing for the Statamic\trans import.
…ction/taxonomy view too
Reuse enable switches and site groups without origin chains, and keep storing a flat list of site handles.
…mies GlobalSetSites with origins disabled now processes both UI rows and the old flat handle list so existing payloads keep working.
Select was incorrectly falling back to the active localization like active does; restore root as the default when no same-group origin exists.
Map the old { sites: [...] } payload to group_other_sites so existing API clients keep working alongside the grouped form shape.
jaygeorge
marked this pull request as draft
August 26, 2026 13:23
…on-improvements Keep dynamic columnCount for origins-off configure, and sticky group headers.
jaygeorge
marked this pull request as ready for review
August 26, 2026 13:27
jasonvarga
force-pushed
the
multisite-globals-selection
branch
from
August 28, 2026 00:13
5abfa85 to
64fb428
Compare
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.
Description of the Problem
We have different interfaces for the global configuration and collections/taxonomies configuration. While we have a different mechanism for deciding the origin for globals, it would be better if they more closely aligned.
What this PR Does
Before
After
How to Reproduce