オートタグ付けが機能しないようです

自動タグ付け対象の監視ワードエリアにいくつかの単語を追加しました。

しかし、新しいトピックを作成し、タイトルや投稿本文にこれらの単語のいずれかを含めても、自動タグが設定されないようです。何か間違っているのは確かだと思うのですが、何が原因か見当が付きません。

この機能はこのような仕組みではないのでしょうか?

「いいね!」 2

これを使えている人はいますか?

「いいね!」 1

同じく、私の環境でも動作しません(「テスト」は機能しますが、実際のトピック作成時には機能しません)。

タイトルと投稿の両方で機能するか、またユーザーが「送信」をクリックする前にタグをタイプ入力した際にタグフィールドにタグが追加されるかを確認したいと考えています。これにより、ユーザーがタグが適切でないと感じた場合に、タグを削除できるようになります。

「いいね!」 1

最近リリースされた機能なのに、動作しているはずですよね。:smiley:

ローカル開発環境で早速テストを行いました。自動タグ付きの監視ワードを追加すると、テストは成功しますが、ポストに監視ワードが含まれてもトピックが自動タグ付けされるまでには至っていません。引き続き調査します。

追記:ホストされた Discourse サイトでも同様のテストを行い、開発環境で見られたのと同様の問題に直面しました。開発環境でのテスト結果によると、自動タグワードを含む新規トピックを作成する際は auto_tag メソッドが呼び出されないようです。一方、既存のトピックを編集して自動タグワードを追加する場合は、auto_tag メソッドが呼び出され、トピックにタグが付けられます。

このトピックをバグカテゴリへ移動します。

「いいね!」 6

埋め込みトピックのインポート(外部サイトから)では自動タグ付けが機能していることに気づきました。修正されたのかと思ったのですが、通常の新しいトピック作成で試してみると機能しませんでした。つまり、部分的には動作していることになります。

「いいね!」 1

私も同じ問題に遭遇しました(監視ワードを含む新規トピック作成時に自動タグ付けが機能しません)。さらに、既存の投稿を編集してもタグが追加されない問題も発生しています。

数週間前にこの機能にいくつかの変更を加えましたので、これらの問題は解決しているはずです。まだ問題が発生していますか?

「いいね!」 3

ありがとうございます。アップグレードが必要です。本日中にテストします。

「いいね!」 1

再度試してみましたが、まだ問題があるようです。

  • 正規表現 “PSYC611” は、新しいトピックのこのテキストに一致しません
  • 正規表現 “psy(c?)6\d{2,3}”(私が使用したいもの)も同様です
  • 「テスト」ポップアップは、入力内容に関係なく、どのタグにも一致しません

興味深いことに、コンソールを見ると、このページの「テスト」ボックスに任意のテキストを入力すると、以下のエラーが表示されます。

[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 を試しましたが、変更はありませんでした…

ああ、まだベータ版ではありません。今すぐ変更をプッシュしたばかりなので。テスト通過版にアップデートすれば、試すことができます。

「いいね!」 1

申し訳ありません。現在、ステージング環境がないため、テストは後日行う必要があります。

実はテストは通過していたようですが、何らかの理由でアップグレード後に反映されるまで時間がかかりました。いずれにせよ、バージョン 2.8.0.beta1 (db7038e6c2) にて再度テストを行いました。しかし、JS にまだ問題があります。現在使用しているタグは以下の通りです:

(UI はリスト形式の方がはるかに見やすいでしょう。タグを多数使用する際、このグリッドは扱いにくくなります)

テストボックスの表示は以下の通りです:

そして、JS コンソールに表示されるエラーは次の通りです:

Screenshot 2021-05-20 at 09.23.16

ブラウザは Safari Version 14.0 (15610.1.28.1.9, 15610) です。

「いいね!」 1

ご理解いただけましたね。最初の正規表現にエラーがあります。「\d+{1,3}」は無効です。「\d{1,3}」の意図でしょうか?

「いいね!」 4

ああ、すみません。指摘ありがとうございます。今は正常に動作しています。

エラーを検知してユーザーに警告する機能があれば役立つかもしれません。特に、非技術的な方が誤って無効な正規表現を入力してしまう可能性がありますからね。また、ある正規表現のエラーが他の正規表現に影響を及ぼさないようにすることも重要です。今回の場合、最初の正規表現のエラーによって、後続のいくつかの正規表現で見つかるはずだった有効な一致が見逃されてしまいました。

「いいね!」 2

@sam、正規表現でユーザーが自滅していることに気づかせるために、何かできることはありますか?正規表現を「高度なモード」に隠すことはできますか?それとも、デフォルトを単語境界に設定するのはどうでしょうか?実際、単語を入力する際に多くの人が求めているのはそれです。

「いいね!」 2

コロンやスラッシュを含む要素(例:1:35、1/35)でも、私の環境では問題なく動作しているようです。

ありがとうございます!

「いいね!」 1

私の考えでは、完全な正規表現を必要とせず、最初から十分な機能をサポートすることで、10,000 コミュニティのうち 1 つだけが手を汚して正規表現を使う必要がないようにすることです。

@ben によるこの特定の例では、? をサポートすれば以下のようになります:

PSY7?? → masters
PSY6?? → stage4
PSYC7?? → masters
PSYC6?? → stage4

この機能は正常に動作しているように見えるため、これで閉じます(正規表現の方が表現力は豊かですが、ベンが意図していることを捉えるにはこれで十分そうです)。

「いいね!」 3