))가 포함된 링크가 여전히 올바르게 렌더링되고 작동하는지 확인하세요

:information_source: 개요

Discourse는 URL 중간에 이중 닫는 괄호 — )) — 가 포함된 링크를 올바르게 렌더링하지 못합니다. 이로 인해 링크를 직접 추가하거나 텍스트 위에 붙여넣어 자동 텍스트 링크를 생성할 경우 해당 링크가 제대로 작동하지 않습니다.

:walking_woman: 재현 단계

  1. URL 중간 어딘가에 )) 가 포함된 링크를 생성합니다. 예를 들어, meta.discourse.org/?parameter_one=((value))&parameter_two=value.
  2. 이 링크를 그대로 작성기(composer)에 붙여넣습니다.
  3. 동일한 URL을 텍스트 위에 붙여넣어 자동 텍스트 링크를 생성합니다.

:white_check_mark: 기대 결과

두 경우 모두 원래의 링크가 올바르게 렌더링되고 기능해야 합니다.

:x: 관찰된 결과

링크 기능이 )) 에서 끊겨 URL의 나머지 부분이 제거됩니다.

예시:

:books: 추가 정보

링크를 직접 붙여넣을 때 이중 닫는 괄호를 %29) 으로 인코딩하면 작동할 수 있으며, 텍스트 위에 붙여넣을 경우 URL을 <> 로 감싸는 것도 작동할 수 있습니다. 예시:

4개의 좋아요

이건 @lindsey 님이 고칠 수 있는 문제가 아닌 것 같습니다. markdown-it, 그리고 더 정확히 말하면 그 아래에 있는 linkify 라이브러리의 동작 방식 때문입니다.

다음 링크에서 이 동작을 직접 테스트해 볼 수 있습니다: linkify-it demo

해당 라이브러리 자체도 이 문제에 대해 8년 넘게 오픈 이슈를 유지하고 있습니다: Better handle nested parens · Issue #23 · markdown-it/linkify-it · GitHub

4개의 좋아요

@Vitaly 의견 있으신가요? 이 문제를 해결하기 위해 linkify를 포크해야 할까요, 아니면 업스트림의 수정을 기다려야 할까요? 이 문제를 수정해 주실 수 있도록 계약이 가능할까요?