pinzolo / redmine_persist_wfmt

redmine_persist_wfmt is a plugin for Redmine that persists wiki format.
MIT License
29 stars 13 forks source link

When I add a note to a ticket, I get the following error: #19

Closed TasukuMatsuura closed 3 years ago

TasukuMatsuura commented 4 years ago

When I add a note to a ticket, I get the following error:

I, [2020-04-28T17:29:39.834035 #3385]  INFO -- : Started GET "/issues/1622" for 127.0.0.1 at 2020-04-28 17:29:39 +0900
I, [2020-04-28T17:29:39.834979 #3385]  INFO -- : Processing by IssuesController#show as HTML
I, [2020-04-28T17:29:39.835113 #3385]  INFO -- :   Parameters: {"id"=>"1622"}
I, [2020-04-28T17:29:39.851442 #3385]  INFO -- :   Current user: tasuku.matsuura (id=7)
I, [2020-04-28T17:29:39.943931 #3385]  INFO -- : Completed 500 Internal Server Error in 109ms (ActiveRecord: 70.9ms)
F, [2020-04-28T17:29:39.944702 #3385] FATAL -- :   
F, [2020-04-28T17:29:39.944846 #3385] FATAL -- : NoMethodError (undefined method `wiki_format=' for nil:NilClass):
F, [2020-04-28T17:29:39.944970 #3385] FATAL -- :   
F, [2020-04-28T17:29:39.945073 #3385] FATAL -- : plugins/redmine_persist_wfmt/lib/patches/controller/issues_controller_patch.rb:31:in `block in load_journals_wiki_formats'
plugins/redmine_persist_wfmt/lib/patches/controller/issues_controller_patch.rb:30:in `each'
plugins/redmine_persist_wfmt/lib/patches/controller/issues_controller_patch.rb:30:in `load_journals_wiki_formats'
plugins/redmine_persist_wfmt/lib/patches/controller/issues_controller_patch.rb:18:in `load_wiki_format'
app/controllers/issues_controller.rb:107:in `block (2 levels) in show'
app/controllers/issues_controller.rb:100:in `show'
lib/redmine/sudo_mode.rb:63:in `sudo_mode'
tatsuyaueda commented 4 years ago

当方の環境でも同じ事象が発生しているのですが、有るパターンで再現することがわかったため、記載させて頂きます。

  1. 既存の非プライベートチケットを編集
  2. チケットのプロパティの変更
  3. コメントを記入
  4. プライベートコメントにチェックを入れる

上記の4つの条件が重なると、journalsテーブルに同時に2つのレコードが登録されるようです。

  1. プロパティ変更した分のレコード
  2. プライベートコメントのレコード

このうち、プロパティ変更した分のレコードでnotesカラムがNULLで登録されます。 このときに上記エラーが出ているようです。

時間を見てパッチを作成したいと思います。