nathank
(Nathan Kershaw)
5월 9, 2025, 1:47오전
1
로그인 상태, 비로그인 상태, 신규 사용자 등 다양한 상황에서 적용할 수 있도록, 사용자를 여러 그룹에 추가하고 특정 토픽으로 유도하는 복잡한 초대 기능을 구현하던 중 이 버그를 발견했습니다.
재현 방법:
테스트 사용자가 이미 접근할 수 있는 토픽으로 이동하도록 초대를 생성합니다.
초대 대상에 그룹을 추가합니다(해당 사용자가 아직 소속되어 있지 않은 그룹).
테스트 사용자 계정으로 로그인합니다.
해당 사용자로 초대 링크를 방문합니다.
결과: 테스트 사용자가 그룹에 추가되지 않습니다(추가되어야 합니다).
만약 사용자가 해당 토픽에 이미 접근 권한이 없거나(또는 신규 사용자라면), 그룹에 문제없이 추가됩니다.
6개의 좋아요
hugh
(Hugh Lashbrooke)
5월 9, 2025, 5:32오전
2
이 문제를 보고해 주셔서 감사합니다! 흥미로운 문제네요 - 최대한 빨리 조사해서 수정하겠습니다
2개의 좋아요
Moin
5월 9, 2025, 10:10오전
3
기존 사용자를 그룹에 초대하는 것에 관한 최근 다른 주제들을 떠올리게 합니다:
사용자-테스터(user-testers) 그룹에 대한 초대 링크가 더 이상 작동하지 않는다는 보고도 관련이 있을 수 있습니다: Join the Discourse User Testing Community - #29 by jordan-violet
2개의 좋아요
nathank
(Nathan Kershaw)
5월 9, 2025, 10:25오전
4
동의합니다. 다만, 제가 문제를 좀 더 구체적으로 파악한 것 같습니다. 이 기능이 예전에는 정상적으로 작동했으므로, 이는 회귀(regression)로 보입니다. 아마도 다른 스레드에서 언급된 수정 사항이 적용된 시점에 문제가 발생했을 가능성이 높습니다.
이 모든 문제를 하나의 이슈로 통합하는 것이 적절할 것입니다.
개인적으로 이 부분은 매우 타당한 사용 사례라고 생각합니다. 사용자가 사이트에 이미 가입되어 있든 아니든 상관없이, 하나의 간결한 프로세스만으로 온보딩을 처리할 수 있게 해주기 때문입니다. 그렇지 않으면 기존 사용자와 신규 사용자를 위한 두 개의 병행(관리하기가 어려운) 프로세스가 필요합니다.
7개의 좋아요
pento
(Gary)
5월 16, 2025, 6:46오전
6
버그 보고해 주셔서 감사합니다, @nathank !
해당 문제에 대한 수정 사항을 방금 병합했습니다:
main ← pento/fix-invite-existing-user-to-group-with-redirect
merged 06:42AM - 16 May 25 UTC
## ✨ What's This?
This is a tweak to the change in #31301.
That change all… owed existing users to be redirected to a topic that they already have access to by bypassing the invite acceptance step, and simply redirecting them there. Since some invites also add the invited user to one or more groups as well, this was causing the group adding step to be skipped in existing workflows.
This change addresses the issue by checking to see if the user would be added to any groups before redirecting. To avoid introducing a CSRF issue, it works by forcing the user through the normal invite acceptance flow, ensure there's user interaction before being added to any groups.
This change also tweaks the behaviour of #31301 to not follow redirects of expired invitations.
## 👑 Testing
### Basic functionality
1. Create a test user.
2. Create an invite that lands on a topic that the test user can access already.
3. Add a group to the invite (which the test user isn’t currently a member of).
4. Login as the test user.
5. Visit the invite link with that user.
### Variations
1. Add the test user to the group before they visit the link.
2. Add multiple groups to the invite, of which the test user is a member of some, or all.
이 수정 사항이 문제를 해결해 주는지, 또는 다른 문제가 발생하는지 알려주세요!
4개의 좋아요
nathank
(Nathan Kershaw)
5월 19, 2025, 9:58오전
7
문제를 완벽하게 파악하신 것 같습니다! 이 이슈를 fixed 태그를 붙여도 될 것 같아요.
현재 초대장이 대상인 이벤트에서는 더 단순한 워크플로를 사용해야 했지만, 곧 이 방법을 제대로 시도해 볼 수 있기를 기대합니다.
4개의 좋아요
@Gassim 과 @UnicornX 에게도 이 문제가 그들의 사용 사례에서 해결되었는지 확인을 요청하고 해당 주제들도 마무리하는 것이 좋을 것 같습니다.
Join the Discourse User Testing Community 의 초대에서 ‘초대 기한 만료’ 메시지가 표시되고 있습니다. 초대 사용 기한이 연장되면 다시 작동할 것 같다는 점에서 이는 긍정적인 신호입니다. (물론 제가 예전에 이미 사용하고 잊어버렸기 때문일 수도 있습니다 )
4개의 좋아요
gassim
(Al-Gassim Sharaf Addin)
5월 19, 2025, 1:51오후
9
JammyDodger, moin, nathank, pento님 감사합니다! 이것은 제가 초대 링크가 존재하지 않는 사용자만 작동하고 현재 구현 방식을 깨뜨리는 문제 게시글에서 정확히 요청했던 내용입니다.
Pento님, 수정해 주셔서 감사합니다 …
이것이 영구적인 수정인지 기대해 봅니다. (cc: @lindsey , @pmusaraj .)
감사합니다!
4개의 좋아요
pento
(Gary)
5월 20, 2025, 1:26오전
10
해당 부분을 지적해 주셔서 감사합니다. 만료 날짜가 없는 새로운 링크를 생성했습니다.
4개의 좋아요
pento
(Gary)
에 닫힘
5월 23, 2025, 7:00오전
11
이 주제는 7일 후 자동으로 닫혔습니다. 더 이상 새 답변을 작성할 수 없습니다.