martin
(Martin Brennan)
Juillet 6, 2026, 1:59
11
Noble_Fish:
Je me demande s’il existe un tableau pour distinguer le sens de ce terme dans différents contextes. Ces différences sont à la fois déroutantes et inquiétantes — car lorsque les gens ont initialement choisi ce paramètre, ils ne connaissaient probablement pas sa signification réelle, donc ils voudraient vérifier les paramètres associés. Actuellement, je ne peux que vérifier individuellement chaque endroit où les groupes sont définis, et confirmer ce qu’il signifiait auparavant en voyant à quoi il a été modifié après l’activation de la fonctionnalité de groupe granulaire — ce qui ressemble à tâtonner dans le noir.
C’est une bonne idée… Je pourrais peut-être bidouiller quelque chose avec l’IA pour aller chercher dans tous les endroits où les paramètres basés sur les groupes sont utilisés et sortir s’il est même possible pour anonymous d’accéder à ces éléments.
Il y a un tas de paramètres qui interdisent déjà la sélection du groupe anonymous_users, donc ce sont probablement un bon point de départ… je reviendrai ici avec les résultats.
J’ai des PR pour cela sur lesquels je travaille maintenant :
main ← dev/theme-setting-group-setting-membership
merged 11:29PM - 07 Jul 26 UTC
Currently, theme settings with `type: list` and `list_type: group`
require clie… nt-side permission checks, but `currentUser.groups` only
includes visible groups, not all groups the user belongs to. This makes
permission checks unreliable and can leak hidden group membership.
To address this, this commit adds an opt-in `resolve_group_membership:
true` option that replaces the group ID list with a user_in_SETTING_NAME
boolean resolved server-side via `guardian.in_any_groups?`. The original
group list is removed from the frontend payload to prevent leaking group
IDs.
Since theme settings are cached per-theme (not per-user), the resolution
happens after the cache lookup during per-request serialization in
`ApplicationLayoutPreloader#activated_themes_json`.
Example YAML:
```yaml
copy_button_allowed_groups:
type: list
list_type: group
resolve_group_membership: true
default: "1|3"
```
Frontend usage:
```javascript
if (!settings.user_in_copy_button_allowed_groups) return;
```
Il y aura des PR de suivi et des modifications de documentation très bientôt.
3 « J'aime »