公開範囲「サークル」の投稿に対して返信した際(公開範囲は変更せずそのまま)、「422 バリデーションに失敗しました: Mentionsは不正な値です」のエラーが表示されて、見た目上は投稿されなかった(入力欄が消えなかった)のですが、ブラウザをリロードすると投稿が反映されていた、という現象が発生しました。ので、一応報告いたします。

サークルの投稿に対する返信の中に、メンションが含まれていましたか?(WebUiがバグってることがあるかもしれませんし、WebUI以外から実行すると特に、自動的に付加されるてしまうかもしれません)

サークルはメンションをつけずにやりとりする特殊なリプライツリー(スレッド)を用います。相手を明示しないという特性があるためです。

メンションの処理でエラー処理はされると思いますが、その前の投稿処理は既に完了しているので、そのような動作になります。

APIとしてエラー発生時にロールバックするのが正しい動作ですが、そもそも無視するなりエラーを返す部分を工夫した方がいいかなと思っています。

このあたり、サークルはいろいろと複雑な制約があるため、直し切れていない不具合がありますが、長く放置してしまっていて修正忘れてるので、ご報告助かりますw

フォロー

返信の中にメンションは含まれていませんでした!
私もサークルに対して返信するのが初めてだったのでオヤ?と思ったのですが、含まれないのが正しいのですね。投稿された方にもメンションは含まれていません。
あ、でも相手のサークル投稿内には私へのメンションが含まれています。

一連のスレッドは、

相手:公開
私:公開(相手へのメンション含)
相手:サークル(私へのメンション含)
私:サークル
相手:サークル(私へのメンション含)
私:サークル【この時エラー発生】

となっていました。

了解です。だいぶ長らくコードいじってない(年単位)ので、ぼちぼち全面的に再確認します。

追加でご報告なのですが、相手のサークル投稿に返信した私の以下の投稿3件、相手に届いてない(見えない)とのことです。

fedibird.com/@tukine/110802714
fedibird.com/@tukine/110802732
fedibird.com/@tukine/110802930

この内①②では投稿の際に422のエラーになりましたが、③ではエラーにはならず、私からは正常に投稿されたように見えました。

検索でこの投稿に辿り着きましたので、こちらにて失礼します。
先ほど、友人とサークル範囲でのやり取りをしていた時、途中から「422 バリデーションに失敗しました: Mentionsは不正な値です」のエラーが発生し、ブラウザリロードではホームには表示されず、返信したサークル投稿の詳細へ遷移したらエラー発生した返信が見えました。(エラー時に投稿ボタンを数回押したため、連投された状態)

年末のお忙しい時に大変恐縮ではございますが、お手すきの際に確認いただけたらと思います。 :ablobcat_pekopeko:

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。