[Zotero 확장 프로그램 +] macOS에서 Firefox v116, Discourse가 깨졌나요?

오늘 아침 macOS에서 Firefox 버전을 116.0.3 (64-bit)으로 업그레이드했습니다. 이제 제가 활동 중인 모든 Discourse 설치 환경(20개 이상의 시스템)에서 New, Unread, Unseen 목록 중 어디에서든 G-J 단축키를 사용하면 멈추는 문제가 발생합니다. 진행 바가 시작은 하지만 75% 또는 80% 정도에서 멈추고 끝까지 진행되지 않습니다. 애드블로커(Ghostery와 uBlock Origin)가 활성화되어 있든 비활성화되어 있든 상관없이 진행 바가 완료되지 않고 게시글도 표시되지 않습니다.

iOS에서 Discourse 허브 앱을 사용하면 정상 작동하며, macOS에서 (업데이트된) Firefox로 방문하는 다른 모든 웹사이트도 정상적으로 동작합니다. 문제는 Meta를 포함한 Discourse 사이트에서만 발생합니다.

New, Unread, Unseen 목록에서 우클릭하여 '새 탭에서 열기’를 선택하면 게시글은 표시되지만, 일부 Discourse 커뮤니티는 매우 활발하여 매일 20개 이상의 새 게시글 또는 읽지 않은 게시글이 있어 이렇게 하나씩 여는 것은 매우 번거롭습니다.

116.0.3에서 더 이상 작동하지 않는 또 다른 기능은 콘텐츠 수정 후 게시물의 재표시입니다. 게시물이 다시 표시되려면 명시적인 새로 고침을 수행해야 합니다.

glimfeather님, 안녕하세요!

MacOS Ventura 13.5에서 Firefox 116.0.3을 시도해 보았지만, 보고해 주신 문제를 재현할 수 없었습니다.

Firefox에서 Discourse 사이트에서도 다양한 오류가 발생하는 것을 확인하고 있습니다. 저는 macOS 13.5에서 Firefox Nightly(2023-08-21) 버전을 사용하고 있습니다.

페이지 내 스크립팅에 의존하는 대부분의 “활성” 기능이 저에게는 조용히 실패하는 것 같습니다. 여기에는 다음이 포함됩니다:

  • 오른쪽 상단의 아바타를 클릭하여 사용자 메뉴를 여는 것
  • 제목을 클릭하여 특정 게시물로 전환하는 것
  • 긴 스레드에서 추가 게시물을 로드하는 것
  • 답변을 작성하는 것(게시물은 전송되지만, 확인하려면 페이지를 수동으로 새로고침해야 합니다)

@glimfeather 님이 언급했듯이, 스레드 로딩 문제를 우회하기 위해 새 탭에서 로드를 강제하여 초기 게시물을 볼 수는 있지만, 여전히 많은 다른 기능이 깨져 있습니다.

오늘에서야 이 문제를 인지하기 시작했으므로, 지난 며칠 동안 호스팅된 사이트에 적용된 최근 Discourse 변경 사항으로 인해 발생한 문제라고 추측합니다.

긴 스레드(예: Install the Discourse Theme CLI console app to help you build themes)의 맨 아래로 내려가면 브라우저의 개발자 콘솔에 다음과 같은 수많은 오류가 표시되는 것을 볼 수 있습니다:

Uncaught TypeError: can't access property "lastNode", this.last is null
    lastNode runtime.js:916
    lastNode runtime.js:4347
    lastNode runtime.js:1008
    evaluate runtime.js:4424
    _execute runtime.js:4306
    execute runtime.js:4291
    rerender runtime.js:4606
    Ember 2
    It runtime.js:4139
    Ember 3
    invoke queue.ts:201
    flush queue.ts:98
    flush deferred-action-queues.ts:75
    _end index.ts:616
    end index.ts:298
    _run index.ts:667
    _join index.ts:640
    join index.ts:362
    Ember 2
    start screen-track.js:52
    setupController topic.js:289
    setup Ember
    s router_js.js:1514
    routeEnteredOrUpdated router_js.js:1524
    setupContexts router_js.js:1470
    finalizeTransition router_js.js:1378
    promise router_js.js:1321
    y rsvp.js:435
    v rsvp.js:421
    invoke queue.ts:203
    flush queue.ts:98
    flush deferred-action-queues.ts:75
    _end index.ts:616
    _boundAutorunEnd index.ts:257
    promise callback*n/< platform.ts:28
    flush Ember
    _scheduleAutorun index.ts:803
    _ensureInstance index.ts:791
    schedule index.ts:384
    Ember 6
    <anonymous> start-app.js:4
    <anonymous> discourse-boot.js:20
    <anonymous> discourse-boot.js:1

@glimfeather, 혹시 Zotero를 사용하시나요?

Discourse 사이트에서 발생하는 이 문제들이 사설 창에서는 발생하지 않는다는 것을 알게 되면서, 확장 프로그램의 문제일 가능성이 있다고 의심하기 시작했습니다. 확장 프로그램을 하나씩 확인해 본 결과, 제 경우에는 Zotero Connector 확장 프로그램이 원인이었던 것으로 보입니다.

이 Zotero 포럼 스레드를 보면, 최근 여러 사이트에서 오류를 유발하는 문제가 있었던 것으로 확인됩니다.

다음 단계를 수행하여 문제를 해결할 수 있었습니다:

  1. Firefox에서 Zotero Connector 확장 프로그램을 비활성화합니다.
  2. Zotero 데스크톱 앱을 재시작합니다.
  3. 다시 커넥터 확장 프로그램을 활성화합니다.
  4. 이미 로드된 Discourse 탭을 새로고침합니다.

Firefox에 추가 기능이 설치되어 있을 뿐, Zotero 자체는 실행하지 않고 있습니다. 참고로 Amazon 도서 목록에서 서지 데이터를 BibDesk로 추출하는 더 나은 방법이 있다면, Zotero가 자체 추가 기능을 자주 깨뜨려 BibDesk로 데이터를 전달하는 데 문제가 생기는 점을 고려할 때 Zotero를 기꺼이 제거할 것입니다.

현재로서는 제목을 수정할 만큼의 가치가 있다고 생각하지 않습니다. 그대로 두세요.

Firefox에서 Zotero 추가 프로그램을 비활성화하면, Discourse 사이트에서 확인하고 있는 문제가 사라집니까?

  • Zotero 팀에서 이 문제가 그들의 실수임을 확인하고 수정 사항을 배포했습니다

  • 해당 확장 프로그램이 없으면 우리 팀에서 재현할 수 없습니다

  • @jryans가 확장 프로그램을 제거하면 문제가 해결된다고 공유했습니다

  • 더 이상 우리가 할 일이 없습니다.

그렇다면 제목 수정 이전에 그 점이 명확히 밝혀졌어야 합니다.

Zotero가 문제를 일으킨 것을 인정했지만, 다른 브라우저 추가 프로그램도 동일한 문제를 일으킬 수 있습니다. 제목에 Zotero를 포함하는 것은 너무 구체적입니다.

더 나은 수정안은 "Firefox의 브라우저 추가 프로그램(Zotero 포함)이 업데이트(예: v116) 이후에 Discourse를 손상시킬 수 있습니다"입니다.