- if @note_counts
  - note_count = @note_counts.fetch(commit.id, 0)
- else
  - notes = commit.notes
  - note_count = notes.user.count

- ci_commit = project.ci_commit(commit.sha)
- cache_key = [project.path_with_namespace, commit.id, note_count]
- cache_key.push(ci_commit.status) if ci_commit

= cache(cache_key) do
  %li.commit.js-toggle-container{ id: "commit-#{commit.short_id}" }
    .commit-row-title
      %strong.str-truncated
        = link_to_gfm commit.title, namespace_project_commit_path(project.namespace, project, commit.id), class: "commit-row-message"
        - if commit.description?
          %a.text-expander.js-toggle-button ...

      .pull-right
        - if ci_commit && ci_commit.show_build_status?
          = render_ci_status(ci_commit)
          &nbsp;
        = clipboard_button(clipboard_text: commit.id)
        = link_to commit.short_id, namespace_project_commit_path(project.namespace, project, commit), class: "commit_short_id"

      .notes_count
        - if note_count > 0
          %span.light
            %i.fa.fa-comments
            = note_count

    - if commit.description?
      .commit-row-description.js-toggle-content
        %pre
          = preserve(markdown(escape_once(commit.description), pipeline: :single_line))

    .commit-row-info
      = commit_author_link(commit, avatar: true, size: 24)
      authored
      .committed_ago
        #{time_ago_with_tooltip(commit.committed_date, skip_js: true)} &nbsp;
      = link_to_browse_code(project, commit)
