Merge pull request #1076 from basecamp/cache-busted
Fix some issues with stale data due to caching
This commit is contained in:
@@ -16,7 +16,8 @@ class CardsController < ApplicationController
|
||||
@doing = page_and_filter_for @filter.with(engagement_status: "doing"), per_page: PAGE_SIZE
|
||||
@closed = page_and_filter_for_closed_cards
|
||||
|
||||
fresh_when etag: [ @considering, @on_deck, @doing, @closed ].collect { it.page.records }
|
||||
@cache_key = [ @considering, @on_deck, @doing, @closed ].collect { it.page.records }.including([ Workflow.all ])
|
||||
fresh_when etag: @cache_key
|
||||
end
|
||||
|
||||
def create
|
||||
|
||||
@@ -13,6 +13,6 @@ module Collection::Workflowing
|
||||
|
||||
private
|
||||
def set_all_cards_to_initial_workflow_stage
|
||||
cards.update_all(stage_id: initial_workflow_stage&.id)
|
||||
cards.update_all(stage_id: initial_workflow_stage&.id, updated_at: Time.current)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -46,7 +46,7 @@ class User::DayTimeline
|
||||
end
|
||||
|
||||
def cache_key
|
||||
ActiveSupport::Cache.expand_cache_key [ user, filter, day.to_date, events ], "day-timeline"
|
||||
ActiveSupport::Cache.expand_cache_key [ user, filter, day.to_date, events, Workflow.all ], "day-timeline"
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@@ -89,7 +89,7 @@ class User::Filtering
|
||||
end
|
||||
|
||||
def cache_key
|
||||
ActiveSupport::Cache.expand_cache_key([ user, filter, expanded? ], "user-filtering")
|
||||
ActiveSupport::Cache.expand_cache_key([ user, filter, expanded?, collections, tags, users, filters ], "user-filtering")
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@@ -41,5 +41,5 @@
|
||||
drop->drag-and-drop#drop
|
||||
dragend->drag-and-drop#dragEnd" } do %>
|
||||
|
||||
<%= render "cards/index/columns", user_filtering: @user_filtering, on_deck: @on_deck, considering: @considering, doing: @doing, closed: @closed %>
|
||||
<%= render "cards/index/columns", user_filtering: @user_filtering, on_deck: @on_deck, considering: @considering, doing: @doing, closed: @closed, cache_key: @cache_key %>
|
||||
<% end %>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<% cache [ on_deck, considering, doing, closed ].collect { it.page.records } do %>
|
||||
<% cache @cache_key do %>
|
||||
<div class="card-columns" data-controller="related-element" data-related-element-highlight-class="cards--related">
|
||||
<% unless user_filtering.only_closed? %>
|
||||
<%= render "cards/index/engagement/on_deck", user_filtering: user_filtering, **on_deck.to_h %>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<% cache day_timeline.events do %>
|
||||
<% cache [ day_timeline.events, Workflow.all ] do %>
|
||||
<% if day_timeline.has_activity? %>
|
||||
<div class="events__columns">
|
||||
<%= render "events/day_timeline/column", event_type: "added", day_timeline: day_timeline %>
|
||||
|
||||
Reference in New Issue
Block a user