"Onebox Assistant", crawl for those previews reliably!

아, 다음 빌드에서 이 플러그인을 다시 추가할게요. 아마 일시적인 이상 현상이었을 거예요. 다시 한번 감사드리고, 괜히 시간 낭비하게 해서 죄송합니다!

2개의 좋아요

걱정 마세요, 가끔 이 플러그인을 살펴보는 것도 좋은 습관입니다.

그리고 이어서 플러그인의 구조를 업그레이드하고, 코어에서 이루어진 한 줄 변경 사항을 반영하기 위해 오버라이드에 약간의 조정 사항을 추가했습니다 (아무튼 이전에는 정상적으로 작동하고 있었지만):

코어 변경 사항: discourse/lib/oneboxer.rb at main · discourse/discourse (github.com)

플러그인의 새로운 커밋: IMPROVE: plugin structure, minor tweak to keep up with core · merefield/discourse-onebox-assistant@4c1d9bd (github.com)

3개의 좋아요

Discourse의 깨지는 변경 사항(breaking change) 해결을 위해 업데이트하세요:

깨지는 변경 사항: DEV: Don’t patch Sanitize::Config · discourse/discourse@46176b7 · GitHub

해결 방법: COMPATIBILITY: bring in line with changes to SanitizeConfig · merefield/discourse-onebox-assistant@8415e68 · GitHub

2개의 좋아요

이 사이트를 Onebox로 가져오려고 합니다:

하지만 표준 Discourse oneboxing을 사용할 때 403 코드가 반환됩니다:

embed.rocks/try에서는 onebox가 정상적으로 전달되는 것을 확인했습니다:

embed.rocks/try 출력

따라서 이 플러그인을 설치하고 OP에서 안내한 대로 Embed.rocks 계정으로 설정했습니다. 다른 사이트에서는 잘 작동하지만, hinz.org.nz의 경우 onebox가 표시되지 않고 콘솔에 다음과 같은 메시지가 출력됩니다:

image

이 토픽을 꼼꼼히 살펴보았지만 도움이 될 만한 내용을 찾지 못했습니다. 조언이 있을까요?

2개의 좋아요

그것은 원박스가 아닙니다. 원박스는 Discourse에 특화되어 있으므로, 이 테스트만으로는 충분한 증명이 되지 않습니다. Embed.rocks는 Discourse가 수행하는 방식과 동일한 것이 아니라, 다양한 특수 사례와 우회 방법을 사용하고 있습니다. 우리는 카드를 생성하는 데 이를 사용하지 않으므로, 우리에게 이는 관련이 없으며, 이를 안전한 테스트로 사용할 수 없다는 의미입니다. 우리는 embed.rocks를 원래 페이지 소스를 반환하는 데만 사용합니다.

FacebookMeta 개발자 링크 Open Graph 검사 도구에서 해당 링크를 확인해 보셨나요? 경고가 있나요?

3개의 좋아요

작성하신 게시글에 영감을 받아, 일요일에 시간을 내어 플러그인을 리팩터링했습니다. Onebox gem이 Core로 이관된 것으로 보이기 때문입니다.

이것이 작성자님의 문제였다고 생각하지는 않지만, 제 오버라이드가 작동하고 있다고 생각했기 때문에, 이제는 더 포괄적으로 처리했습니다.

업데이트 후 이 버전(3.0)을 테스트해 주시면 감사하겠습니다:

COMPATIBILITY: onebox gem 이동에 따른 변경 사항을 반영하여 개선… · merefield/discourse-onebox-assistant@1d64888 (github.com)

3개의 좋아요

안녕하세요!
플러그인을 활성화했는데 Facebook 원박스가 작동하지 않습니다. 이런가요? 플러그인 설정을 잘못한 걸까요?


수정: curl을 실행하면 유명한 “Log in or sign up to view” 메시지가 반환되고, 박스가 생성되지 않습니다.
즉, embed.rocks가 Facebook에서 충분한 평판을 받지 못한 IP를 사용하고 있는 건가요? :man_shrugging:

1개의 좋아요

페이스북 API 키를 사용하는 페이스북 임베드 형식이 있나요?

1개의 좋아요

음…
페이스북 게시물을 임베드하는 것은 확실히 가능합니다(공개된 사용자 프로필의 경우만, 그룹은 제외)… 또한 인스타그램 게시물을 임베드할 때 사용되는 API 키도 있습니다…
그 외에는 잘 모르겠네요. 다만 개발자 대시보드에서 찾아볼 수 있는 것이 있는데, 꽤 미로처럼 복잡합니다 :man_shrugging:

1개의 좋아요

그 링크가 공개된 Facebook 게시물을 가리키는 것이 맞습니까?

1개의 좋아요

이 질문을 완전히 잊어버렸는데, 마무리 차 말씀드리면: 네, 해당 게시물은 공개되어 있었습니다.

페이스북 미리보기는 2년 전에는 작동했지만, 이후에는 아마도 “신뢰할 수 없는 IP” 문제 때문에 작동하지 않았습니다. 대시보드를 설정하고 기능을 유지하는 것이 번거로워서 결국 포럼에서 페이스북 기능을 포기했습니다. :weary:

3개의 좋아요

Hi @merefield, 몇 가지 유용한 피드백을 드립니다.

요약하면, 플러그인이 embed.rocks를 사용하게 하려면 재부팅(Discourse 재시작)이 필요했습니다.

업그레이드 예정인 사이트의 스테이징 환경에서 플러그인을 설치했습니다. embed.rocks의 API 키를 입력하고 플러그인을 활성화한 후 “항상 프록시 사용” 설정을 켰지만, Oneboxes가 처리되지 않았습니다.

Sidekiq 작업이 조용히 실패한 것처럼 보였고, 이후 새로운 예약 작업이 나타났습니다 - 아마도 재시도(retry)였을 것입니다.

Sidekiq 큐에 Oneboxing을 막고 있는 문제가 없었으므로, 위에서 언급된 "BBC 사이트로 curl"을 사용하여 명령줄에서 확인해 보니 정상 작동했습니다. 즉, embed.rocks가 정상적으로 실행 중이고 제 인증 정보를 인식하고 있다는 것을 알 수 있었습니다.

플러그인을 비활성화해 보니 Oneboxes가 다시 작동했습니다 - 아직 블랙리스트에 등록되지 않은 새로운 스테이징 환경이므로 정상적인 반응입니다.

다시 플러그인을 활성화해도 동일한 문제가 발생했습니다 - Oneboxes가 더 이상 작동하지 않았습니다.

결국 서버를 재부팅하자 작동하기 시작했습니다!

지연이 뚜렷하게 느껴져 Oneboxes가 embed.rocks를 통해 전달되고 있음을 알 수 있습니다. 다만, 번거롭게도 embed.rocks 대시보드가 정기적으로 업데이트되지 않아(월간?) 제 최신 서비스 사용 내역을 보여주지 않는 것 같습니다.

결론적으로, 플러그인이 예상대로 작동하려면 재부팅/Discourse 재시작이 필요했던 것으로 보입니다.

이것이 불가능해 보일 수 있지만, 제가 관찰한 행동에 대해 꽤 확신이 있습니다. 플러그인이 메서드를 monkey-patch하여 활성화하기 전에 이미 '사용’되고 있는 것과 관련이 있을까요?

어쨌든 지금은 모두 정상 작동하므로, 기이한 관찰 결과를 공유하고자 합니다.

1개의 좋아요

아쉽게도 모든 추측은 무용지물입니다: 이 플러그인은 최신 Discourse 코드베이스에 맞게 업데이트가 시급합니다. 곧 업데이트를 진행할 예정입니다.

여러분께는 정상적으로 작동하고 있다는 점이 기쁘며, 흥미로운 통찰을 얻게 되었습니다!

대안 서비스를 지원하는 PR은 확실히 고려해 보겠습니다. 하지만 Embed.rocks는 경쟁 제품 대비 매우 뛰어난 가성비를 제공하는 것 같습니다?

1개의 좋아요

솔직히 말하면, embed.rocks는 많은 포스트를 다시 처리해야 할 때에만 고려합니다. 일상적인 임베드 처리량은 보통 문제가 없습니다.

말씀하신 대로, 그 용도에는 정말 가성비 좋습니다.

알아두면 좋네요.

항상 훌륭한 작업입니다!

2개의 좋아요

어제 코어 코드를 업데이트하고 커밋을 올렸습니다:

솔직히 말하면, 대부분 코드 포맷을 맞춰본 것뿐이라 실제로 변경된 부분은 거의 없습니다.

1개의 좋아요

안녕하세요! 최근 포럼을 vBulletin에서 Discourse로 마이그레이션했습니다. 제 포럼에서는 YouTube와 Vimeo의 임베드 영상을 많이 사용하는데, 차단되는 문제를 방지하기 위해 플러그인을 설치했습니다. 이 플러그인은 YouTube에서는 정상적으로 작동하지만, Vimeo의 포스터(썸네일)는 표시되지 않습니다. 검은 배경 위에 플레이어만 보입니다.

embed.rocks 웹사이트에서 Vimeo 영상을 확인하면 429 에러가 발생합니다. 다양한 브라우저와 다른 인터넷 서비스 제공업체를 통해 확인해 보았지만, 어디서든 결과가 동일합니다.

이것이 저만의 문제인지, 아니면 시스템 장애가 있는 건지 궁금합니다.

그들의 지원 팀에 문의해 보셨나요?

비메오(Vimeo) 지원팀을 말씀하시는 건가요?

아니요, embed.rocks입니다

아… 감사합니다! 처음엔 당신의 API인 줄 알았어요.
embed.rocks 사이트에서는 이메일 주소만 보이고 지원 링크는 없네요.
그들에게 이메일을 보내볼 생각은 있지만, 지금은 이 시점에서 다른 embed.rocks API 사용자에게도 Vimeo 동영상 삽입이 정상적으로 작동하는지, 아니면 제 환경에서만 발생하는 문제인지 명확히 하고 싶어요.

이 스레드에서 자신의 Discourse에서 기능을 확인해 줄 수 있는 분이 있기를 바랍니다.

이 동영상의 미리보기가 보이나요? 여기서는 Vimeo가 표시되지 않는 것 같네요…
https://vimeo.com/103076330

meta.discourse는 embed.rocks API를 사용하지 않는 것 같으니, 아마도 onebox 어시스턴트 문제와는 관련이 없지 않을까요?