joonas-yoon / boj-extended

백준 온라인 저지(BOJ)를 확장된 기능과 함께 사용해보세요. 기능 요청과 버그 제보는 언제나 환영합니다.
https://chrome.google.com/webstore/detail/boj-extended/mfcaadoifdifdnigjmfbekjbhehibfel
MIT License
117 stars 18 forks source link

Firefox 109.0 부터 Manifest V3 지원 #136

Open BamgoeSN opened 1 year ago

BamgoeSN commented 1 year ago

https://www.mozilla.org/en-US/firefox/109.0/releasenotes/

작년 11월부터 Firefox nightly에서 Manifest v3 지원을 시작했고, 최신 업데이트인 109.0 버전부터 stable에서도 디폴트로 지원을 시작한 것 같습니다.

확인해주시고 Firefox 버전 업데이트를 재개하는 걸 검토해주시면 감사하겠습니다.

joonas-yoon commented 1 year ago

넵, 확인해보겠습니다.

papertoy1127 commented 3 months ago

Firefox 지원 건은 어떻게 되고 있는지 궁금합니다. Rigel 테마 쓰고 싶어요 ㅜㅜ...

joonas-yoon commented 3 months ago

@papertoy1127 안녕하세요. 현재 상황이 조금 어처구니가 없는지라 설명을 남기고자합니다 :/

Firefox add-ons에 등록했던 Mozila 계정에 제가 로그인을 못하고 있습니다..;

Google 계정으로 로그인 후 OTP 인증 스텝으로 넘어가는데, 연결했던 OTP(Google OTP) 번호를 입력해도 일치하지 않다고 하네요. 작년에도 여기서 막혀서 어떻게 해야하지 하다가 해결을 못 했네요..

Mozila 계정을 만든 게 2021년인데, 가입 당시 OTP 앱을 처음으로 설치한 기억이 있고 그 때의 기기는 지금은 없습니다 :(

공식 가이드 문서를 확인해봤는데, 다른 이메일로 새 계정을 만드는 방법 밖에는 없다고 합니다.

https://support.mozilla.org/ko/kb/what-if-im-locked-out-two-step-authentication

2단계 인증 기기를 잃어버렸고, 백업 인증 코드를 찾을 수 없으며, 로그인한 기기도 갖고 있지 않습니다

안타깝게도, 2단계 인증의 비활성화는 지원하지 않으며, 기존 동기화 데이터에도 접근할 수 없습니다. 하지만, 다른 이메일로 새 계정을 만들어 다시 동기화를 시작할 수 있습니다.

Firefox extension은 유저 비율이 (2024년 6월 기준) 1% 미만으로 꽤 낮은 편에 속하는 데에 반해, add-ons에 업로드하는 과정이 쉽지 않아서 배포에 어려운 게 사실입니다. (https://addons.mozilla.org/en-US/firefox/addon/boj-extended/)

사파리 브라우저와 비슷하게 zip 파일로부터 직접 설치하는 방법이 있었던 것으로 기억하는데, 저도 Firefox를 사용한 지 오래되어서 지금도 되는지는 확인이 필요해보입니다 :( 아래 레딧은 2021년 기준이지만 도움이 되면 좋겠습니다.

https://www.reddit.com/r/firefox/comments/oqcm2v/how_to_install_chrome_extensions_on_firefox_in/?rdt=39807

papertoy1127 commented 3 months ago

사실 어제부터 여러 방법으로 시도 중이었습니다.

그럼에도 불구하고 아래 두 에러 때문에 정상적으로 사용할 수 없게 되네요 Uncaught TypeError: this.getKey is not a function (config.js:26:38) Uncaught (in promise) Error: Could not establish connection. Receiving end does not exist. (config.js:15:20)

제가 확장 개발에는 별로 조예가 깊지 않아 이걸 직접 해결하기는 어려울 것 같습니다. 추측컨대 Firefox에서의 Manifest V3 지원이 완벽하지 않거나 JS 문법적 차이가 있나.. 하는 생각이 드는데, JS 쪽도 별로 아는 게 없어서...

하여간 당장은 그래서 포기하고 1.7.5.1 버전을 쓰기로 했습니다. 답변해주셔서 감사합니다!

papertoy1127 commented 3 months ago

Firefox에서 작동하지 않던 이유는 importScript를 지원하지 않아서인 것 같네요. Firefox는 여전히 "service_worker" 대신 "scripts"를 사용하는데, 여기에 "scripts": ["js/constants.js", "js/background.js"]와 같이 추가해주니 작동하는 것 같습니다.

joonas-yoon commented 3 months ago

Firefox에서 작동하지 않던 이유는 importScript를 지원하지 않아서인 것 같네요. Firefox는 여전히 "service_worker" 대신 "scripts"를 사용하는데, 여기에 "scripts": ["js/constants.js", "js/background.js"]와 같이 추가해주니 작동하는 것 같습니다.

헉.. 그렇군요. Manifest V3 작업하면서 해당 부분을 제거했었는데, 그 부분은 V2 호환성 생각해서 다시 추가하도록 하겠습니다.

저는 Storage API 가 브라우저마다 달라서 그 부분 작업했던 코드를 의심하고 있었는데, 도움 주셔서 감사합니다.

joonas-yoon commented 2 months ago

@papertoy1127 안녕하세요, 혹시 수정하신 scripts 부분이 아래처럼을 말씀하시는 게 맞나요?

https://github.com/joonas-yoon/boj-extended/commit/8aa1ef179fa6961ff7a32ccfcf0901e69c8ec389#diff-ffa5b716b5a57837f7929dfcca4b4dfdeb97210a7fd5a12d2f1978846d6f1743L6-L8