それは、人々がエンコード形式からASCIIに切り替えた際にスラッグが再生成されないことを意味するのでしょうか?もしそうなら、スラッグをクリアするために以前作成したワンタイム処理は、そのようなケースでは機能しないと思われます。
こんにちは、
プルリクエストで問題が完全に解決しませんでした。スラッグに + 記号が含まれている場合、400 エラーが表示されます。
これを確認するため、スラッグ生成をいったん「None」に戻し、タイトルを編集して + 記号を削除してから、再度「encoded」に戻したところ、400 エラーが解消されました。
シナリオとしては、タイトルに プラス 記号が含まれている場合に 400 エラーが返されます(他の文字でも同様の問題が起きる可能性があります。今回は + 記号のみテストしました)。
ありがとうございます。
それはトピックのスラッグですか、それともカテゴリのスラッグですか?
トピックのスラッグです。カテゴリでは試していません。
encoded スラッグジェネレーターはすべての + 記号を削除するため、それがどのようにして得られるのか分かりません。
ローカルでテストしたところ、私にとっては正常に削除されました。
おそらく、ローカル環境では状況が異なるかもしれません。
私のウェブサイトの言語はペルシャ語です。ペルシャ語に切り替えてからテストしてもらえますか?
これを再現するには、以下の件名でトピックを作成してください:
گربه های ایرانی + از نژاد خوبی برخوردار هستند
私のスラッグが読み取れない形式に変換され、400 エラーを返します:
https://domain.ltd/t/%D8%A7%DA%A9%D8%A7%D9%86%D8%AA-%D9%BE%D8%B1%D9%85%DB%8C%D9%88%D9%85-%D9%88%D8%A8-%D8%B3%D8%A7%DB%8C%D8%AA-%D9%85%D9%88%D8%B2-%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86-%D8%A7%D8%B4%D8%AA%D8%B1%D8%A7%DA%A9-%D8%B4%D8%AE%D8%B5%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%DA%A/2067/40
「og」の + ではなく、それに見える別のペルシア文字を使用しているのでしょうか?問題が再現する文字列を共有してもらえますか?
前の返信を編集しました。確認ですが、+ です。
不思議ですね。私の場合、スラッグは次のようになります。
%DA%AF%D8%B1%D8%A8%D9%87-%D9%87%D8%A7%DB%8C-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%DB%8C-%D8%A7%D8%B2-%D9%86%DA%98%D8%A7%D8%AF-%D8%AE%D9%88%D8%A8%DB%8C-%D8%A8%D8%B1%D8%AE%D9%88%D8%B1%D8%AF%D8%A7%D8%B1-%D9%87%D8%B3%D8%AA%D9%86%D8%AF
最新のバージョンを実行し、ページを再読み込みしたことは確かですか?
最新バージョンを実行しています。
今は混乱しています。壊れたスラッグを持つトピックと同じ条件で新しいトピックを作成しましたが、問題なく動作します。あなたが述べたように、おそらく問題の原因は「+」ではないのでしょう。
少し時間をもらって、ダミーをインストールしていくつかのテストを行いたいと思います。このトピックにさらに詳しい情報を更新します。
ありがとうございます。
シェアボタンからその URL を取得しましたか?二重エンコードの問題がありましたが、最新のマージで修正しました。
このスクリーンキャストをチェックしてください。
ああ、問題の原因がわかりました。スラッグが 255 文字を超える場合にのみ発生し、それも 66% のケースでのみ起こります。明日修正に取り組みます。
私たちも同じことが起こります:
奇妙なことに、この問題は「最新」リストからトピックにアクセスしたときのみ発生します。他のトピックからリンクすると、正常に動作します。
完全なリンク:
https://rembetiko.gr/t/%CE%B3%CE%BD%CF%89%CE%BC%CE%B7-%CE%B3%CE%B9%CE%B1-%CE%B1%CE%B3%CE%BF%CF%81%CE%B1-%CE%BC%CF%80%CE%BF%CF%85%CE%B6%CE%BF%CF%85%CE%BA%CE%B9%CE%BF%CF%85-%CE%BC%CE%B5%CF%83%CF%89-%CE%B9%CE%BD%CF%84%CE%B5%CF%81%CE%BD%CE%B5%CF%84-%CE%BA%CE%B1%CE%B9-%CE%B5%CE%BA%C/38511/2
同じく、そのスラッグは255文字を超えています。
調査中に、全く読み込めないカテゴリがいくつか見つかりました。
以下のようなエラーが発生していることがわかりました:
URIError: URI malformed
at decodeURIComponent (<anonymous>)
at a (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:16:31208)
at Array.map (<anonymous>)
at o (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:16:31136)
at P.recognize (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:5729)
at t.applyToState (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:22054)
at u.n.getTransitionByIntent (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:24304)
at u.n.transitionByIntent (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:23609)
at u.n.doTransition (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:25611)
at u.n.transitionTo (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:30132)
TypeError: Cannot read property 'responseJSON' of undefined
at n.error (https://rembetiko.gr/assets/application-5d69c42124908eb6b41549efae9db9b1df26741f3a45075c6bfd603bb5267a42.js:71:604)
at n.C (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:8:17733)
at u.c.triggerEvent (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:8:21275)
at e.t.trigger (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:13392)
at u.c.transitionDidError (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:8:21548)
at https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:17:11836
at f (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:18:1126)
at T (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:18:2503)
at E (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:18:2402)
at y (https://rembetiko.gr/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:18:1896)
これらは関連している可能性がありますか?
(ご自身でこちらを確認いただけます:https://rembetiko.gr/c/άλλα-θέματα/μικρές-αγγελίες)
@Arta_S さん、@chrispanag さん、2 つの修正がまもなく届きます。1 つは長いタイトル用、もう 1 つはサブカテゴリ用です。
および
アップグレード後も、このエラーが発生します ![]()
この場合、スラッグを再生成する必要があります。以下の手順を試してください:
cd /var/discourse
./launcher enter app
rails c
Topic.update_all(slug: nil)
exit
exit
exit
前回の更新から2日前に、2つの問題が発生しました:
1: 一部のトピックで URL が 400 Bad Request エラーになります
2: 一部のトピックでタイムラインが表示されません
ホスト:Discourse「standard-plan」
お手伝いいただけますでしょうか?
申し訳ありません、英語がうまく書けません。