리치 텍스트 에디터가 Apple 플랫폼에서 텍스트 교체 기능을 깨뜨립니다

제가 관리하는 포럼이 최근 새로운 리치 텍스트 에디터로 전환했는데, 바로 OS의 텍스트 치환 기능이 (부분적으로) 깨지는 것을 발견했습니다. 예를 들어 iOS의 일반 > 키보드 > 텍스트 치환 같은 기능 말입니다. 저는 Discourse에서 이러한 치환을 매우 자주 사용하는데, 이것이 작동하지 않는 것은 매우 유감스러운 일입니다. 예를 들어, 제 가장 흔한 관리 작업 중 하나는 사용자를 다른 포럼으로 유도하는 것이며, 그래서 저는 adf를 Apple 개발자 포럼 링크로 치환하는 텍스트 치환을 설정해 두었습니다. (대부분의 게시글은 나머지 부분이 템플릿처럼 반복되는 경우가 적어서 이 용도로는 고정된 답변을 사용하고 싶지 않습니다. 하지만 그 링크는 항상 포함됩니다. 게다가 그 모델에 맞지 않는 다른 치환들도 여러 개 있습니다.)

흥미롭게도, 일부 치환은 여전히 작동합니다. 예를 들어 \tau는 항상 τ로 변환됩니다. 그리고 adf 치환은 백틱 사이에 입력하면 거의 작동하는 것 같습니다: 저는 이 글을 macOS Safari에서 작성하고 있는데, [백틱] adf [백틱] [공백]을 입력하면 잠시 동안 [Apple Developer Forums](https://forums.developer.apple.com/)로 변환됩니다. 하지만 이후 에디터와 어떤 방식으로든 상호작용하면 그 링크가 사라지고 다시 adf로 돌아갑니다.

다른 치환들이 작동하는 이유와 관련하여 앞선 백슬래시가 어떤 역할을 하는 것 같아서, 아마도 adf 치환을 \adf로 변경하면 이 버그를 우회할 수 있을 것입니다. 하지만 사실 그렇게 해야 하는 것은 아닙니다.

이것은 저에게 꽤 심각한 문제입니다. Discourse iOS 앱에서 이 유형의 관리를 효율적으로 수행하는 능력을 방해하고 있기 때문입니다. (또한 이것이 바로 앞선 백슬래시를 추가하고 싶지 않은 이유이기도 합니다: 전화기 키보드에서 백슬래시를 입력하는 것은 귀찮은 일이니까요.)

1개의 좋아요

이것이 기능 요청 사항일 수도 있지만, 이러한 커스터마이징을 사용하려면 마크다운 편집기로 돌아가려면 image를 클릭하면 됩니다.

네, 마크다운 편집기만 사용하는 것도 허용 가능한 우회책이죠. 그렇다면 이 기능을 모든 편집 모드에서 일관되게 작동하도록 해달라는 기능 요청으로 봐도 좋겠네요. 다시 한번 말씀드리지만, 리치 텍스트 편집기는 이러한 치환을 항상 무시하지는 않습니다 — 제 생각에는 OS에서 어떤 방식으로든 시작하는 것 같습니다 — 다만 이를 제대로 처리하지 못하는 경우가 많습니다.

2개의 좋아요

안전성을 위해 클립보드를 사전 처리하는 문제 유형일 것 같습니다.

리치 텍스트 편집기에 [test]를 붙여넣으면 원본(raw)에서 \[test\]로 나타납니다.

마찬가지로 다음을 붙여넣으면:

<a href="apple.com">apple</a>

RTE(리치 텍스트 편집기)에서는 apple로 표시됩니다(링크가 아님)

하지만 원본(raw)에 붙여넣으면 apple로 표시됩니다.


@renato 이 것과 매우 관련이 있을 것 같은데?

2개의 좋아요

이것은 버그인 것 같습니다. 선택된 텍스트 위에 붙여넣을 때 링크를 생성하는 로직에 문제가 있는 것 같습니다. 확인해 보겠습니다.

iOS 텍스트 교체 기능은 Android의 IME와 유사하게, 일반적인 텍스트 삽입 이벤트를 우회할 수 있습니다. 확신은 없지만, 이는 별개의 문제인 것 같습니다.

이러한 일관성 없는 발생 원인이 런타임 오류일 수도 있습니다. 이번 주에 재현해 보겠습니다.

3개의 좋아요