From b0de512d9c70d38c1d09df6cf2b03471ecc523c7 Mon Sep 17 00:00:00 2001 From: takahashim Date: Mon, 28 Oct 2024 20:03:32 +0900 Subject: [PATCH 1/3] use cache_store for session --- config/environments/development.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/environments/development.rb b/config/environments/development.rb index 3cbfd12b7..765209d1a 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -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 From 52a14e80bccf1763ff67c88c553a2764afd722f7 Mon Sep 17 00:00:00 2001 From: takahashim Date: Tue, 29 Oct 2024 00:06:44 +0900 Subject: [PATCH 2/3] fix: ignore session_store defined in Decidim::Core::Engine --- config/application.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/config/application.rb b/config/application.rb index 4b170cbaf..c4ce0a44a 100644 --- a/config/application.rb +++ b/config/application.rb @@ -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 From ffba8e2326f9253b4d20340387c30110aa311d35 Mon Sep 17 00:00:00 2001 From: takahashim Date: Tue, 29 Oct 2024 00:23:08 +0900 Subject: [PATCH 3/3] update UPGRADE.md --- docs/UPGRADE.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/UPGRADE.md b/docs/UPGRADE.md index 39ed35632..527b142a8 100644 --- a/docs/UPGRADE.md +++ b/docs/UPGRADE.md @@ -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 で追加されたものです。