martin
(Martin Brennan)
6 Julio, 2026 01:59
11
Noble_Fish:
Me pregunto si existe una tabla que distinga el significado de este término en diferentes contextos. Estas diferencias son confusas e inquietantes, porque cuando la gente seleccionó originalmente esta configuración, probablemente no conocía su significado real, por lo que querría verificar las configuraciones relacionadas. Actualmente, solo puedo verificar cada lugar donde se configuran los grupos individualmente, y confirmar lo que solía significar viendo a quién se cambió después de habilitar la función de grupos granulares, lo cual se siente como tanteando a ciegas.
Es una buena idea… Tal vez pueda improvisar algo con IA para que busque en todos los lugares donde se usan configuraciones basadas en grupos y determine si es posible que anonymous pueda acceder a esas cosas.
Hay un montón de configuraciones que ya impiden que se seleccione el grupo anonymous_users, así que esas probablemente sean un buen punto de partida… volveré aquí con los resultados.
Estoy trabajando ahora en PRs para esto:
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;
```
Habrá PRs de seguimiento y cambios en la documentación poco después.
3 Me gusta