操作
バグ #1318
完了popup_notifyイベントの第二引数にPlugin::Twitter::Message以外のMessage Modelを渡すと通知が発生しない
プラグイン名:
libnotify
クラッシュする:
いいえ
説明
popup_notify イベントでは2つ目の引数にDiva::Modelが渡されることがあるが、Messageクラスであるかどうかだけを判定している。
そのため、Kernel.#spawnの最後の引数としてDiva::Modelが渡ることがあり、名前付き引数として解釈されてしまった結果、引数が不足して通知が発生しないなどの予想できない動作に繋がる。
popup_notify イベントがテキストでもModelでも受け付けてしまうのはもう仕方がないので、Diva::Model一般を受け付ける。
再現手順
Plugin.call(:popup_notify, user_model, some_model)
のようなコードを実行する
関連するチケット
toshi_a 初音 さんがほぼ6年前に更新
- 題名 を popup_notifyイベントの第二引数にPlugin::Twitter::Message以外のMessage Modelwo から popup_notifyイベントの第二引数にPlugin::Twitter::Message以外のMessage Modelを渡すと通知が発生しない に変更
toshi_a 初音 さんが5年以上前に更新
- ステータス を 実装待ち から レビュー待ち に変更
- 担当者 を削除 (
toshi_a 初音) - ブランチ を topic/1318-popup-notify-suddenly-death にセット
ちゃんと見るといろいろとlibnotifyプラグインはいろいろと意味不明。
- アイコンの表示・非表示をuserの有無で分岐してる
- userは必須なので、ない場合の処理が要らない
- しかも、通知タイトルの表示・非表示も同じ条件で分岐してる
- アイコンの一時ファイルは、元画像の拡張子を踏襲する割には必ずpngになる
- aaa.pngというjpegファイルー!
操作