martin
(Martin Brennan)
Julho 6, 2026, 1:59am
11
Noble_Fish:
Estou me perguntando se existe uma tabela para distinguir o significado desse termo em diferentes contextos. Essas diferenças são confusas e perturbadoras — porque, quando as pessoas originalmente escolheram essa configuração, provavelmente não sabiam seu significado real, então elas provavelmente desejariam verificar as configurações relacionadas. Atualmente, só posso verificar individualmente cada lugar onde os grupos são definidos e confirmar o que costumava significar, vendo para quem foi alterado depois que o recurso de grupos granulares foi habilitado — o que parece como tropeçar no escuro.
Essa é uma boa ideia… Talvez eu consiga arranjar algo com IA para procurar em todos os lugares onde as configurações baseadas em grupos são usadas e verificar se é possível que anonymous acesse essas coisas.
Há várias configurações que já não permitem que o grupo anonymous_users seja selecionado, então essas provavelmente são um bom ponto de partida… vou retornar aqui com os resultados.
Estou trabalhando agora em PRs para isso:
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;
```
Teremos PRs de acompanhamento e alterações na documentação em breve.
3 curtidas