Issue summary

### Problem/Motivation

`js/runtime/dropup-loader.js` picks the first widget the config endpoint returns:

// One widget at a time. Priority and conflict resolution land in M2;
// until then the newest live widget wins, deterministically.
if (widgets.length) {
mount(widgets[0]);
}

"the newest live widget wins" describes behaviour that no longer exists.
`ConfigController::widgets()` sorts by `weight` then `id`, and its own comment
says so explicitly: "Weight order, not most-recently-changed (decision D34): the
old rule meant editing an unrelated widget silently took over the slot."

So the comment documents the exact bug that ordering change was made to fix. A
maintainer reading only the loader would conclude that saving any live widget can
steal the slot from another, and could "fix" a problem that was already fixed —
or reintroduce it.

### Steps to reproduce

Read `js/runtime/dropup-loader.js` line 33 against
`src/Controller/ConfigController.php` lines 55–62.

### Proposed resolution

Restate what the loader actually relies on: the endpoint's order, which is
lowest weight first with the id as a stable tie-break.

### Remaining tasks

Patch and review. No behaviour change — comment only.

### User interface changes

None.

### API changes

None.

### Data model changes

None.

Issue fork dropup-3622957

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

ibrahim tameme created an issue. See original summary.

ibrahim tameme’s picture

Title: Third-party code section appears twice in README.md » [Updated] Loader comment describes widget selection that weight ordering replaced
Issue summary: View changes

ibrahim tameme’s picture

Status: Active » Needs review

ibrahim tameme’s picture

Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.