# 소거된 카테고리가 다이제스트에 포함됨

**URL:** https://meta.discourse.org/t/suppressed-category-included-in-digest/203304
**Category:** Bug
**Tags:** activity-summary
**Created:** [9월 12, 2021, 10:22오전 UTC](https://meta.discourse.org/t/suppressed-category-included-in-digest/203304 "2021-09-12T10:22:21Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![manuel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/manuel/32/468169_2.png) [@manuel](https://meta.discourse.org/u/manuel)
#### Post date: [9월 12, 2021, 10:22오전 UTC](https://meta.discourse.org/t/suppressed-category-included-in-digest/203304/1 "2021-09-12T10:22:21Z")

</div>

모더레이터가 플래그가 지정된 게시물을 이동시킬 수 있는 “적절하지 않은” 카테고리가 있습니다. 이 카테고리는 공개 포럼에 적합하지 않은 게시물도 여전히 논의될 수 있도록 하기 위한 것입니다. 당연히 이 카테고리는 요약 이메일에 포함되지 않아야 하므로 사이트 설정에서 이를 억제(suppress)해 두었습니다:

![Screenshot from 2021-09-12 07-39-34](https://global.discourse-cdn.com/meta/original/3X/a/9/a9de6d45198b7392b33a398d6828da5f1430eb41.png)

그러나 최근 요약 메일에 해당 카테고리의 주제가 포함되어 있었습니다. 설정에서 선택을 해제했다가 다시 선택해 보니 로그에 변경 사항이 나타났습니다:

 ![Screenshot from 2021-09-12 07-53-30](https://global.discourse-cdn.com/meta/original/3X/f/b/fb4bd9f260b19ab8f39c5866e82e44cf9a04478d.png)

`14`는 ‘적절하지 않은’ 카테고리의 ID입니다. **이전** 카테고리 `2`(아마도 "사이트 피드백"일 것입니다)는 이미 오래전에 삭제되었지만, 여전히 억제된 카테고리 목록에 포함되어 있는 것으로 보입니다. 이것이 목록이 의도대로 작동하지 못하게 만든 버그일 수 있을까요?

---

<div class="post-metadata">

### Author: ![manuel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/manuel/32/468169_2.png) [@manuel](https://meta.discourse.org/u/manuel)
#### Post date: [9월 13, 2021, 8:14오전 UTC](https://meta.discourse.org/t/suppressed-category-included-in-digest/203304/2 "2021-09-13T08:14:18Z")

</div>

방금 요약 미리보기를 확인해 봤는데, 실제로 해당 카테고리가 여전히 포함되어 있습니다.

사실, 어떤 카테고리를 선택하든 억제 기능이 작동하지 않습니다.

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [9월 13, 2021, 9:58오후 UTC](https://meta.discourse.org/t/suppressed-category-included-in-digest/203304/3 "2021-09-13T21:58:57Z")

</div>

> [@manuel](#):
>
> 선택하는 카테고리에 상관없이 suppress(무시) 기능이 작동하지 않습니다.

네, 저도 로컬 개발 사이트에서 테스트해 보았으며 동일한 문제를 발견했습니다. 이 문제의 원인은 여기서 사용되는 로직에 있는 것 같습니다:

> <https://github.com/discourse/discourse/blob/main/app/models/topic.rb#L515>

해당 줄을 `topics = topics.where("topics.category_id NOT IN (?)", remove_category_ids)`로 변경하면 `digest_suppress_categories` 설정에 추가된 카테고리에 대한 문제는 해결되는 것 같습니다. 하지만 음소거(muted) 카테고리를 처리하는 로직을 추가해야 합니다. 아마 다음과 같은 방식으로 처리할 수 있을 것입니다:

```plaintext
topics = topics.where("topics.category_id NOT IN (?)", remove_category_ids).where("topic_users.notification_level != (?)", TopicUser.notification_levels[:muted])

```

---

<div class="post-metadata">

### Author: ![vinothkannans](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/vinothkannans/32/86465_2.png) [@vinothkannans](https://meta.discourse.org/u/vinothkannans)
#### Post date: [11월 2, 2021, 2:35오후 UTC](https://meta.discourse.org/t/suppressed-category-included-in-digest/203304/6 "2021-11-02T14:35:51Z")

</div>

> [@simon](#):
>
> `topics = topics.where("topic_users.notification_level != ? OR topics.category_id NOT IN (?)", TopicUser.notification_levels[:muted], remove_category_ids)`

문제는 해당 사용자가 이미 해당 토픽을 방문하여 해당 사용자의 `TopicUser` 모델 레코드가 생성되었기 때문이라고 생각합니다. 이 경우, 해당 토픽은 무음 설정이 해제되었는지 확인하는 위의 조건을 통과하게 됩니다. 따라서 아래 PR이 이 문제를 수정할 것입니다.

> <https://github.com/discourse/discourse/pull/14793>
>
> Previously, suppressed category topics are included in the digest emails if the …user visited that topic before, and the \`TopicUser\` record is created with any notification level except 'muted'.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [9월 16, 2023, 4:41오전 UTC](https://meta.discourse.org/t/suppressed-category-included-in-digest/203304/7 "2023-09-16T04:41:06Z")

</div>


