From 19e57399ca1345e3661243f820d2404e8abc60df Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Wed, 9 Jan 2019 07:45:46 -0800 Subject: Fix stale project list if creator changes his/her name If the creator updates his/her username, the project list would not be refreshed properly. Add this to the cache key to ensure changes get reflected automatically. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/56136 --- app/helpers/projects_helper.rb | 1 + changelogs/unreleased/sh-add-project-creator-to-cache-key.yml | 5 +++++ spec/helpers/projects_helper_spec.rb | 6 +++++- 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/sh-add-project-creator-to-cache-key.yml diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index e67c327f7f8..85dc875ba65 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -174,6 +174,7 @@ module ProjectsHelper project.route.cache_key, project.cache_key, project.last_activity_date, + project.creator&.cache_key, controller.controller_name, controller.action_name, Gitlab::CurrentSettings.cache_key, diff --git a/changelogs/unreleased/sh-add-project-creator-to-cache-key.yml b/changelogs/unreleased/sh-add-project-creator-to-cache-key.yml new file mode 100644 index 00000000000..6cae30160cb --- /dev/null +++ b/changelogs/unreleased/sh-add-project-creator-to-cache-key.yml @@ -0,0 +1,5 @@ +--- +title: Fix stale project list if creator changes his/her name +merge_request: 24272 +author: +type: fixed diff --git a/spec/helpers/projects_helper_spec.rb b/spec/helpers/projects_helper_spec.rb index 88b5d87f087..a2be3dd5b58 100644 --- a/spec/helpers/projects_helper_spec.rb +++ b/spec/helpers/projects_helper_spec.rb @@ -62,7 +62,7 @@ describe ProjectsHelper do helper.instance_variable_set(:@project, project) end - it "returns a valid cach key" do + it "returns a valid cache key" do expect(helper.send(:readme_cache_key)).to eq("#{project.full_path}-#{project.commit.id}-readme") end @@ -91,6 +91,10 @@ describe ProjectsHelper do expect(helper.project_list_cache_key(project)).to include(project.cache_key) end + it "includes the project creator" do + expect(helper.project_list_cache_key(project)).to include(project.creator.cache_key) + end + it "includes the last activity date" do expect(helper.project_list_cache_key(project)).to include(project.last_activity_date) end -- cgit v1.2.1