Discourse의 최신 릴리스로 업데이트한 후, 일부 사용자는 30분에서 1시간 간격으로 이메일을 받기 시작했습니다:
사용자 설정을 살펴본 결과, 이메일 알림 간격이 30분 또는 1시간으로 변경된 것으로 보입니다. 적어도 한 명의 사용자는 본인이 이 변경 사항을 직접 수행하지 않았다고 확신합니다. 모든 사용자에게서 이러한 변경이 일어난 것은 아닙니다. 여기에 무슨 일이 일어나고 있는지 아는 분이 계신가요?
Discourse 버전: 3.3.0.beta3-dev
4개의 좋아요
내 사용자 중 두 명에게서 발생했습니다(적어도 불만을 제기한 사람은 그 정도였습니다).
pfaffman
(Jay Pfaffman)
5월 26, 2024, 11:01오후
4
몇 주 전부터 사용자들이 매우 오래된 게시물에 대한 다이제스트를 받는다는 불만이 제기되었습니다. 마지막 릴리스 직후에 업데이트를 진행한 것이 문제를 해결한 것 같습니다.
정확한 커밋을 공유해 주시면 도움이 될 수 있습니다.
2개의 좋아요
최근 이메일을 받은 사용자들을 확인해 보았는데, 같은 문제를 발견했습니다. 설정이 시간 단위로 업데이트된 사용자가 두 명이었어요. 꽤 활발하게 활동하는 두 사용자였던 것 같았죠?
@pfaffman 현재 제가 있는 커밋은 581dbca97f 입니다.
1개의 좋아요
그들은 가장 활동적인 사용자들은 아니었고, 둘밖에 없었으니 설정을 만졌을 거라고 생각했습니다.
이후 3.3.0.beta3-dev(0e9451e93f )로 업데이트했는데, 불평을 한 사람은 없었습니다. 이전 버전이 무엇이었는지는 정확히 모르겠습니다.
1개의 좋아요
HAWK
(Hawk)
5월 27, 2024, 2:52오전
7
네, 지난주쯤에 버그가 생겼다가 지금은 수정된 것 같다는 기억이 나네요.
아, 맞아요.
main ← fix-activity-summaries
merged 08:23AM - 22 May 24 UTC
instead of "last emailed" so that people getting email notifications (from a wat… ched topic for example) also get the activity summaries.
Context - https://meta.discourse.org/t/activity-summary-not-sent-if-other-emails-are-sent/293040
Internal Ref - t/125582
Improvement over https://github.com/discourse/discourse/commit/95885645d92cc84e69cb9ecffeaec8f69fe8d286
6개의 좋아요
흥미롭네요! 제 해석으로는, 해당 사용자들은 사실상 시간별 이메일 알림이 활성화되어 있었지만, 이전 설정상 공유할 새 콘텐츠가 있을 때만 다이제스트를 받도록 되어 있었던 것 같습니다.
이 변경 사항으로 인해, 이제 포럼의 콘텐츠에 변화가 없어도 다이제스트 주기에 따라 이메일을 받게 되며, 사이트에 방문하면 이메일 수신은 중단됩니다. 예를 들어, 시간별 다이제스트를 설정한 상태에서 밤새 새 게시글이 작성되면, 사용자가 일어나서 알림을 확인하기까지 1시간마다 이메일을 받게 됩니다.
이 부분에 대해서는 확신이 서지 않지만, 분명히 논리적입니다! 예를 들어 주간 다이제스트만 받는 경우라면 훨씬 더 합리적으로 느껴질 것입니다. 이 기능을 설정할 수 있으면 좋겠습니다. 저희 사이트의 경우, 가능하다면 중복되는 이메일 알림을 줄이는 것이 가장 이상적일 것입니다.
1개의 좋아요
확인해볼게요
사용자가 선택한 <주입 주기> 동안 새로운 내용이 없다면, 아무리 "30분마다"나 “1시간마다” 같은 터무니없는 주기라 할지라도 이메일 요약을 보내서는 안 됩니다.
3개의 좋아요
pfaffman
(Jay Pfaffman)
5월 27, 2024, 10:12오전
13
사람들이 이메일을 통해서만 디스커스를 사용하는 사이트의 경우, 로그인하지 않아서 본 적 없는 2년 전 메시지에 대해 알고 싶어 하지 않기 때문에 상황이 복잡합니다. 따라서 이들에게는 메시지가 이메일로 전송된 경우(또는 다이제스트로 발송된 경우?)에만 "읽음"으로 처리되어야 합니다.
1개의 좋아요
강조는 제가 붙인 것입니다. 그리고 네, 이메일로만 Discourse를 사용하는 사용자의 경우, 마지막으로 다이제스트를 보낸 시점을 기준으로 삼아야 합니다.
1개의 좋아요
사실 이메일 요약 내용을 계산하는 데 사용했던 "window"를 계산하는 방식에 문제가 있었습니다.
아래 링크에서 수정될 예정입니다.
main ← fix-digest-since
merged 08:33PM - 27 May 24 UTC
In https://github.com/discourse/discourse/commit/958437e7ddce6e015725522d25c3f83… 27ff4064a we ensured that the email summaries are properly sent based on 'digest_attempted_at' for people who barely/never visit the forum.
This fixed the "frequency" of the email summaries but introduced a bug where the digest would be sent even though there wasn't anything new since for some users.
The logic we use to compute the threshold date for the content to be included in the digest was
```ruby
@since = opts[:since] || user.last_seen_at || user.user_stat&.digest_attempted_at || 1.month.ago
```
It was working as expected for users who were never seen but for users who had connected at least once, we would use their "last_seen_at" date as the "threshold date" for the content to be sent in a summary 😬
This fix changes the logic to be the most recent date amongst the `last_seen_at`, `digest_attempted_at` and `1.month.ago` so it's correctly handling cases where
- user has never been seen nor emailed a summary (capped at 1 month)
- user has been seen in a while but has recently been sent a summary
- user has been sent a summary recently but hasn't been seen in a while
Context - https://meta.discourse.org/t/some-user-profiles-now-email-summaries-every-30-minutes-after-update/309485
8개의 좋아요
sam
(Sam Saffron)
에 닫힘
6월 2, 2024, 10:00오후
17
이 주제는 5일 후 자동으로 닫혔습니다. 새로운 답글은 더 이상 허용되지 않습니다.