jericson
(Jon Ericson)
3월 7, 2023, 6:08오후
1
재현 방법
임시 사용자를 생성합니다. (플러스 트릭을 사용할 수 있다는 것을 잊지 마세요. 즉, username+whatever@gmail.com 형식입니다.)
임시 사용자에게 메시지를 보내세요. (이렇게 하면 우선순위가 높은 알림이 생성됩니다.)
개인 메시지에서 임시 사용자를 제거합니다. (제 맞춤법보다 더 잘 쓰시길 바랍니다.)
관리자인 경우, 임시 사용자를 impersonate(가장)하여 알림을 삭제해 보세요. (와하하!)
완화 조치
관리자는 메시지를 삭제하여 알림을 지울 수 있습니다. 문제는 해당 알림을 찾는 것입니다. 저는 이 쿼리를 사용하여 사용자 알림을 관리합니다:
-- [params]
-- int :user_id
SELECT *
from notifications
where user_id = :user_id
and high_priority
and not read
사용자가 URL을 가지고 있더라도 개인 메시지에 접근할 수 없으므로, 사용자가 스스로 알림을 삭제할 수 없다고 생각합니다.
가능한 해결책
누군가가 대화에서 제거될 때, 해당 사용자의 알림도 함께 제거하도록 합니다.
그럼 누군가를 삭제하면 그 사람에게 알림이 가는데, 그걸 없애면 알림이 안 가는 건가요?
pfaffman
(Jay Pfaffman)
3월 7, 2023, 6:12오후
3
사용자가 알림 메뉴의 닫기 버튼만 클릭하면 될까요?
jericson
(Jon Ericson)
3월 7, 2023, 6:15오후
4
아니, 정말. 그런 버튼이 있다는 걸 몰랐어요. 이제 있다는 걸 알았으니 알림이 잘 지워지네요.
아, 네. 이제 말씀하시는 게 뭔지 알겠네요.
jericson
(Jon Ericson)
3월 7, 2023, 8:49오후
6
개인적 의견이지만, 수신자가 더 이상 메시지를 볼 수 없다면 해당 알림은 삭제/지워져야 한다고 생각합니다. “닫기” 버튼이라는 안전장치가 있는 것은 좋지만, 알림이 계속 남아 있는 것은 사용자를 혼란스럽게 하는 것과 비슷합니다. 또한 이 버튼은 모든 알림을 한꺼번에 닫아 버리는데, 이것이 사용자의 의도와 맞지 않을 수 있습니다. (물론 공평하게 말하자면, 대부분의 사용자는 다른 알림을 정상적인 방법으로 모두 지운 후에야 이 문제를 알게 될 것입니다.)
Canapin
(Coin-coin le Canapin)
3월 8, 2023, 3:36오후
7
Jon, 정말 작은 불편함이라 쉽게 제거할 수 있지만, 재현을 하지 못했어요:
사용자 메뉴 안의 알림도 PM을 클릭하는 즉시 제거됩니다. (해당 계정에 접근 권한이 없어 “Oops! That page doesn’t exist or is private.” 페이지로 이동합니다.)
재현 단계를 놓친 부분이 있을까요?
jericson
(Jon Ericson)
3월 8, 2023, 5:44오후
8
프로덕션 시스템에서 모더레이터와 함께 테스트해 보았는데, “Oops! That page doesn’t exist or is private.” 페이지가 알림을 지우지 않았습니다. 하지만 우리의 프로덕션 시스템은 여전히 2.9.0.beta14를 사용 중입니다. 방금 제 Discourse 서버(3.1.0.beta2)에서 그 테스트를 해 보니, 수신자가 해당 URL을 시도할 때 알림이 사라지는 것을 확인했습니다. 그래서 문제의 그 부분은 이미 수정되었을 수도 있겠네요?
하지만 , 수신자가 PM 스레드에서 제거된 후 메시지를 볼 수 있는 방법을 찾지 못했습니다. 수신자에게 URL을 밴드아웃(외부 채널)으로 전달할 수는 있지만, 실제 상황에서 그런 일은 일어나기 어렵습니다. 대신, 수신자는 URL은 물론 누가 메시지를 보냈는지도 알 수 없는 알림만 받게 됩니다. PM 접근이 불가능한 새 계정의 알림에 대한 스크린샷은 다음과 같습니다:
이것은 3.1.0.beta2에서 촬영한 것입니다. 임시 사용자 뷰를 다른 창에 열어 두었다면 추가된 알림을 볼 수 있습니다. 하지만 사용자가 제거된 후에는 선택할 항목이 없습니다.
더미(Dummy) 사용자 뷰의 비디오나 스크린샷 어디에도 "A test pm"을 볼 수 없습니다. 완전히 새로운 더미 사용자를 사용하는 것이 디버깅을 훨씬 더 단순하게 만드는 것을 발견했습니다.
Canapin
(Coin-coin le Canapin)
3월 8, 2023, 5:55오후
9
현재 레거시(구버전) 알림 메뉴를 사용 중이며, 이는 아바타 메뉴의 알림과도 연결되어 있습니다.
레거시 알림 메뉴에서 해당 문제를 재현해 볼 수 있습니다.
알림 기능이 실제로 재구성되었으며, 레거시 알림 메뉴는 향후 지원이 중단되고 제거될 예정입니다.
내비게이션 메뉴 설정을 “사이드바” 또는 "헤더 드롭다운"으로 변경하시길 권장합니다.
어제 이 같은 버그 를 보고했습니다(이 주제를 찾지 못했습니다). Legacy 메뉴 탐색과 관련이 있어 보이며, 2.8의 최신 버전에서도 이미 존재하고 있었습니다.
‘모두 무시’ 버튼은 해당 알림이 유일한 알림인 경우 작동하지 않는 것 같습니다. 그 경우 버튼이 비활성화되거든요. 알림이 여러 개일 때는 작동할 수 있겠지만, 그럴 경우 관련이 있을 수 있는 내용까지 무시하게 됩니다.
현재 상태로는 사용자들이 혼란을 겪거나/또는 좌절하게 됩니다. 불평하는 소수의 사용자에게는 버튼을 사용하라고 말해줄 수 있지만, 이는 일부 경우에만 작동합니다. 이 문제를 #contribute:bug으로 이동하는 것이 더 나은 것 아닙니까?
Canapin
(Coin-coin le Canapin)
3월 9, 2023, 3:16오후
11
#contribute:bug에서 유사한 동작에 대한 새 토픽이 열렸으며, 해당 동작에 대해 더 자세한 설명이 포함되어 있습니다:
There’s a scenario where a user has messages notifications that they can’t possibly mark as read. This only happens when the forum uses the Legacy menu navigation.
Steps to reproduce:
set navigation menu set to: Legacy
user A sends private message to user B
user A removes B from the topic
user B gets notification about a new message
user B tries to read the message: fails, as expected (no access to the topic)
user B continues to have a notification (green circle) about a message they can’t re…
따라서 이 토픽은 해결된 것으로 표시하고 다른 토픽을 우선시하여 닫겠습니다. 사소한 문제이지만, 여러 번 보고되었기 때문에 #contribute:bug에 있는 것이 더 적절해 보입니다.