미디어위키토론:Gadget-PluginX.js

리버티게임, 모두가 만들어가는 자유로운 게임
BANIP (토론 | 기여)님의 2023년 9월 4일 (월) 10:18 판

비로그인 사용자 플러그인 실행 불가 문제

상태:    완료
문제
비로그인 상태에서 실행하기 버튼을 눌렀을 때 콘솔 상에서 jQuery의 MutationObserver 오류가 뜨면서 페이지에 아무런 반응이 없는 문제가 있음. --hsl(토론, 기여, 게임, 메일) 2021년 6월 13일 (일) 23:58 (KST)답변[답변]
원인
MutationObserver 오류는 마법의 MD-5 시뮬레이터 게임의 오류이나, PluginX에서 원래 문서 내용을 설치 알림 메시지로 덮어씌운 뒤, 이를 복구하지 않고 플러그인을 실행하였기에 발생하였음. --hsl(토론, 기여, 게임, 메일) 2021년 6월 21일 (월) 14:23 (KST)답변[답변]
처리
  • r269951: 설치 알림 메시지가 뜰 때 플러그인을 실행시키면 이전 내용을 복구하는 코드 추가

추정
MutationObserver 오류는 마법의 MD-5 시뮬레이터 게임의 오류이나, PluginX에서 원래 문서 내용을 설치 알림 메시지로 덮어씌운 뒤, 이를 복구하지 않고 플러그인을 실행하였기에 발생하였음. --hsl(토론, 기여, 게임, 메일) 2021년 6월 21일 (월) 14:23 (KST)답변[답변]
제안
54줄과 55줄 사이에 다음 내용을 삽입해 주세요.
if(html_before) document.getElementById('mw-content-text').innerHTML = html_before;
--hsl(토론, 기여, 게임, 메일) 2021년 6월 21일 (월) 14:23 (KST)답변[답변]

alert 신뢰 수준을 임시로 추가했는데 정식으로 추가할 필요가 있습니다

컬러닷지에서 어제 오류가 발생했는데, 원인을 추적한 결과 {{PluginX}}에서 msgnw 매직 워드가 추가되어 ES5를 사용한 다른 게임과 달리 ES6을 사용하는 컬러닷지의 스크립트 해시값이 달라졌고 그 상황에서 제작자 이외의 유저의 편집이 일어난 경우 LocalStorage에 저장된 데이터를 기반으로 신뢰성을 검증하는 로직에서 상정한 상황 이외의 상태가 되어 신뢰 가능한 편집임에도 신뢰 불가능한 문제가 있었습니다. 그래서 일단 safe와 danger 중간 단계인 alert를 임시로 만들어 편집자가 다른 경우는 처음에는 거부 버튼만 뜨다가 5초 뒤에 허용 버튼이 나타나도록 임시로 가젯을 수정했는데, 앞으로도 메타데이터 등의 변화로 인해 스크립트 해시가 변경되면서 이런 상황이 또 발생할 수 있기에 alert를 정식으로 추가하도록 정하는 것이 어떨까요? alert 상황에서는 사용자가 몇 초 기다리거나 다시 보지 않기 체크박스를 풀어야 허용 버튼이 나타나도록 하면 될 것 같습니다. --Senouis(토론장, 기여) 2023년 9월 3일 (일) 16:41 (KST)답변[답변]

Symbol wtf vote.svg설리 그리고 다른 상황 중 문서 리비전 변경 없이 스크립트 해시가 달라진 경우는 PluginX 시스템 자체의 문제일 수도 있겠다는 생각이 들어 danger 유지 + 안내문에 'PluginX 자체에 문제가 발생했을 가능성이 크다'는 점을 추가로 명시했습니다. --Senouis(토론장, 기여) 2023년 9월 3일 (일) 17:22 (KST)답변[답변]
Symbol support vote.svg찬성 괜찮은 아이디어입니다. 대신 중간단계의 로그 레벨의 명칭은 alert대신 warning이 괜찮을 것 같습니다. ---BANIP (토론) 2023년 9월 4일 (월) 10:17 (KST)답변[답변]