@noellabo 公開範囲「サークル」の投稿に対して返信した際(公開範囲は変更せずそのまま)、「422 バリデーションに失敗しました: Mentionsは不正な値です」のエラーが表示されて、見た目上は投稿されなかった(入力欄が消えなかった)のですが、ブラウザをリロードすると投稿が反映されていた、という現象が発生しました。ので、一応報告いたします。
@tukine サークルの投稿に対する返信の中に、メンションが含まれていましたか?(WebUiがバグってることがあるかもしれませんし、WebUI以外から実行すると特に、自動的に付加されるてしまうかもしれません)
サークルはメンションをつけずにやりとりする特殊なリプライツリー(スレッド)を用います。相手を明示しないという特性があるためです。
メンションの処理でエラー処理はされると思いますが、その前の投稿処理は既に完了しているので、そのような動作になります。
APIとしてエラー発生時にロールバックするのが正しい動作ですが、そもそも無視するなりエラーを返す部分を工夫した方がいいかなと思っています。
このあたり、サークルはいろいろと複雑な制約があるため、直し切れていない不具合がありますが、長く放置してしまっていて修正忘れてるので、ご報告助かりますw
@noellabo 返信の中にメンションは含まれていませんでした!
私もサークルに対して返信するのが初めてだったのでオヤ?と思ったのですが、含まれないのが正しいのですね。投稿された方にもメンションは含まれていません。
あ、でも相手のサークル投稿内には私へのメンションが含まれています。
一連のスレッドは、
相手:公開
私:公開(相手へのメンション含)
相手:サークル(私へのメンション含)
私:サークル
相手:サークル(私へのメンション含)
私:サークル【この時エラー発生】
となっていました。
@noellabo 追加でご報告なのですが、相手のサークル投稿に返信した私の以下の投稿3件、相手に届いてない(見えない)とのことです。
① https://fedibird.com/@tukine/110802714307209184
② https://fedibird.com/@tukine/110802732861812204
③ https://fedibird.com/@tukine/110802930442125551
この内①②では投稿の際に422のエラーになりましたが、③ではエラーにはならず、私からは正常に投稿されたように見えました。