-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
定期イベントでメンション付きのコメントをしたときにメール通知とメッセージが不適切になるバグを修正 #8171
base: main
Are you sure you want to change the base?
Conversation
@nakamu-kazu222 |
お疲れ様です! また別の機会にご協力できるよう努めますので、引き続きよろしくお願いいたします。 |
@nakamu-kazu222 |
@naokinaokiboo |
@hagiya0121 |
@naokinaokiboo |
@kyokucho1989 |
@hagiya0121 |
おはようございます。動作確認しました。問題ありません。
ここの箇所の要領で。
|
@kyokucho1989 |
@hagiya0121 同じファイルに記載にするのであれば、特別イベントのテストを追加させてもいいかもしれません。 |
@kyokucho1989 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
問題ありません。Approveします。
@kyokucho1989 |
@komagata |
@okuramasafumi こちらのレビューお願いできればありがたいです〜 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
内容は大丈夫だと思います、テストも書いてあって良い感じです!
ここからは設計の提案になります。PR自体は承認しているので、さらに改善してみたいと思ったら試してみてください。
今回のバグの原因は単純に今回追加された行の書き忘れということだと思いますが、ある意味では書き忘れが許容されるような設計になっているということです。
target_of_comment
メソッドはnil
を返す可能性があります。これを改良してnil
を返す代わりに例外を上げるようなコードを考えます。例えば:
def target_of_comment(commentable_class, commentable)
commentable.target_of_comment
end
module Commentable
def target_of_comment(commentable_class, commentable)
raise "Define it!"
end
end
class RegularEvent
def target_of_comment(commentable_class, commentable)
"定期イベント「#{title}」
end
end
この実装では、共通モジュールであるCommentable
でメソッドが定義されており、そこでは例外が上がります。この例外が出ないようにするにはtarget_of_comment
メソッドを各クラスで定義する必要があります。
これは一例ですが、今回のようなバグが出たときは設計を見直すチャンスと言えるかもしれません。このPRでやらなくても全然いいのですが、設計について考えるヒントになれば幸いです。
@okuramasafumi |
Issue
定期イベントでメンション付きのコメントをした場合、メールと通知のメッセージが不適切 #6365
概要
定期イベントのページでメンション付きのコメントをしたときにメール通知とメッセージが不適切になるバグを修正 しました。
issueに書かれているように
RegularEvent
クラスに対応するメンションメッセージがなかったので追加して対応しました。変更確認方法
bug/fix-event-mention-notification
をローカルに取り込むforeman start -f Procfile.dev
でサーバーを立ち上げhttp://localhost:3000/regular_events/459650222
定期イベント「開発MTG」へのコメントで<ユーザー名>さんからメンションがきました。
という通知が来ていることを確認http://localhost:3000/letter_opener/
[FBC] komagataさんの定期イベント「開発MTG」に<ユーザー名>さんがコメントしました。
というメールが来ていることを確認Screenshot
変更前
通知
メール
変更後
通知
メール