런타임 오류 로그인 버그

로그인(이메일과 비밀번호를 사용한 로컬 로그인)이 다음 런타임 오류로 인해 응답하지 않습니다:

**publickeycredential is not defined.**
passkeyConditionalLogin
installModifier
install
untrack
install

로그인 버튼을 클릭할 때마다 콘솔에 해당 메시지가 나타납니다.

환경: 초대 전용, 로그인 전용 시스템. 관리자 계정으로 로그인 시도 중입니다. 이메일에 포함된 일회용 세션 링크를 사용하는 것 외에는 로그인할 수 있는 방법이 없습니다.

리포트 감사합니다. 확인해 보겠습니다. 어떤 브라우저에서 이런 현상이 발생합니까?

1개의 좋아요

Firefox (Tor). 문제를 해결해 주신다면 정말 감사하겠습니다!
재현을 위한 설정을 다시 설명하자면: 가입된 사용자만, 그리고 초대만으로 접근 가능합니다.

Firefox(Chrome는 아님)에서도 오류를 확인할 수 있습니다:

1개의 좋아요

미치겠는 줄 알았어요! 제 경우엔 PublicKeyCredential is not defined 오류가 뜨더라고요. 혹시 여러분도 초대와 로그인만 가능한 상태인가요?

새로운 소식 있나요? 제게는 정말 심각한 상황이에요.

곧 수정 사항이 병합될 예정입니다 :+1:

2개의 좋아요

아니, 고맙다! 이 문제를 고쳐주고 있는 여러분 모두에게 감사하다. 그러면 rebuild를 실행하면 정상적으로 해결되는 거지? 아니면 discourse-setup이 저장소에서 직접 가져오기도 하는 건가? 또한 기본 onion 템플릿에 오류가 있는 것 같다. onion 링크가 클리어넷 페이지로 리디렉션되고, 몇 가지 오류 때문에 doctor 스크립트를 실행해야 한다. 나머지 요청은 여전히 클리어넷을 통해 처리되므로 nginx에서 리디렉션을 수동으로 끄는 건 의미가 없다고 생각한다.

커밋해줘서 고마워. 보통 언제쯤 머지되?

재구축으로 인한 다운타임을 더 늘리지 않도록, 해당 몇 줄을 직접 추가하는 것이 기술적으로 가능한가요? 해당 앱 디렉터리는 어디에 있나요? 그리고 런처 재시작만으로 충분한가요?

곧 올 겁니다. 방금 수정 사항에 대한 변경을 푸시했는데, 패스키의 조건부 UI가 브라우저마다 지원 수준이 달라서 까다롭습니다.

기능이 지원되는지 확인하는 API가 있으며, 여기에서 설명되어 있습니다: PublicKeyCredential: isConditionalMediationAvailable() static method - Web APIs | MDN 하지만 isConditionalMediationAvailable() 호출은 브라우저에 따라 동작이 다릅니다.

Firefox에서는 완전히 지원되지 않습니다. iOS의 Safari에서는 기능이 지원되지만 isConditionalMediationAvailable()을 호출하면 false가 반환됩니다… 그래서 Firefox를 위한 기능 검사를 코드에 추가해야 했습니다.

테스트가 통과되면 변경 사항을 병합할 예정이며, 그 후 약 1시간 내에 사용 가능할 것입니다.

3개의 좋아요

네, 두 번째 커밋을 봤어요. 지금 로컬에서 변경 사항들을 적용하고 있어서 재빌드하지 않고 컨테이너만 재시작할 거예요. 이렇게 하면 될까요? 혹시 로컬에서 수동으로 작업하신 건가요?

변경 사항을 추가하고 컨테이너를 다시 시작했지만 여전히 작동하지 않습니다. 여전히 Publickeycredentials is not defined 오류가 발생합니다.

방금 PR을 병합했습니다. tests-passed에 반영되면 다시 빌드하면 문제가 해결될 것입니다. 저는 로컬에서 macOS의 TOR와 Firefox를 사용해서 테스트했습니다.

https://github.com/discourse/discourse/tree/tests-passed를 계속 지켜보세요. 해당 커밋이 표시되면 다시 빌드할 수 있습니다.

2개의 좋아요

재빌드가 필요한가요? 로컬에서 파일을 수정한 후 launcher restart를 실행하면 왜 작동하지 않나요? 방금 정확히 그렇게 했는데 말이죠.

변경 사항이 소스 파일에 적용되었으므로, 에셋을 다시 빌드해야 합니다.

이 업데이트가 공식적으로 배포되기까지 얼마나 걸릴까요? 제 안드로이드 앱에서 그 오류가 표시되고 있습니다.

수정이 이제 병합되었고, meta.discourse.org에 배포된 것을 확인했습니다. Android 기기에서 이 문제를 재현해 볼 수 있을까요? 재현된다면 브라우저 버전을 공유해 주세요. 감사합니다.

1개의 좋아요