Skip to content

Commit 7441956

Browse files
committed
Always display the gravatar for the primary alias
When a user has multiple aliases, previously we always displayed the gravatar used by the email in that message. This is confusing, as we represented the same user with different avatars for different messages. This commit unifies this by always using the avatar for the primary address.
1 parent c2faf78 commit 7441956

7 files changed

Lines changed: 13 additions & 9 deletions

File tree

app/models/alias.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ def gravatar_url(size: 80)
2020
"https://www.gravatar.com/avatar/#{hash}?s=#{size}&d=identicon"
2121
end
2222

23+
def display_gravatar_url(size: 80)
24+
(person&.default_alias || self).gravatar_url(size: size)
25+
end
26+
2327
def contributor
2428
person
2529
end

app/views/people/show.html.slim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
.alias-list
1010
- additional_aliases.each do |al|
1111
.alias-row
12-
= image_tag al.gravatar_url(size: 32), class: "alias-row-avatar", alt: al.name
12+
= image_tag al.display_gravatar_url(size: 32), class: "alias-row-avatar", alt: al.name
1313
.alias-row-details
1414
span.alias-row-name = al.name
1515
span.alias-row-email = al.email

app/views/topics/_avatar_list.slim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
- css_classes << "is-past-contributor" if participant.past_contributor?
1010
- badge_text = participant.contributor_badge ? "#{participant.name} (#{participant.contributor_badge})" : participant.name
1111
= link_to person_path(participant.email), class: "participant-avatar-link" do
12-
= image_tag participant.gravatar_url(size: 32), class: css_classes.join(" "), alt: participant.name, title: badge_text
12+
= image_tag participant.display_gravatar_url(size: 32), class: css_classes.join(" "), alt: participant.name, title: badge_text
1313
- if total_participants > participants.count
1414
span.participants-count +#{total_participants - participants.count}

app/views/topics/_message.html.slim

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
- profile_path = message.sender.person ? person_path(message.sender.email) : nil
2323
- if profile_path
2424
= link_to profile_path, class: "author-avatar-link" do
25-
= image_tag message.sender.gravatar_url(size: 42), class: "message-avatar", alt: message.sender.name
25+
= image_tag message.sender.display_gravatar_url(size: 42), class: "message-avatar", alt: message.sender.name
2626
- else
27-
= image_tag message.sender.gravatar_url(size: 42), class: "message-avatar", alt: message.sender.name
27+
= image_tag message.sender.display_gravatar_url(size: 42), class: "message-avatar", alt: message.sender.name
2828
.author-details
2929
- if profile_path
3030
.author-name = link_to message.sender.name, profile_path, class: "author-name-link"

app/views/topics/_participant_row.html.slim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@
2121
- row_classes << "is-past-contributor" if alias_record.past_contributor?
2222
.participant-row class=row_classes.join(" ") title=tooltip
2323
= link_to person_path(alias_record.email), class: "participant-avatar-link" do
24-
= image_tag alias_record.gravatar_url(size: avatar_size), class: avatar_classes.join(" "), alt: alias_record.name, title: tooltip
24+
= image_tag alias_record.display_gravatar_url(size: avatar_size), class: avatar_classes.join(" "), alt: alias_record.name, title: tooltip
2525
.participant-details
2626
.participant-name = link_to alias_record.name, person_path(alias_record.email), class: "participant-name-link"

app/views/topics/_topics_page.html.slim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
- css_classes << "is-past-contributor" if participant.past_contributor?
2525
- badge_text = participant.contributor_badge ? "#{participant.name} (#{participant.contributor_badge})" : participant.name
2626
= link_to person_path(participant.email), class: "participant-avatar-link" do
27-
= image_tag participant.gravatar_url(size: 32), class: css_classes.join(" "), alt: participant.name, title: badge_text
27+
= image_tag participant.display_gravatar_url(size: 32), class: css_classes.join(" "), alt: participant.name, title: badge_text
2828
- total_participants = topic.messages.select(:sender_id).distinct.count
2929
- if total_participants > participants.count
3030
span.participants-count +#{total_participants - participants.count}

app/views/topics/show.html.slim

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
.outline-avatars
6464
- participants.each do |participant|
6565
= link_to person_path(participant.email), class: "outline-avatar-link" do
66-
= image_tag participant.gravatar_url(size: 24), class: "outline-avatar", alt: participant.name, title: participant.name
66+
= image_tag participant.display_gravatar_url(size: 24), class: "outline-avatar", alt: participant.name, title: participant.name
6767
- if is_reply
6868
span.outline-icon
6969
span.branch-toggle = ""
@@ -80,7 +80,7 @@
8080
.outline-content
8181
.outline-meta
8282
span.outline-number = "##{entry[:message_number]}"
83-
= image_tag msg.sender.gravatar_url(size: 32), class: "outline-avatar", alt: msg.sender.name
83+
= image_tag msg.sender.display_gravatar_url(size: 32), class: "outline-avatar", alt: msg.sender.name
8484
- if is_reply
8585
span.outline-icon
8686
span.outline-author = msg.sender.name
@@ -98,7 +98,7 @@
9898
.outline-content
9999
.outline-meta
100100
span.outline-number = "##{entry[:message_number]}"
101-
= image_tag msg.sender.gravatar_url(size: 32), class: "outline-avatar", alt: msg.sender.name
101+
= image_tag msg.sender.display_gravatar_url(size: 32), class: "outline-avatar", alt: msg.sender.name
102102
- if is_reply
103103
span.outline-icon
104104
span.outline-author = msg.sender.name

0 commit comments

Comments
 (0)