자동 태그 영역의 감시 단어 목록에 여러 단어를 추가했습니다.
하지만 새 주제를 생성하고 게시물의 제목이나 본문에 해당 단어 중 하나를 넣어도 자동 태그가 설정되지 않는 것 같습니다. 제가 뭔가 잘못하고 있는 것 같은데, 어디서 잘못되고 있는지 감이 잡히지 않습니다.
이 기능이 그렇게 동작하는 것이 아닌가요?
자동 태그 영역의 감시 단어 목록에 여러 단어를 추가했습니다.
하지만 새 주제를 생성하고 게시물의 제목이나 본문에 해당 단어 중 하나를 넣어도 자동 태그가 설정되지 않는 것 같습니다. 제가 뭔가 잘못하고 있는 것 같은데, 어디서 잘못되고 있는지 감이 잡히지 않습니다.
이 기능이 그렇게 동작하는 것이 아닌가요?
혹시 다른 분들도 이걸 정상적으로 작동시키고 계신가요?
나도 마찬가지인데, 내 환경에서도 작동하지 않습니다('test’는 작동하지만 실제 토픽 생성 시에는 작동하지 않아요).
제목과 게시물 모두에서 정상적으로 작동하는지, 그리고 사용자가 제출 버튼을 클릭하기 전에 타이핑할 때 태그 필드에 태그가 추가되는지 확인하고 싶었습니다. 이렇게 하면 사용자가 적합하지 않다고 판단하는 태그를 제거할 수 있을 것입니다.
방금 출시된 기능인데, 잘 작동할 거라고 생각할 텐데 말이야. ![]()
방금 로컬 개발 사이트에서 이 기능을 간단히 테스트해 보았습니다. 감시 대상 단어를 자동 태그로 추가하면 테스트는 제 환경에서 정상적으로 작동하지만, 게시글에 감시 대상 단어가 포함되어 있을 때 주제를 자동으로 태그하는 기능은 아직 작동하지 않고 있습니다. 이 문제를 더 자세히 살펴보겠습니다.
수정: 호스팅된 Discourse 사이트에서도 이 기능을 간단히 테스트해 보았는데, 개발 사이트에서 확인된 것과 유사한 문제를 겪고 있습니다. 개발 사이트에서 테스트한 결과, 자동 태그 단어가 포함된 새 주제를 생성할 때 auto_tag 메서드가 호출되지 않는 것을 확인했습니다. 기존 주제에 자동 태그 단어를 추가하도록 수정하면 auto_tag 메서드가 호출되고 주제가 정상적으로 태그됩니다.
이 주제를 버그 카테고리로 이동하겠습니다.
실제로 원격 사이트에서 임베디드 토픽을 가져오는 경우 자동 태그 기능이 정상 작동하는 것을 확인했습니다. 패치가 적용된 건가 싶어서 일반 신규 토픽 생성에서도 테스트해 보았지만, 역시 작동하지 않았습니다. 어쨌든 일부에서는 기능이 정상 작동하는 셈이죠.
저도 같은 문제(감시 중인 단어가 포함된 새 주제를 생성할 때 자동 태그가 적용되지 않는 문제)로 여기에 왔습니다. 하지만 기존 게시글을 수정할 때도 태그가 추가되지 않습니다.
몇 주 전에 이 기능에 몇 가지 변경 사항을 적용했는데, 해당 문제가 수정되었을 것으로 예상됩니다. 여전히 문제가 발생하고 있나요?
감사합니다. 업그레이드가 필요합니다. 오늘 나중에 테스트해볼게요.
다시 시도해 보았지만 여전히 깨져 있는 것 같습니다.
흥미롭게도 콘솔을 살펴보면, 이 페이지의 ‘테스트’ 상자에 아무 텍스트를 입력해도 다음 오류가 발생합니다:
[Error] SyntaxError: Invalid regular expression: nothing to repeat
RegExp (admin-355470031debabd8f424394656ad96526be89c17169165b65dc4fc52262cabf7.js:1:255499)
matches (admin-355470031debabd8f424394656ad96526be89c17169165b65dc4fc52262cabf7.js:1:255499)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:201058)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:114334)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:113340)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:415053)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:407829)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:421290)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:458048)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:462227)
De (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:187812)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:146212)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:146530)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:147093)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:488589)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:487600)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:489624)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:494999)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:491569)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:495515)
(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:311475)
dispatch (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:42931)
최신 문제를 해결할 수 있다고 생각되는 몇 가지 수정 사항을 추가해서 푸시했습니다. 업그레이드해서 다시 확인해 주시겠어요?
2.7.0.beta9 버전을 사용하고 있습니다. git pull을 시도해 보았지만, 변경 사항이 없네요…
아직 베타 버전이 아니라서요. 방금 변경 사항을 푸시했거든요. tests-passed 버전으로 업데이트하시면 테스트해 보실 수 있습니다.
아, 죄송합니다. 현재 스테이징 환경이 없어서 테스트를 위해 기다려야 할 것 같습니다.
결국 테스트는 통과한 상태였는데, 어딘가에서 업그레이드가 반영되는 데 시간이 좀 걸린 것 같습니다. 어쨌든 저는 현재 2.8.0.beta1 (db7038e6c2) 버전을 사용 중이며 다시 테스트를 수행했습니다. 여전히 js 관련 문제가 있습니다. 제가 사용 중인 태그는 다음과 같습니다:
(UI가 목록 형태로 구현되면 훨씬 나을 것 같습니다 — 태그를 많이 사용할 때 이 그리드 방식은 다루기 어렵습니다)
테스트 박스는 다음과 같이 보입니다:
그리고 js 콘솔에 표시되는 에러는 다음과 같습니다:
![]()
사용 중인 브라우저는 Safari Version 14.0 (15610.1.28.1.9, 15610)입니다.
이제 이해했습니다. 첫 번째 정규식에서 오류가 있습니다. "\d+{1,3}"은 잘못된 문법입니다. "\d{1,3}"을 의미하신 건가요?
아, 미안해요. 그 부분을 잡아줘서 감사합니다. 이제 잘 작동합니다.
에러를 잡아내고 사용자에게 경고하는 기능이 있으면 도움이 될 것 같네요 — 특히 기술에 익숙하지 않은 사람들이 실수로 잘못된 정규 표현식 문자열을 작성할 수 있으니까요. 또한 한 정규 표현식의 에러가 다른 정규 표현식들로 연쇄적으로 전파되지 않는 것도 좋겠습니다. 이 경우 첫 번째 정규 표현식의 에러 때문에 나중에 있는 일부 정규 표현식에서 유효한 매칭이 발견되지 못했거든요.
정규식을 사용하면서 사용자가 스스로 문제를 일으키고 있을 때, 이를 알릴 수 있는 방법이 있을까요? @sam님, 정규식을 고급 모드로만 사용할 수 있게 할 수 있을까요? 아니면 대부분의 사용자가 원하는 대로, 단어를 입력할 때 기본적으로 단어 경계를 적용하도록 설정할 수 있을까요?
나도 콜론이나 슬래시 요소(예: 1:35, 1/35)에서 잘 작동하는 것 같아요.
감사합니다!
제 생각은, 정규 표현식을 전면적으로 사용할 필요가 없도록 하고, 기본 기능으로 충분히 많은 부분을 지원해서 10,000개 커뮤니티 중 단 1개만 직접 정규 표현식을 다뤄야 하는 상황을 만드는 것입니다.
@ben 님의 이 특정 예시에서 ?를 지원하게 된다면 다음과 같습니다:
PSY7?? → masters
PSY6?? → stage4
PSYC7?? → masters
PSYC6?? → stage4
기능이 정상적으로 작동하는 것 같으므로 이 이슈를 닫겠습니다. (네, 정규 표현식이 더 풍부하지만, Ben 님이 하려는 일을 파악하는 데에는 이 정도면 충분해 보입니다)