Discourse AI가 "모두" 그룹을 무시합니다

It looks like this is the same known issue that causes problems with templates.
everyone-group-unable-to-see-private-templates

In this case, the ai-bot options appear, but the bot simply never responds.

2개의 좋아요

Thanks for searching for prior issues! :sunglasses: :+1:

I think the same applies here:

You can not give anonymous users access to the chat bot, so using trust_level_0 is an effective solution for your use case. :slight_smile:

8개의 좋아요

@Roman Discourse의 코드를 살펴본 결과, 지금은 정상적으로 동작하는 것 같습니다.

이제 이 이슈를 닫고 하위 호환성 코드를 제거할 때인가요?

조금 까다로운 문제입니다. 처음에 everyone 옵션을 추가한 이유는 익명 사용자에게도 gist를 보여주고 싶었기 때문입니다. 각 기능에는 자체적인 규칙이 있으므로, Persona의 허용 그룹을 해당 옵션으로 설정한다고 해서 그 기능이 모든 사람에게 제공되지는 않을 것 같습니다.

여전히 문제가 발생하고 있습니다. "AI bot allowed groups"가 everyone으로 설정되어 있으면 봇이 응답하지 않습니다.

버그가 여기에 있다고 생각합니다.

return false if (SiteSetting.ai_bot_allowed_groups_map & post.user.group_ids).blank?

설정이 everyone인 경우, post.user.group_ids에 0이 포함되어 있지 않기 때문에 이 코드가 false를 반환합니다.

올바른 패턴은 !user.in_any_groups?(SiteSetting.ai_bot_allowed_groups_map)입니다.

이는 everyone에 대한 특수한 경우를 처리합니다:

  def in_any_groups?(group_ids)
    group_ids.include?(Group::AUTO_GROUPS[:everyone]) ||
      (is_system_user? && (Group.auto_groups_between(:admins, :trust_level_4) & group_ids).any?) ||
      (group_ids & belonging_to_group_ids).any?
  end
6개의 좋아요

해당 설정에서 “everyone”(모든 사용자)을 선택할 수 없도록 하는 것이 합리적인가요? DEV: restrict everyone on whisper groups via a new disallowed_groups attr - Pull Request #37515 - discourse/discourse - GitHub 에서처럼 처리하는 방식과 유사합니다.

1개의 좋아요

응, 그거 제거해야 해… @martin이 이거 정리할 거라고 목록에 올려놨는데, 시간이 좀 걸릴 수 있어.

1개의 좋아요

@martin 이 이슈를 닫을까요? 현재 버전만 패치할까요?

1개의 좋아요

이를 수행하기 위한 작은 PR이며, 이 버그도 함께 수정합니다:

2개의 좋아요