Skip to content

Commit

Permalink
Merge pull request #638 from codeforjapan/fix-session-2
Browse files Browse the repository at this point in the history
セッションストアとしてcache_storeを使えるよう`DecidimApp::Application`を修正
  • Loading branch information
ayuki-joto authored Oct 29, 2024
2 parents 5db0489 + ffba8e2 commit c25a0ec
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 1 deletion.
10 changes: 10 additions & 0 deletions config/application.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,15 @@ class Application < Rails::Application
# Application configuration can go into files in config/initializers
# -- all .rb files in that directory are automatically loaded after loading
# the framework and any gems in your application.

# skip `session_store` initializer in Decidim::Core::Engine
config.before_initialize do
Rails.application.initializers.each do |initializer|
if initializer.name == "Expire sessions"
initializer.instance_eval { @options[:group] = :force_skip }
Rails.logger.info "XXX: Skip initializer '#{initializer.name}'"
end
end
end
end
end
3 changes: 2 additions & 1 deletion config/environments/development.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@
if Rails.root.join("tmp/caching-dev.txt").exist?
config.action_controller.perform_caching = true

if ENV["REDIS_CACHE_URL"] # rubocop:disable Style/ConditionalAssignment
if ENV["REDIS_CACHE_URL"]
config.cache_store = :redis_cache_store, { url: ENV.fetch("REDIS_CACHE_URL", nil) }
config.session_store(:cache_store, key: "decidim_session")
else
config.cache_store = :memory_store
end
Expand Down
7 changes: 7 additions & 0 deletions docs/UPGRADE.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,13 @@ Decidim本体のバージョンを更新する際、特に注意が必要な内

https://github.com/codeforjapan/decidim-cfj/pull/455 で追加したもの。ピクセル数の大きい画像に対応するため、max_image_height_or_widthの値を変更している。

* `config/application.rb`

https://github.com/codeforjapan/decidim-cfj/pull/638 で追加したものです。
`config.before_initialize`ブロックで、`Decidim::Core::Engine`内のinitializerのうち`"Expire sessions"`というinitializerをスキップするよう修正しています。
これは`session_store``cookie_store`に強制していたものを無効化するものです。
Decidim v0.28では本体に修正が入っており、アプリ側でsession_storeを指定している場合には自動で無効化されるため、このブロックは不要になります(削除するべきです)。

* `lib/tasks/delete.rake`

`delete:destroy_all`タスク。https://github.com/codeforjapan/decidim-cfj/pull/501 で追加されたものです。
Expand Down

0 comments on commit c25a0ec

Please sign in to comment.