사용자 멘션 제한: 오류 메시지 명확히 하기?

안녕하세요,

Discourse에는 메시지 내 사용자 멘션(언급) 수를 제한하는 기능이 있으며, “신규” 사용자(신뢰 수준 0)의 경우 이 제한이 더 엄격하게 적용됩니다.

제가 말씀드리는 것이 무엇인지 모르시겠다면, Discourse 소스 코드에 포함된 구현부는 다음과 같습니다:

이 기능 자체는 좋은 것이지만, 불행히도 일부 사용자가 실수로 이 제한에 걸려 혼란을 겪는 경우가 몇 번 있었습니다. 문제는 이들이 사용자를 의도적으로 멘션한 것이 아니라는 점입니다. 메시지에 포함된 코드 스니펫을 포맷팅하는 방법(또는 어떻게 해야 하는지)을 “잊어버렸거나”(또는 몰랐거나) 단순히 그대로 붙여넣은 것이었는데, 해당 스니펫이 Java 코드였기 때문에 @로 시작하는 애노테이션(annotation)이 포함되어 있었고, 이것이 사용자 멘션으로 해석된 것입니다.

이러한 코드의 예시는 다음과 같습니다:

public class MyCode {

@NotNull 
private String foo;

@NotNull 
private String bar;

@NotNull 
private String foobar;

}

에러 메시지는 단순히 다음과 같습니다:

Sorry, new users can only mention 2 users in a post

마크다운으로 코드를 포맷팅하는 방법에 익숙하지 않은 사용자는 사용자 멘션이 무엇인지도 모를 수 있으며, 설령 알고 있더라도 자신이 Java 애노테이션으로 의도한 부분이 사용자 멘션으로 해석되었다는 사실을 이해하지 못할 수 있습니다.

그러므로… 해당 기능의 사용자 경험(UX)을 개선할 수 있을까요?

Discourse가 소스 코드를 자동으로 감지하여 포맷팅을 제안하거나, 검증에 실패한 메시지 부분을 하이라이트하는 방안을 논의할 수 있지만, 어느 쪽 솔루션이든 상당한 노력이 필요할 것입니다.

저는 에러 메시지를 확장하여 사용자 멘션이 무엇인지 설명하고, 몇 가지 조언을 제시하는 것만으로도 충분하다고 생각했습니다.

적어도 다음과 같은 내용이면 좋겠습니다:

Sorry, new users can only mention 2 users in a post.
User mentions are words prefixed with `@`, for example `@johnsmith`.

그리고 가능하면 다음과 같은 내용까지 포함하면 좋겠습니다:

Sorry, new users can only mention 2 users in a post.
User mentions are words prefixed with `@`, for example `@johnsmith`.
If your post includes source code, make sure to surround it with backticks to avoid having parts of your code interpreted as user mentions; see <insert some links to documentation about formatting code on discourse>.

의견이나 생각을 듣고 싶습니다. 풀 리퀘스트(Pull Request)를 보내는 것이 좋을까요? 다만, 영어와 프랑스어 로케일(locale)만 업데이트할 수 있을 것 같아 걱정입니다.

참고로, 혼란을 겪은 사용자의 예시 몇 가지입니다:

이를 수행하는 #customization:theme-component가 있습니다.

2개의 좋아요

감사합니다! 정말 좋네요. 그런 기능이 있다는 걸 몰랐어요. 앞으로는 사용자들이 이런 상황에 처하는 것을 처음부터 방지할 수 있기를 바랍니다. :slight_smile:

1개의 좋아요

Unformatted Code Detector 테마 구성 요소를 사용해도 문제가 계속 발생한다면, /admin/customize/site_texts 페이지에서 이 메시지의 텍스트를 사이트 설정에 맞게 변경할 수 있습니다. 또한 이 설정(newuser max mentions per post)이 해결해 주는 것보다 더 많은 문제를 일으키고 있다면, 해당 관리자 설정 자체를 조정할 수도 있습니다. :slight_smile:

3개의 좋아요

멋지네요! 디스코스에서 표시되는 텍스트를 자유롭게 커스터마이즈할 수 있다는 걸 몰랐어요. 완료했습니다!

그럼 풀 리퀘스트는 정말 필요 없겠네요 :slight_smile:

1개의 좋아요