おそらくエッジケースですが、API エンドポイント(/invites.json)をテストしている間はすべて正常に動作していました。その後、招待されたユーザーを削除すると、そのエンドポイントから 422 応答が返されるようになりました。データエクスプローラーで確認すると、そのユーザーは存在しなくなっていますが、招待テーブルにはまだ招待がリストされています。
以前に削除されたメールアドレスを持つユーザーを招待することは可能でしょうか?
おそらくエッジケースですが、API エンドポイント(/invites.json)をテストしている間はすべて正常に動作していました。その後、招待されたユーザーを削除すると、そのエンドポイントから 422 応答が返されるようになりました。データエクスプローラーで確認すると、そのユーザーは存在しなくなっていますが、招待テーブルにはまだ招待がリストされています。
以前に削除されたメールアドレスを持つユーザーを招待することは可能でしょうか?
こんにちは、ようこそ!確認ですが、招待されたユーザーは、あなたが削除する前に招待を受け入れ、アカウントを作成していましたか?
ありがとう!はい、招待を受け入れ、その後アカウントを削除しました。
再現できていません。もしかすると、おっしゃる意図を誤解しているのかもしれません(十分にあり得ます)。期待される動作と実際の動作の違いについて、もう少し詳しく説明していただけると助かります。
使用環境は以下の通りです:
バージョン: 2.7.0beta7
OS: Ubuntu 20.04.1 LTS
以下の手順を実行しました:
https://example.dev/u/my-dev-user/invited.json に GET リクエストを送信
/invites.json について触れていましたが、こちらでは常に 404 が返り、存在しないようです。ユーザーを削除した後に以下のレスポンスを受け取りました。ユーザーを削除したため、保留中・利用済み・期限切れがすべて 0 になるのは期待通りの結果です:
{
"invites": [],
"can_see_invite_details": true,
"counts": {
"pending": 0,
"expired": 0,
"redeemed": 0,
"total": 0
}
}
可能です。上記で削除した同じメールアドレスを、問題なく再度招待しました。
すみません、エンドポイントを指定すべきでした。Discourse API Docs
私が行った手順は以下の通りです:
あ、追伸です。ご説明いただいた通り、招待機能は管理インターフェースからは正常に動作しますが、私が使用している POST エンドポイントからは動作しません。
おお、わかりました、これで明確になりましたね。はい、この問題は現在再現可能です。
API を介して POST リクエストを送信することで、新規のメールアドレスに対して通常の招待を送信できます。
期待通りに以下のレスポンスが返されます:
リクエスト: https://example.dev/invites.json?email=example%2Bsomething@hey.com
実際のレスポンス
{
"id": 7,
"invite_key": "inviteKEY",
"link": "https://example.dev/invites/inviteKEY",
"email": "example+something@hey.com",
"emailed": true,
"custom_message": null,
"created_at": "2021-04-26T23:57:08.602Z",
"updated_at": "2021-04-26T23:57:08.602Z",
"expires_at": "2021-05-26T23:57:08.594Z",
"expired": false,
"topics": [],
"groups": []
}
リクエスト: https://example.dev/invites.json?email=example%2Bsomething@hey.com
期待されるレスポンス
{
"id": 8,
"invite_key": "newinviteKEY",
"link": "https://example.dev/invites/newinviteKEY",
"email": "example+something@hey.com",
"emailed": true,
"custom_message": null,
"created_at": "2021-04-26T23:59:08.602Z",
"updated_at": "2021-04-26T23:59:08.602Z",
"expires_at": "2021-05-26T23:59:08.594Z",
"expired": false,
"topics": [],
"groups": []
}
実際のレスポンス
{
"failed": "FAILED"
}
ああ、良かった、私だけじゃなかったんですね
私はこれに初めて触れるのですが、これは今すぐバグとして報告されるべきでしょうか、それとも GitHub などの別の場所に投稿するべきでしょうか?
これでレポートとして問題ないはずです!二人で協力すれば、バグレポートの基準をほぼ満たせていると思います。
そして、解説や回避策、あるいは修正方法を提供できる誰かが、どうすればよいかを教えてくれることを願っています。
@hcw-rohan @weallwegot このバグは #12927 で修正されました。
こんにちは、
バグ修正が元に戻されたか、もう機能しなくなったのかもしれません。本日、このバグに遭遇しました。以下の手順で問題を特定しました。
これが参考になれば幸いです。
こんにちは、Greg さん。
バグの再現を試みましたが、私の環境では削除されたユーザーを再度招待することはできました。メール招待とリンク招待の両方で試しました。
招待ページにアクセスした際に、ログインしていないことを確認されましたか?このメッセージを表示するコードパスは一つだけあり、明らかな問題は見当たりません。