boj-extended icon indicating copy to clipboard operation
boj-extended copied to clipboard

Firefox 109.0 부터 Manifest V3 지원

Open BamgoeSN opened this issue 2 years ago • 7 comments

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

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

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

BamgoeSN avatar Jan 30 '23 10:01 BamgoeSN

넵, 확인해보겠습니다.

joonas-yoon avatar Jan 30 '23 11:01 joonas-yoon

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

papertoy1127 avatar Jun 22 '24 01:06 papertoy1127

@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

joonas-yoon avatar Jun 22 '24 22:06 joonas-yoon

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

  • background.service_worker를 background.scripts로 바꾸기
  • browser_specific_settings.gecko.id에 addon id를 추가해주기
  • firefox 계정 만들어서 직접 signing 하기

그럼에도 불구하고 아래 두 에러 때문에 정상적으로 사용할 수 없게 되네요 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 avatar Jun 23 '24 04:06 papertoy1127

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

papertoy1127 avatar Jun 29 '24 10:06 papertoy1127

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

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

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

joonas-yoon avatar Jun 30 '24 03:06 joonas-yoon

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

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

joonas-yoon avatar Jul 07 '24 06:07 joonas-yoon