nomomo/Twitch-Auto-Max-Quality

설정 창이 안 열리는 버그

Closed this issue · 7 comments

bug

스크린샷과 같이 설정 창 여는 메뉴가 아예 사라지고 안 보이는 버그가 생겼습니다.

첫 설치 땐 잘 됐는데 그 이후부터 이러네요. 삭제 후 재설치해도 메뉴가 안 생깁니다.

메뉴가 안 열림은 물론, 비활성화 탭에서 화질 고정이나 최고화질 설정 같은 기능들이 작동이 안 됩니다.

Tampermonkey 사용중이고, 혹시 몰라 Violentmonkey로 테스트 해봤는데 설정 창은 잘 열리나 트위치 홈페이지 무한 로딩이 걸려서 사용할 수 없었습니다.

혹시 도움 가능할까요?

  1. Tampermonkey 대시보드 - Twitch-Auto-Max-Quality 클릭 - Storage 로 들어갑니다.
  2. "DEBUG": false 로 되어있는 부분을 찾아, false 를 true 로 바꾸고 Save 버튼을 누릅니다.
    image
  3. twitch.tv 접속 후, F12 키를 눌러 브라우저 개발자 도구를 연 후, 콘솔(Console) 탭을 엽니다.
  4. 새로고침 후 Console 탭에 뜨는 메시지를 전부 캡쳐해서 업로드 해주시면 문제를 확인해보겠습니다.
    image

FireShot Capture 326 - Twitch-Auto-Max-Quality - dhdgffkkebhmkfjojejmpbldmpobfkfo
Storage 탭이 보이지 않네요 ㅠ_ㅠ 번거롭게 해드려 죄송합니다

실행됐을때
실행안됐을때

혹시 몰라서 에디터 탭에서 아래 보이는 디버그를 true로 하고 f12 console에서 스샷을 찍어보았습니다.
위는 우연히 새로고침을 하다가 한번 스크립트가 실행되었을 때이고, 아래는 평소처럼 스크립트가 실행이 안 된 경우입니다.

확인 감사합니다.
Storage 메뉴는 Tampermonkey 대시보드 - Settings 에서 Config mode 를 Advanced 로 바꾸니 나오네요.
지금 해주신 것처럼 해도 괜찮습니다.

일단 제 환경에서 문제 재현은 안 됩니다만, 문제되는 것으로 보이는 부분을 에러처리 해봤습니다.
아래 링크에서 개발 버전을 설치한 후, 문제가 해결되었는지 확인해주세요~
https://github.com/nomomo/Twitch-Auto-Max-Quality/raw/dev/Twitch-Auto-Max-Quality.user.js

만약 정상 동작이 안 된다면 Debug 를 다시 true 로 설정 후, Console 창의 메시지가 달라졌을텐데 캡쳐하여 첨부 부탁드립니다.

개발 버전의 경우 Violentmonkey 에서 오류 발생하지 않도록 수정했으니, 문제 없이 작동하는지 확인해주시면 좋을 것 같습니다.

감사합니다! 현재 플러그인 삭제 후 재설치를 통해서 tampermonkey와 violentmonkey 둘 다 테스트 해봤는데,

  • tampermonkey 쪽에서는 스크립트가 정상 작동 됐다가 안됐다가 하는 것 같습니다. 새로고침 / 다른 스트리머 방송 넘어가기 / 크롬 종료 후 트위치 재접속 등으로 테스트를 진행해봤는데. 새로고침 10번중에 7-8번은 "[TAMQ] RUNNING TWITCH AUTO MAX QUALITY" 가 나오고(정상 작동), 2-3번은 "Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'createElement')" 가 나옵니다.

  • violentmonkey 에서는 트위치 로딩도 잘 되고 스크립트도 정상 작동 되는 것 같습니다. (여러 번 새로고침 테스트를 해봐도 정상적으로 스크립트가 작동되었습니다.)

tampermonkey쪽 console 창을 다시 한번 첨부하겠습니다. 도움 감사합니다.
콘솔창 2

확인 감사합니다. 일단 현재까지의 수정 사항은 정식 버전(master 브랜치)에 반영했습니다.

문제는

  1. Script 에서 jQuery 라는 library 를 사용하고 있는데 이와 관련된 문제 같기도 하고,
  2. 이유는 모르겠지만 Script 가 너무 빨리 실행(inject) 되기 때문인 것 같기도 합니다. 실제로 이런 경우는 아직 본적이 없습니다만... 운 좋게(?) 너무 빨리 실행되어 document 가 정의되기 전(undefined) 상태이면 문제가 생길 수도 있습니다.
  3. 이것도 저것도 아니면 다른 스크립트와의 충돌이나 광고 차단 확장기능 때문에 오류가 생길 수도 있습니다.

Violentmonkey 를 사용하시는 것에 따로 문제가 없으시면 Violentmonkey 에 설치하여 사용하시면 될 것 같습니다.

만약 Tampermonkey 를 사용하길 원하시는 경우, jQuery library 의 버전을 업데이트 했으니, 아래 링크에서 업데이트 후 테스트 해보시면 좋을 듯합니다.
https://raw.githubusercontent.com/nomomo/Twitch-Auto-Max-Quality/master/Twitch-Auto-Max-Quality.user.js

위 스크립트를 설치하여도 여전히 문제가 있는 경우, 아래 그림을 참고하여 실행 시점을 'document-body', 'document-end' or 'document-idle' 로 바꾸면 스크립트 실행되는 타이밍이 늦어져 문제가 해결될 수 있습니다. 위에서 아래로 내려갈 수록 스크립트가 실행되는 시점이 늦어집니다. 참고로 기본으로는 가능한한 빨리 실행되도록 실행 시점이 'document-start' 로 설정되어 있습니다.
image