f8ff74bd3f
- Chips come from the response's groups (actual GroupMembership rows), not the union of row.viaGroups -- closes the reproduced defect where revoking a group's last grant hid an otherwise-unchanged membership - React key is the group id, not the name - Test file: moved the LDAP/MANUAL badge assertion out of this commit, it belongs to Task 2 which reuses admin.groups.members