ondrej
February 4, 2026, 7:47pm
1
In a users admin page if you scroll down to the ‘Groups’ and try to add the user to a custom group the button will appear as you can see in the image below.
However, when you press it, it does not disappear looking like the action did not complete. But if you refresh the page the user was in fact added to the group but the ui doesn’t reflect this.
2 Likes
Another page that would be better suited for a proper refactoring to Glimmer
In the meantime, here’s the fix
main ← fix/admin-user-custom-groups-save
merged 06:49PM - 10 Feb 26 UTC
The approve/reject buttons for custom group changes on the admin user page would… remain visible after saving, even though the changes were persisted successfully. Removing a group also failed to update the UI.
Three issues in the reactivity chain caused this:
1. The `@filter` computed macros (classic Ember) on the AdminUser model did not react to `@trackedArray` mutations. Replaced `customGroups` and `automaticGroups` with native getters so they participate in Glimmer autotracking.
2. The controller's `groupAdded()` and `groupRemoved()` wrappers did not return their promise chains, so `await` in `saveCustomGroups()` resolved immediately before the API calls completed and before the groups array was updated.
3. The controller's `customGroupIds`, `customGroupsDirty`, and `automaticGroups` used `@discourseComputed` which could not track changes from native getters on the model. Converted these to native getters and made `customGroupIdsBuffer` `@tracked`.
Additionally, `saveCustomGroups()` now awaits each operation sequentially and calls `resetCustomGroups()` on completion to sync the buffer with the updated group list, clearing the dirty state.
Note: only the properties involved in the groups reactivity chain were converted to modern Glimmer patterns. The rest of the controller and model still use classic Ember (`@discourseComputed`, `this.set`, etc.) and can be modernized separately.
Ref - https://meta.discourse.org/t/395210
1 Like
zogstrip
Closed
February 14, 2026, 7:00am
5
This topic was automatically closed after 2 days. New replies are no longer allowed.