Closed1
mimemagicに対応する2つのオプションを整理
背景
- https://zenn.dev/catnose99/scraps/e4e6042fbbfd60
- mimemagicのCHANGELOG
直近のアクション
- 開発者は何かしらのアクションを取る必要があります。
- オプションは2つあります。
Option1
mimemagicをGemfile.lockを編集して0.3.10に変更して、 bundle install
する。
- pro
- 変更が最小限。
- テストスコープが狭い。
- 短期的に速い対応
- con
- mimemagicに依存し続ける。
- いずれはOption2を行う必要がある。
変更例
diff --git a/Gemfile.lock b/Gemfile.lock
index 1b81d40d2..8312ce612 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -384,7 +384,7 @@ GEM
mime-types (3.3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2020.1104)
- mimemagic (0.3.5)
+ mimemagic (0.3.10)
mini_magick (4.11.0)
mini_mime (1.0.2)
mini_portile2 (2.5.0)
Option2
mimemagicに依存しているRailsのバージョンを上げる。
- pro
- mimemagicに非依存になるのこのissueから開放される。
- 根本解決
- con
- OS側に入っているshared-mime-infoを使うため、特定のファイルのMIME typeの返り値が変わってしまうのでテスト範囲が広がる。
- mimemagic非依存になったミドルウェア(carrierwaveなど)もテストしておく必要がある。
- 5.2.5にはCSRF Tokenのデコード時にエラーになるという問題があるから、CSRF Tokenを使っている場合は上げてはいけないってぐらいまずいと思う。
- https://twitter.com/matsubokkuri/status/1377573181725188096
- 回避策は、5.2.5に上げるときには同時にsessionの値を全部消すとか。
このスクラップは2023/01/25にクローズされました