52ab33a3fa
We rarely use Russian-doll caching in views, and when we do, it's typically with a naturally-invalidating key. In the case of the commit partial, though, the author lookup isn't part of the cache key - because we're not going to use the state of the users table - and so a new email address can take up to two weeks to show against the commits list. Limiting this to a day still caches the partial for a healthy amount of time, without as bad a worst case scenario.
41 lines
1.6 KiB
Text
41 lines
1.6 KiB
Text
- if @note_counts
|
|
- note_count = @note_counts.fetch(commit.id, 0)
|
|
- else
|
|
- notes = commit.notes
|
|
- note_count = notes.user.count
|
|
|
|
- cache_key = [project.path_with_namespace, commit.id, current_application_settings, note_count]
|
|
- cache_key.push(commit.status) if commit.status
|
|
|
|
= cache(cache_key, expires_in: 1.day) do
|
|
%li.commit.js-toggle-container{ id: "commit-#{commit.short_id}" }
|
|
= author_avatar(commit, size: 36)
|
|
|
|
.commit-info-block
|
|
.commit-row-title
|
|
%span.item-title
|
|
= link_to_gfm commit.title, namespace_project_commit_path(project.namespace, project, commit.id), class: "commit-row-message"
|
|
%span.commit-row-message.visible-xs-inline
|
|
·
|
|
= commit.short_id
|
|
- if commit.status
|
|
.visible-xs-inline
|
|
= render_commit_status(commit)
|
|
- if commit.description?
|
|
%a.text-expander.hidden-xs.js-toggle-button ...
|
|
|
|
.commit-actions.hidden-xs
|
|
- if commit.status
|
|
= render_commit_status(commit)
|
|
= clipboard_button(clipboard_text: commit.id)
|
|
= link_to commit.short_id, namespace_project_commit_path(project.namespace, project, commit), class: "commit-short-id btn btn-transparent"
|
|
= link_to_browse_code(project, commit)
|
|
|
|
- if commit.description?
|
|
%pre.commit-row-description.js-toggle-content
|
|
= preserve(markdown(escape_once(commit.description), pipeline: :single_line, author: commit.author))
|
|
|
|
.commit-row-info
|
|
= commit_author_link(commit, avatar: false, size: 24)
|
|
authored
|
|
#{time_ago_with_tooltip(commit.committed_date)}
|